예제 #1
0
        public static bool DataTableDeserialize(string fileName, out DataTable dt, bool isEncrypt = false)
        {
            bool result = false;

            dt = null;
            try
            {
                string filePath = LkCommonUtil.GetFilePath(Path.Combine(DefaultDirectory, fileName));
                if (File.Exists(filePath))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
                    string        data       = File.ReadAllText(filePath);
                    string        temp       = string.Empty;
                    if (isEncrypt && LkEncryptDecrypt.Decrypt(data, out temp))
                    {
                        data = temp;
                    }
                    StringReader dataSr = new StringReader(data);
                    XmlReader    reader = XmlReader.Create(dataSr);
                    dt     = serializer.Deserialize(reader) as DataTable;
                    result = true;
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
예제 #2
0
        public static bool ObjectDeserialize(string fileName, out object obj, bool isEncrypt = false)
        {
            bool result = false;

            obj = null;
            try
            {
                string filePath = LkCommonUtil.GetFilePath(Path.Combine(DefaultDirectory, fileName));
                if (File.Exists(filePath))
                {
                    Polenter.Serialization.SharpSerializer serializer = new Polenter.Serialization.SharpSerializer();

                    if (isEncrypt)
                    {
                        string temp = string.Empty;
                        if (LkEncryptDecrypt.Decrypt(File.ReadAllText(filePath), out temp))
                        {
                            File.WriteAllText(filePath + ".temp", temp);
                            obj = serializer.Deserialize(filePath + ".temp");
                            File.Delete(filePath + ".temp");
                            result = true;
                        }
                    }
                    else
                    {
                        obj    = serializer.Deserialize(filePath);
                        result = true;
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }