public void SaveSubcategory(Subcategory subcategories)
 {
     if (subcategories.SubcategoryId == 0)
     {
         _context.Subcategories.Add(subcategories);
     }
     _context.SaveChanges();
 }
Exemple #2
0
            public void ReaderFile(IProductRepository repository)
            {
                //Сохраняем для остальных методов
                _repo = repository;

                /********ОЧИЩАЕМ КАТЕГОРИИ и ПОДКАТЕГОРИИ********/
                int countcategory = repository.Categories.Count();
                for(int i=0; i < countcategory; i++)
                {
                    var id = repository.Categories.First().CategoryId;
                    DeleteIdSubcategory(id);
                }
                /********ОЧИЩАЕМ КАТЕГОРИИ и ПОДКАТЕГОРИИ********/

                /***********ИНИЦИАЛИЗИРУЕМ из файла КАТЕГОРИИ*************/
                var cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
                                             "Data Source =" + _pathfile +
                                             ";Persist Security Info=False;");
                //Строка запросв
                string query = "SELECT * FROM Category";
                var cmd = new OleDbCommand(query, cn);
                cn.Open();
                OleDbDataReader dr = cmd.ExecuteReader();
                //Считываем первый столбец Категория
                while (dr.Read())
                {
                    //Инициализируем список Subcategory
                    var category = new Category
                                   {Subcatigories = new List<Subcategory>(), 
                                    CategoryName = dr.GetString(1),
                                    Sequence = dr.GetInt32(3)
                                   };
                    repository.SaveCategory(category);
                }
                /***********ИНИЦИАЛИЗИРУЕМ из файла КАТЕГОРИИ*************/

                /***********ИНИЦИАЛИЗИРУЕМ из файла ПОДКАТЕГОРИИ*************/  
                query = "SELECT * FROM Subcategory";
                cmd = new OleDbCommand(query, cn);
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    var subcategory = new Subcategory { SubcategoryName = dr.GetString(2)};
                    string categoryName = dr.GetString(1);
                    var category = repository.Categories
                        .Where(o => o.CategoryName == categoryName)
                        .Select(o => o)
                        .First();
                    category.Subcatigories.Add(subcategory);
                    repository.SaveCategory(category);
                }
                /***********ИНИЦИАЛИЗИРУЕМ из файла ПОДКАТЕГОРИИ*************/


                dr.Close();
                cn.Close();
            }
 public void DeleteSubcategory(Subcategory subcategories)
 {
     _context.Subcategories.Remove(subcategories);
     _context.SaveChanges();
 }