public bool UpdateMenuItem(MenuItemToUpdateDTO menuItemToUpdateDTO) { try { using (var db = new sakilaContext()) { Menu menuToUpdate = db.Menu.Where(m => m.Menuid == menuItemToUpdateDTO.menuid).FirstOrDefault(); menuToUpdate.Description = menuItemToUpdateDTO.description; if (menuItemToUpdateDTO.imageid != null) { menuToUpdate.Imageid = (long)menuItemToUpdateDTO.imageid; } menuToUpdate.Menutype = menuItemToUpdateDTO.menutype; menuToUpdate.Price = menuItemToUpdateDTO.price; menuToUpdate.Title = menuItemToUpdateDTO.title; db.SaveChanges(); return(true); } } catch (Exception ex) { return(false); } }
public ActionResult Put([FromBody] MenuItemToUpdateDTO menuItemToUpdateDTO) { if (menuItemToUpdateDTO == null) { return(BadRequest()); } if (menuItemToUpdateDTO.title == menuItemToUpdateDTO.description) { ModelState.AddModelError("Title", "The title must be different than the description"); } if (menuItemToUpdateDTO.price == 0) { ModelState.AddModelError("Price", "The price is required"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_menuRepository.MenuItemExists(menuItemToUpdateDTO.menuid)) { return(NotFound()); } if (_menuRepository.UpdateMenuItem(menuItemToUpdateDTO)) { return(NoContent()); } else { return(BadRequest()); } }