Esempio n. 1
0
        public void UpdateDish(int restaurantId, int dishId, IDish dish)
        {
            RestaurantEntity restaurantEntity = _dbContext
                                                .Restaurants
                                                .Include(r => r.Dishes)
                                                .FirstOrDefault(r => r.Id == restaurantId);

            if (restaurantEntity is null)
            {
                throw new NotFoundException("Restaurant not found.");
            }

            DishEntity dishEntity = restaurantEntity
                                    .Dishes
                                    .FirstOrDefault(d => d.Id == dishId);

            if (dishEntity is null)
            {
                throw new NotFoundException("Dish not found.");
            }

            dishEntity = _mapper.Map(dish, dishEntity);
            _dbContext.Dishes.Update(dishEntity);
            _dbContext.SaveChanges();
        }
        public ControllerMessage Update(DishEditDTO dishEditDTO)
        {
            string message = String.Empty;
            bool   success = Validate(dishEditDTO, ref message);

            if (success)
            {
                try
                {
                    DishEntity dishEntity = unitOfWork.Dishes.Get(dishEditDTO.OldName);
                    dishEntity.Name  = dishEditDTO.NewName;
                    dishEntity.Price = dishEditDTO.Price;

                    unitOfWork.Commit();

                    message = "Dish changed";
                }
                catch (Exception ex)
                {
                    success = false;
                    message = ExceptionMessageBuilder.BuildMessage(ex);
                }
            }

            return(new ControllerMessage(success, message));
        }
        public ControllerMessage Delete(string dishName)
        {
            string message = String.Empty;
            bool   success = true;

            try
            {
                DishEntity dishEntity = unitOfWork.Dishes.Get(dishName);
                if (dishEntity != null)
                {
                    unitOfWork.Dishes.Remove(dishEntity);
                    unitOfWork.Commit();

                    message = "Dish deleted";
                }
                else
                {
                    success = false;
                    message = "Dish not found";
                }
            }
            catch (Exception ex)
            {
                success = false;
                message = ExceptionMessageBuilder.BuildMessage(ex);
            }

            return(new ControllerMessage(success, message));
        }
Esempio n. 4
0
        public void DeleteDish(int id)
        {
            DishEntity dish = db.Dishes.Find(id);

            if (dish != null)
            {
                db.Dishes.Remove(dish);
            }
        }
Esempio n. 5
0
        public void UpdateDish(DishEntity dish)
        {
            DishEntity oldDish = db.Dishes.Where(item => item.ID == dish.ID).FirstOrDefault();

            oldDish.CookingTime   = dish.CookingTime;
            oldDish.Cuisine       = dish.Cuisine;
            oldDish.Name          = dish.Name;
            oldDish.WeightInGrams = dish.WeightInGrams;
        }
        public ControllerMessage UpdateRecipes(DishEditDTO dishEditDTO)
        {
            string message = String.Empty;
            bool   success = Validate(dishEditDTO, ref message);

            if (success)
            {
                try
                {
                    DishEntity dishEntity = unitOfWork.Dishes.Get(dishEditDTO.OldName);

                    IEnumerable <string> added = dishEditDTO.Recipes
                                                 .Select(recipe => recipe.Name)
                                                 .Where(recipeName => !dishEntity.Recipes.Select(recipe => recipe.Name).Contains(recipeName));
                    IEnumerable <string> deleted = dishEntity.Recipes
                                                   .Select(recipe => recipe.Name)
                                                   .Where(recipeName => !dishEditDTO.Recipes.Select(recipe => recipe.Name).Contains(recipeName))
                                                   .ToList();

                    foreach (DishRecipeEditDTO recipe in dishEditDTO.Recipes.Where(recipe => added.Contains(recipe.Name)))
                    {
                        if (!unitOfWork.Recipes.Exists(recipe.Name))
                        {
                            RecipeEntity recipeEntity = new RecipeEntity
                            {
                                Name              = recipe.Name,
                                Description       = recipe.Description,
                                Dish              = dishEntity,
                                RecipeIngredients = recipe.Ingredients.Select(ingredient => new RecipeIngredientEntity
                                {
                                    Portion    = ingredient.Portion,
                                    Ingredient = unitOfWork.Ingredients.Get(ingredient.Ingredient)
                                })
                                                    .ToList()
                            };
                            unitOfWork.Recipes.Add(recipeEntity);
                        }
                    }
                    foreach (string recipeName in deleted)
                    {
                        RecipeEntity recipeEntity = dishEntity.Recipes.Single(recipe => recipe.Name == recipeName);
                        unitOfWork.Recipes.Remove(recipeEntity);
                    }

                    unitOfWork.Commit();

                    message = "Dish's recipes changed";
                }
                catch (Exception ex)
                {
                    success = false;
                    message = ExceptionMessageBuilder.BuildMessage(ex);
                }
            }

            return(new ControllerMessage(success, message));
        }
