public async Task <IActionResult> Update(int id, [FromBody] OfficeItemRequest request) { if (!ModelState.IsValid) { BadRequest(ModelState); } try { await _officesRepository.Update(id, request); return(NoContent()); } catch (InvalidOfficeException) { return(NotFound()); } }
public async Task <IActionResult> Create([FromBody] OfficeItemRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var itemId = await _officesRepository.Create(request); return(CreatedAtAction(nameof(GetById), new { id = itemId }, itemId)); } catch (DuplicateOfficeException) { return(StatusCode(StatusCodes.Status409Conflict, new { Message = "An office with those details already exists." })); } }
public async Task Update(int id, OfficeItemRequest request) { var item = await _dbContext.Offices. FirstOrDefaultAsync(x => x.Id == id); if (item == null) { throw new InvalidOfficeException(); } item.Country = request.Country; item.City = request.City; item.Address = request.Address; item.Lat = request.Lat; item.Lng = request.Lng; await _dbContext.SaveChangesAsync(); }
public async Task <int> Create(OfficeItemRequest request) { var newItem = new Office { Country = request.Country, City = request.City, Address = request.Address, Lat = request.Lat, Lng = request.Lng, }; if (await OfficeExists(newItem)) { throw new DuplicateOfficeException(); } _dbContext.Offices.Add(newItem); await _dbContext.SaveChangesAsync(); return(newItem.Id); }