public ControllerMessage Update(IngredientEditDTO ingredientEditDTO) { string message = String.Empty; bool success = Validate(ingredientEditDTO.NewName, ref message); if (success) { try { IngredientEntity ingredientEntity = unitOfWork.Ingredients.Get(ingredientEditDTO.OldName); if (ingredientEntity != null) { ingredientEntity.Name = ingredientEditDTO.NewName; unitOfWork.Commit(); message = "Ingredient changed"; } else { success = false; message = "Ingredient not found"; } } catch (Exception ex) { success = false; message = ExceptionMessageBuilder.BuildMessage(ex); } } return(new ControllerMessage(success, message)); }
public DataControllerMessage <IngredientEditDTO> Get(string ingredientName) { string message = String.Empty; bool success = true; IngredientEditDTO data = null; try { IngredientEntity ingredientEntity = unitOfWork.Ingredients.Get(ingredientName); if (ingredientEntity != null) { data = new IngredientEditDTO { NewName = ingredientEntity.Name, OldName = ingredientEntity.Name, StocksAvailable = unitOfWork.Stocks.GetAllWithIngredient(ingredientName) .Select(stock => stock.StockNo) .OrderBy(stockNo => stockNo) .ToList() }; } else { success = false; message = "Ingredient not found"; } } catch (Exception ex) { success = false; message = ExceptionMessageBuilder.BuildMessage(ex); } return(new DataControllerMessage <IngredientEditDTO>(success, message, data)); }
private void RaiseIngredientSaveRequestEvent(IngredientEditDTO ingredient) { var handler = IngredientSaveRequest; if (handler != null) { GenericEventArgs <IngredientEditDTO> e = new GenericEventArgs <IngredientEditDTO>(ingredient); handler(this, e); } }
public async Task <ActionResult <IngredientEditDTO> > GetForEdit(int id) { IngredientEditDTO result = await this.ingService.GetIngredientEditDataAsync(id); if (result is null) { return(BadRequest("Recipe was not found!")); } return(result); }
public async Task <ActionResult <int> > Edit(IngredientEditDTO editIng) { if (editIng.AuthorId != UserId && !IsAdmin) { return(BadRequest("Not authorized to edit this ingredient!")); } if (await this.ingService.IsNameUsedAsync(editIng.Name, editIng.Id)) { return(BadRequest("Ingredient Name is already in Use")); } if (!await this.ingService.UpdateAsync(editIng)) { return(BadRequest("Ingredient with given Id was not found!")); } return(editIng.Id); }
private void OnDelete(IngredientEditDTO ingredientEditDTO, IngredientEditViewModel viewModel) { using (IIngredientController controller = factory.CreateIngredientController()) { ControllerMessage controllerMessage = controller.Delete(ingredientEditDTO.OldName); if (controllerMessage.IsSuccess) { Notify(); viewModel.Clear(); } else { MessageBox.Show(controllerMessage.Message); } } }
private void OnSave(IngredientEditDTO ingredientEditDTO) { using (IIngredientController controller = factory.CreateIngredientController()) { ControllerMessage controllerMessage = controller.Update(ingredientEditDTO); if (controllerMessage.IsSuccess) { ingredientEditDTO.OldName = ingredientEditDTO.NewName; Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }
public async Task <bool> UpdateAsync(IngredientEditDTO editIng) { var ingFd = await this.ingRepo.All().FirstOrDefaultAsync(x => x.Id == editIng.Id && !x.IsDeleted); if (ingFd is null) { return(false); } ingFd.Name = editIng.Name; ingFd.IsEssential = editIng.IsEssential; ingFd.MeasureType = editIng.MeasureType; ingFd.Origin = editIng.Origin; ingFd.PicUrl = editIng.PicUrl; ingFd.Description = editIng.Description; ingFd.DateOfLastEdit = DateTime.UtcNow; await this.ingRepo.SaveChangesAsync(); return(true); }
public void ChangeIngredient(string ingredientName) { using (IIngredientController controller = factory.CreateIngredientController()) { DataControllerMessage <IngredientEditDTO> controllerMessage = controller.Get(ingredientName); if (controllerMessage.IsSuccess) { this.ingredient = controllerMessage.Data; this.Stocks.Clear(); foreach (int stockNo in ingredient.StocksAvailable) { this.Stocks.Add(stockNo); } RaisePropertyChangedEvent("Name"); } } }
public void Clear() { this.ingredient = null; this.Stocks.Clear(); RaisePropertyChangedEvent("Name"); }