Esempio n. 7
0
File: Dish.cs Progetto: nklinh/ASE
 public Dish(DishEntity ObjEntity)
 {
     Init();
     Fields = ObjEntity;
     if (Fields.ID != null && Fields.ID != default(Guid))
     {
         IsNew = false;
     }
     InitBaseFields();
 }
Esempio n. 8
0
        public ControllerMessage Add(RecipeAddDTO recipeAddDTO)
        {
            string message = String.Empty;
            bool   success = Validate(recipeAddDTO, ref message);

            if (success)
            {
                try
                {
                    DishEntity dish = unitOfWork.Dishes.Get(recipeAddDTO.DishName);
                    if (dish != null)
                    {
                        RecipeEntity recipeEntity = new RecipeEntity
                        {
                            Name              = recipeAddDTO.Name,
                            Description       = recipeAddDTO.Description,
                            Dish              = dish,
                            RecipeIngredients = new List <RecipeIngredientEntity>()
                        };

                        foreach (IngredientPortion ingredientPortion in recipeAddDTO.Ingredients)
                        {
                            IngredientEntity ingredientEntity = unitOfWork.Ingredients.Get(ingredientPortion.Ingredient);
                            if (ingredientEntity != null)
                            {
                                recipeEntity.RecipeIngredients.Add(new RecipeIngredientEntity
                                {
                                    Ingredient = ingredientEntity,
                                    Recipe     = recipeEntity,
                                    Portion    = ingredientPortion.Portion
                                });
                            }
                        }

                        unitOfWork.Recipes.Add(recipeEntity);
                        unitOfWork.Commit();

                        message = "Recipe added";
                    }
                    else
                    {
                        success = false;
                        message = "Dish not found";
                    }
                }
                catch (Exception ex)
                {
                    success = false;
                    message = ExceptionMessageBuilder.BuildMessage(ex);
                }
            }

            return(new ControllerMessage(success, message));
        }
Esempio n. 9
0
File: Dish.cs Progetto: nklinh/ASE
 private void InitBaseFields()
 {
     if (Fields == null)
     {
         Fields = new DishEntity();
     }
     if (Fields.ID == null)
     {
         Fields.ID = Guid.NewGuid();
     }
 }
Esempio n. 10
0
        public void SaveDishes(IList <DishEntity> dishesToSave)
        {
            if (dishesToSave == null || !dishesToSave.Any())
            {
                return;
            }

            var sqlParam = DishEntity.BindDishTable("@dishes", dishesToSave);

            dbContext.ExecuteNonQuery("SaveDishes", Timeout, sqlParam);
        }
