/// <summary> /// Create a dish by giving a new dish instance. /// </summary> /// <param name="newDish"> the new dish to be saved.</param> /// <returns>returns the current dish or null.</returns> public Dish CreateADish(Dish newDish) { var result = _dishes.Collection.Insert(newDish); if (result.Ok) return newDish; return null; }
public void CreateDishTest() { var dish = new Dish() { Availability = DateTime.Now, Description = "lalal", Dishtype = new DishType(){ Name = "entry" }, Food = "lala", Name = "PASTY", Picture = "test.png", Price = 1.0, Seller = new NestedUser() }; dishMock.Setup(action => action.CreateADish(dish)).Returns(dish); }
public ActionResult New(DishVM newDish) { //Check if the model is valid ( newDish depending on property validations if (ModelState.IsValid) { //Get the current user var currentUser = UserContext.Current.CurrentUser; var user = UserSvc.GetUserById(currentUser.id); var dishType = DishTypeSvc.GetDishTypeById(newDish.SelectedDishType); //Create a new dish object instance. var dish = new Dish() { Availability = DateTime.Now.AddMonths(1), Description = newDish.Description, Dishtype = dishType, Food = newDish.Food, Name = newDish.Name, Price = newDish.Price, Seller = new NestedUser() { _id = user._id, Email = user.Email, Username = user.Username } }; //Add the creation to the database var createdDish = DishSvc.CreateADish(dish); //Check for picture file var filename = ImageSvc.SaveImage(newDish.Picture, createdDish._id.ToString(), Server.MapPath(ConfigurationManager.AppSettings["dishdirpicture"])); createdDish.Picture = filename; //Update the above dish with generated picture filename. DishSvc.UpdateDish(createdDish); // notification. UserContext.Current.Notify = " Dish Added !"; UserContext.Current.NotifyType = notificationType.success.Value(); return RedirectToAction("Index", "Account"); } return View(newDish); }
public ActionResult Edit(EditDishVM editDishViewModel) { try { var currentUser = UserContext.Current.CurrentUser; var currentDish = DishSvc.GetDishById(editDishViewModel.id); var dishType = DishTypeSvc.GetDishTypeById(editDishViewModel.SelectedDishType); var user = UserSvc.GetUserById(currentUser.id); var editedDish = new Dish() { _id = currentDish._id, Availability = editDishViewModel.Availability, Description = editDishViewModel.Description, Dishtype = dishType, Food = editDishViewModel.Food, Name = editDishViewModel.Name, Price = editDishViewModel.Price, Seller = new NestedUser() { _id = user._id, Email = user.Email, Username = user.Username }, Picture = currentDish.Picture }; var filename = ImageSvc.UpdateImage(editDishViewModel.Picture, currentDish._id.ToString(), Server.MapPath(ConfigurationManager.AppSettings["dishdirpicture"]), currentDish.Picture); if(filename != null) editedDish.Picture = filename; DishSvc.UpdateDish(editedDish); // TODO: Add update logic here return RedirectToAction("Index", "Account"); } catch { return RedirectToAction("Index", "Account"); } }