public async Task InsertDishedIntoDb() { var dishDb = await _dishesRepository.CheckIfExistsItems(); if (dishDb) { return; } var projectRootPath = _hostingEnvironment.ContentRootPath; var fullFileDirectory = Path.Combine(projectRootPath, StaticDocumentsDirectories.JsonFiles); if (!Directory.Exists(fullFileDirectory)) { throw new ApplicationException(Errors.DirectoryDoesNotExist); } var fullFileName = Path.Combine(fullFileDirectory, "dishes-sample-data.json"); if (!File.Exists(fullFileName)) { throw new ApplicationException(Errors.FileDoesNotExist); } var jsonString = File.ReadAllText(fullFileName); var jsonModel = JsonConvert.DeserializeObject <List <JsonDishes> >(jsonString); foreach (var item in jsonModel) { var dish = new Dishes { Id = item.id, Name = item.name, ParentId = item.parentId }; dish.UpdatedOn = dish.UpdatedOn = DateTime.Parse((item.updatedOn).ToString()); await _dishesRepository.Create(dish); foreach (var item2 in item.ingredients) { var ingredient = new DishIngredient { DishesId = dish.Id, Amount = item2.amount, IngredientId = item2.ingredientId }; await _dishesIngredientsRepository.Create(ingredient); } await _dishesRepository.Save(); } }
public async Task <CreateNewDish> AddNewDish(CreateNewDish dish) { var newDish = new Dishes(); newDish.Id = dish.Id; newDish.Name = dish.Name; newDish.ParentId = dish.ParentId; newDish.UpdatedOn = dish.UpdatedOn; newDish.Ingredients = new List <DishIngredient>(); foreach (var item in dish.Ingredients) { var ingredients = new DishIngredient() { IngredientId = item.IngredientId, Amount = item.Amount }; newDish.Ingredients.Add(ingredients); } await _dishRepository.Create(newDish); await _dishRepository.Save(); return(dish); }