public IHttpActionResult Put([FromUri] int id, [FromBody] SpecificLiquorCreate model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (_service.GetById(id) is null) { return(NotFound()); } if (!_service.IsLiquorInDatabase(model)) { return(InternalServerError(new SystemException("Liquor is not in the database."))); } if (_service.NoChangesWereMade(id, model)) { return(Ok("No changes were made.")); } if (_service.IsSpecificLiquorInDatabase(model)) { return(Conflict()); } if (!_service.Update(id, model)) { return(InternalServerError()); } return(Ok()); }
// helper public bool IsLiquorInDatabase(SpecificLiquorCreate model) { var liquor = ConvertFromStringToLiquor(model.Liquor); if (liquor != null) { return(true); } return(false); }
//-- Update public bool Update(int id, SpecificLiquorCreate updatedSpecificLiquor) { SpecificLiquor specificLiquor = _context.SpecificLiquors.Find(id); specificLiquor.Name = updatedSpecificLiquor.Name; specificLiquor.Liquor = ConvertFromStringToLiquor(updatedSpecificLiquor.Liquor); specificLiquor.Brand = updatedSpecificLiquor.Brand; specificLiquor.CountryOfOrigin = updatedSpecificLiquor.CountryOfOrigin; return(_context.SaveChanges() == 1); }
//-- Create public bool AddSpecificLiquor(SpecificLiquorCreate model) { var entity = new SpecificLiquor { Name = model.Name, Liquor = ConvertFromStringToLiquor(model.Liquor), Brand = model.Brand, CountryOfOrigin = model.CountryOfOrigin }; _context.SpecificLiquors.Add(entity); return(_context.SaveChanges() == 1); }
// helper public bool IsSpecificLiquorInDatabase(SpecificLiquorCreate model) { var liquor = ConvertFromStringToLiquor(model.Liquor); SpecificLiquor query = _context.SpecificLiquors.SingleOrDefault(q => q.Name == model.Name && q.Brand == model.Brand && q.CountryOfOrigin == model.CountryOfOrigin && q.Liquor.Type == liquor.Type && q.Liquor.Subtype == liquor.Subtype); if (query != null) { return(true); } return(false); }
public IHttpActionResult Post(SpecificLiquorCreate model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_service.IsLiquorInDatabase(model)) { return(InternalServerError(new SystemException($"{model.Liquor} does not exist in database"))); } if (_service.IsSpecificLiquorInDatabase(model)) { return(Conflict()); } if (!_service.AddSpecificLiquor(model)) { return(InternalServerError()); } return(Ok()); }
// helper public bool NoChangesWereMade(int id, SpecificLiquorCreate model) { SpecificLiquor liquor = _context.SpecificLiquors.Find(id); return(liquor.Name == model.Name && liquor.Brand == model.Brand && liquor.CountryOfOrigin == model.CountryOfOrigin && ConvertFromLiquorToString(liquor.Liquor) == model.Liquor); }