コード例 #1
0
ファイル: Fileline.cs プロジェクト: Gabsamolis/Item-Import
        // Parse results
        public static void ParseResults(IExcelDataReader excelReader, ref List<Fileline> list, ref List<int> index)
        {
            // Return list
            var list_ = new List<Fileline>();
            var index_ = new List<int>();
            excelReader.IsFirstRowAsColumnNames = true;
            DataSet result = excelReader.AsDataSet();
            if (result.Tables.Count > 0)
            {
                var dt = result.Tables[0];

                int j = 0;
                int i = 0;
                foreach (DataRow r in dt.Rows)
                {
                    var line = new Fileline();
                    if (r[0] == DBNull.Value || r[1] == DBNull.Value)
                    {
                        index_.Add(j + 1);
                    }
                    else
                    {
                        ParseProperties(line, r, index_, i, j, ref index_);



                        ////################################################################//
                        //XmlSerializer SerializerObj = new XmlSerializer(typeof(Fileline));
                        //TextWriter WriteFileStream = new StreamWriter(@"C:\Test\test.xml");
                        //SerializerObj.Serialize(WriteFileStream, line);
                        ////################################################################//

                        list_.Add(line);
                    }
                    j++;

                }
                i = 0;
            }

            // Return list            
            list = list_;
            index = index_;
        }
コード例 #2
0
ファイル: Fileline.cs プロジェクト: Gabsamolis/Item-Import
        // Parse object properties and set values
        public static Fileline ParseProperties(Fileline line, DataRow r, List<int> index, int i, int j, ref List<int> index_)
        {
            foreach (PropertyInfo prop in line.GetType().GetProperties())
            {

                // Check if Code or Description are empty
                if (r[0] == DBNull.Value || r[1] == DBNull.Value)
                {
                    index.Add(j + 1);
                }
                if (r[i] != DBNull.Value)
                {
                    string t = prop.PropertyType.ToString();
                    if (t == "System.String")
                    {
                        prop.SetValue(line, r[i].ToString());
                    }
                    else
                    {
                        decimal temp = Convert.ToDecimal(r[i]);
                        prop.SetValue(line, temp);
                    }
                }
                i++;
            }
            return line;
        }