Example #1
0
 public void TestInitialize()
 {
     dataFiller = new RandomDataFiller()
     {
         NumberOfBooks       = 1000,
         NumberOfBookStates  = 1000,
         NumberOfBookReaders = 1000,
         NumberOfEvents      = 1000
     };
     context = new DataContext();
     dataFiller.Fill(ref context);
     fileName      = "ourSerializer_data.txt";
     ourSerializer = new OurSerializer()
     {
         FileName = fileName
     };
 }
Example #2
0
        protected object GetEntity(IDataReader reader, Type t)
        {
            object obj = Activator.CreateInstance(t);
            //object obj = new t();
            StringDictionary columnsNames = new StringDictionary();
            DataTable        dt           = reader.GetSchemaTable();
            //---------------------------------
            string columnname;

            for (int i = 0; i < reader.FieldCount; i++)
            {
                columnname = reader.GetName(i);
                if (!columnsNames.ContainsKey(columnname))
                {
                    columnsNames.Add(columnname, null);
                    PropertyInfo myPropInfo;
                    myPropInfo = t.GetProperty(columnname);
                    if (reader[columnname] != DBNull.Value && myPropInfo != null)
                    {
                        //myPropInfo.SetValue(obj, Convert.ChangeType(reader[columnname], myPropInfo.PropertyType), null);

                        if (myPropInfo.PropertyType.BaseType == typeof(System.Enum))
                        {
                            //int intVal = Convert.ToInt32(attr.Value);
                            myPropInfo.SetValue(obj, Enum.Parse(myPropInfo.PropertyType, reader[columnname].ToString()), null);
                            //Enum.Parse(typeof(myPropInfo.), "FirstName");
                        }
                        else if (columnname.ToLower() == "extradata")
                        {
                            string buf = (string)reader[columnname];
                            myPropInfo.SetValue(obj, Convert.ChangeType(OurSerializer.Deserialize(buf), myPropInfo.PropertyType), null);
                        }

                        else
                        {
                            myPropInfo.SetValue(obj, Convert.ChangeType(reader[columnname], myPropInfo.PropertyType), null);
                        }
                    }
                }
            }

            //---------------------------------
            return(obj);
        }