Esempio n. 11
0
        public DataControllerMessage <DishEditDTO> Get(string dishName)
        {
            string      message = String.Empty;
            bool        success = true;
            DishEditDTO data    = null;

            try
            {
                DishEntity dishEntity = unitOfWork.Dishes.Get(dishName);
                if (dishEntity != null)
                {
                    data = new DishEditDTO
                    {
                        NewName      = dishEntity.Name,
                        OldName      = dishEntity.Name,
                        Price        = dishEntity.Price,
                        CategoryName = dishEntity.Category.Name
                    };

                    foreach (RecipeEntity recipeEntity in dishEntity.Recipes)
                    {
                        DishRecipeEditDTO dishRecipe = new DishRecipeEditDTO
                        {
                            Name        = recipeEntity.Name,
                            Description = recipeEntity.Description
                        };

                        var ingredients = recipeEntity.RecipeIngredients.Select(ri => new IngredientPortion
                        {
                            Ingredient = ri.Ingredient.Name,
                            Portion    = ri.Portion
                        })
                                          .OrderBy(ingredient => ingredient.Ingredient);
                        dishRecipe.Ingredients.AddRange(ingredients);

                        data.Recipes.Add(dishRecipe);
                    }
                }
                else
                {
                    success = false;
                    message = "Dish not found";
                }
            }
            catch (Exception ex)
            {
                success = false;
                message = ExceptionMessageBuilder.BuildMessage(ex);
            }

            return(new DataControllerMessage <DishEditDTO>(success, message, data));
        }
Esempio n. 12
0
        private static void FillDishEntityObject(DishEntity Fields, DataRow row)
        {
            //Base
            Fields.ID = (row["ID"] != DBNull.Value) ? (Guid?)row["ID"] : null;

            //DishEntity
            Fields.StallID     = (Guid)row["StallId"];
            Fields.Name        = row["Name"].ToString();
            Fields.Description = row["Description"].ToString();
            Fields.Photo       = null;
            Fields.Price       = float.Parse(row["Price"].ToString());
            Fields.OutOfOrder  = (bool)row["OutOfOrder"];
        }
        public async Task <SuccessResponseModel> AddAsync(AdminAddDishModel model)
        {
            DishEntity dish = _mapper.Map <DishEntity>(model);

            await _context.Dishes.AddAsync(dish);

            await _context.SaveChangesAsync();

            await AddAdditionals(dish.Id, dish.Additionals, model.Additionals);

            return(new SuccessResponseModel {
                Id = dish.Id
            });
        }
Esempio n. 14
0
        internal static List <DishEntity> MapDishAsListOfEntities(DataSet dsFields)
        {
            List <DishEntity> lst = new List <DishEntity>();
            DishEntity        entityObject;

            foreach (DataRow row in dsFields.Tables[0].Rows)
            {
                entityObject = new DishEntity();
                FillDishEntityObject(entityObject, row);
                lst.Add(entityObject);
            }

            return(lst);
        }
Esempio n. 15
0
        public async Task <Dish> AddOrUpdateDish(
            [HttpTrigger(AuthorizationLevel.Anonymous, "put", "post", Route = "dishes")] HttpRequest req,
            [Table("Potluck")] CloudTable cloudTable,
            ILogger log)
        {
            string     requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var        data        = JsonConvert.DeserializeObject <Dish>(requestBody);
            DishEntity dish        = new DishEntity(data.User, data.DishType);

            dish.DishName = data.DishName;

            TableOperation addOrUpdateOperation = TableOperation.InsertOrReplace(dish);
            await cloudTable.ExecuteAsync(addOrUpdateOperation);

            return(data);
        }
Esempio n. 16
0
        public async Task DeleteDish(
            [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = "dishes")] HttpRequest req,
            [Table("Potluck")] CloudTable cloudTable,
            ILogger log)
        {
            string     requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var        data        = JsonConvert.DeserializeObject <Dish>(requestBody);
            DishEntity dish        = new DishEntity(data.User, data.DishType);

            dish.DishName = data.DishName;
            dish.ETag     = "*";

            TableOperation deleteOperation = TableOperation.Delete(dish);
            await cloudTable.ExecuteAsync(deleteOperation);

            return;
        }
Esempio n. 17
0
 public static DishModel CreateFromEntity(DishEntity d)
 {
     if (d == null)
     {
         return null;
     }
     return new DishModel
     {
         DishId = d.DishId,
         DishName = d.DishName,
         Description = d.Description,
         Ingredients = d.Ingredients,
         Price = d.Price,
         ThumbNailPictureKey = d.ThumbNailPictureKey,
         ProviderId = d.ProviderId,
         Type = d.DishType.ToString(),
         WaitingTimeInMins = d.WaitingTimeInMins,
         Available = d.Available
     };
 }
