public async Task <IHttpActionResult> Post(SideModel side) { try { if (ModelState.IsValid) { var sideToUpdate = _repo.GetSideById(side.SideId).Result; if (sideToUpdate != null) { sideToUpdate.Description = side.Description; sideToUpdate.CategoryId = side.CategoryId; sideToUpdate.Price = side.Price; sideToUpdate.Active = side.Active; if (_repo.SaveChanges()) { return(Ok(sideToUpdate)); } } else { var mapped = _mapper.Map <Side>(side); _repo.AddSide(mapped); if (await _repo.SaveChangesAsync()) { return(Created("GetSides", mapped)); } } } } catch (Exception ex) { return(BadRequest(ex.Message)); } return(BadRequest()); }