SoFunction
Updated on 2025-03-07

Implementation method of C# application XML as a rapid development framework for database

using System;
using ;
using ;
using ;
using ;
namespace
{
    public class XmlSerializerBll<T>
    {
        private static XmlSerializerBll<T> instance;
        private string dbFile;
        public string Dbfile
        {
            get { return dbFile; }
            set
            {
                if (!(value) && !(dbFile))
                {
                    ();
                }
                dbFile = value;
                ();
            }
        }
        private List<T> entityList = new List<T>();
        private XmlSerializerBll()
        {
            ();
            ();
        }
        private void SetDbFile()
        {
            string folder = (, "data");
            try
            {
                if ((folder) == false)
                {
                    (folder);
                }
                Type type = typeof(T);
                if (())
                { = (folder, + ".xml"); }
            }
            catch (Exception ex)
            {
                ();
            }
        }
        public static XmlSerializerBll<T> GetInstance()
        {
            if (instance == null)
            {
                instance = new XmlSerializerBll<T>();
            }
            return instance;
        }
        public void Insert(T entity)
        {
            (entity);
            ();
        }
        public void InsertRange(IList<T> list)
        {
            (list);
            ();
        }
        public <T> SelectBy(string name, Object value)
        {
            <T> list = new List<T>();
            if (value == null)
            {
                return list;
            }
            Type t = typeof(T);
            foreach (var inst in )
            {
                foreach (PropertyInfo pro in ())
                {
                    if (() == ())
                    {
                        if (() == ((inst, null) ?? ).ToString())
                        {
                            (inst);
                        }
                    }
                }
            }
            return list;
        }
        public T SelectById(string id)
        {
            Type t = typeof(T);
            foreach (var inst in )
            {
                foreach (PropertyInfo pro in ())
                {
                    if (() == "id")
                    {
                        if (id == ((inst, null) ?? ).ToString())
                        {
                            return inst;
                        }
                    }
                }
            }
            return default(T);
        }
        public void UpdateById(T entity)
        {
            Type t = typeof(T);
            string id = ;
            foreach (PropertyInfo pro in ())
            {
                if (() == "id")
                {
                    id = ((entity, null) ?? ).ToString();
                    break;
                }
            }
            (id);
            (entity);
        }
        public void DeleteById(string id)
        {
            Type t = typeof(T);
            T entity = default(T);
            foreach (var inst in )
            {
                foreach (PropertyInfo pro in ())
                {
                    if (() == "id")
                    {
                        if (((inst, null) ?? ).ToString() == id)
                        {
                            entity = inst;
                            goto FinishLoop;
                        }
                    }
                }
            }
        FinishLoop:
            (entity);
            ();
        }
        public List<T> SelectAll()
        {
            ();
            return ;
        }
        public void DeleteAll()
        {
            ();
            ();
        }
        private void WriteDb()
        {
            XmlSerializer ks = new XmlSerializer(typeof(List<T>));
            FileInfo fi = new FileInfo();
            var dir = ;
            if (!)
            {
                ();
            }
            Stream writer = new FileStream(, , );
            (writer, );
            ();
        }
        private void ReadDb()
        {
            if (())
            {
                XmlSerializer ks = new XmlSerializer(typeof(List<T>));
                Stream reader = new FileStream(, , );
                = (reader) as List<T>;
                ();
            }
            else
            {
                = new List<T>();
            }
        }
    }
}