Esempio n. 18
0
 public static DishModel CreateFromEntity(DishEntity d)
 {
     if (d == null)
     {
         return(null);
     }
     return(new DishModel
     {
         DishId = d.DishId,
         DishName = d.DishName,
         Description = d.Description,
         Ingredients = d.Ingredients,
         Price = d.Price,
         ThumbNailPictureKey = d.ThumbNailPictureKey,
         ProviderId = d.ProviderId,
         Type = d.DishType.ToString(),
         WaitingTimeInMins = d.WaitingTimeInMins,
         Available = d.Available
     });
 }
Esempio n. 19
0
        public ControllerMessage Add(DishAddDTO dishAddDTO)
        {
            string message = String.Empty;
            bool   success = Validate(dishAddDTO, ref message);

            if (success)
            {
                try
                {
                    CategoryEntity category = unitOfWork.Categories.Get(dishAddDTO.CategoryName);
                    if (category != null)
                    {
                        DishEntity dishEntity = new DishEntity
                        {
                            Name     = dishAddDTO.Name,
                            Price    = dishAddDTO.Price,
                            Category = category
                        };

                        unitOfWork.Dishes.Add(dishEntity);
                        unitOfWork.Commit();

                        message = "Dish added";
                    }
                    else
                    {
                        success = false;
                        message = "Category not found";
                    }
                }
                catch (Exception ex)
                {
                    success = false;
                    message = ExceptionMessageBuilder.BuildMessage(ex);
                }
            }

            return(new ControllerMessage(success, message));
        }
Esempio n. 20
0
        public IDish GetDishById(int restaurantId, int dishId)
        {
            RestaurantEntity restaurantEntity = _dbContext
                                                .Restaurants
                                                .Include(r => r.Dishes)
                                                .FirstOrDefault(r => r.Id == restaurantId);

            if (restaurantEntity is null)
            {
                throw new NotFoundException("Restaurant not found.");
            }

            DishEntity dishEntity = restaurantEntity
                                    .Dishes
                                    .FirstOrDefault(d => d.Id == dishId);

            if (dishEntity is null)
            {
                throw new NotFoundException("Dish not found.");
            }

            return(_mapper.Map <IDish>(dishEntity));
        }
Esempio n. 21
0
        public ControllerMessage UpdateMenu(MenuDTO menu)
        {
            string message = String.Empty;
            bool   success = true;

            try
            {
                foreach (CategoryMenuDTO categoryDTO in menu.Categories.Where(category => category.OldName != category.NewName))
                {
                    CategoryEntity categoryEntity = unitOfWork.Categories.Get(categoryDTO.OldName);
                    if (categoryEntity != null)
                    {
                        categoryEntity.Name = categoryDTO.NewName;
                    }
                }
                foreach (DishMenuDTO dishDTO in menu.Categories.SelectMany(category => category.Dishes))
                {
                    DishEntity dishEntity = unitOfWork.Dishes.Get(dishDTO.OldName);
                    if (dishEntity != null)
                    {
                        dishEntity.Name  = dishDTO.NewName;
                        dishEntity.Price = dishDTO.Price;
                    }
                }

                unitOfWork.Commit();
                message = "Saved changes";
            }
            catch (Exception ex)
            {
                success = false;
                message = ExceptionMessageBuilder.BuildMessage(ex);
            }

            return(new ControllerMessage(success, message));
        }
Esempio n. 22
0
 public void AddDish(DishEntity dish)
 {
     db.Dishes.Add(dish);
 }
Esempio n. 23
0
        public void DeleteDish(DishEntity dish)
        {
            DishEntity x = db.Dishes.Where(item => item.ID == dish.ID).FirstOrDefault();

            db.Dishes.Remove(x);
        }
Esempio n. 24
0
 public static Dish ToDto(this DishEntity dish) => new()
 public void CreateDish(DishEntity newDish)
 {
     dbContext.Entry(newDish.Restaurant).State = EntityState.Unchanged;
     dbContext.Dishes.Add(newDish);
 }
 public bool UpdateDish(DishEntity dish)
 {
     dbContext.Entry(dish.Restaurant).State = EntityState.Unchanged;
     dbContext.Dishes.Update(dish);
     return(true);
 }