public async Task <ActionResult <AccountFacilityDTO> > PostAccountFacility(AccountFacilityDTO accountFacilityDTO) { var accountID = await GetAccountID(); var accountFacility = _mapper.Map <AccountFacility>(accountFacilityDTO); accountFacility.AccountId = accountID; _context.AccountFacilities.Add(accountFacility); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) when(AccountFacilityExists(accountID, accountFacility.FacilityId, accountFacility.CopyNumber)) { return(Conflict()); } return(CreatedAtAction( nameof(GetAccountFacility), new { accountID = accountFacility.AccountId, facilityID = accountFacility.FacilityId, copyNumber = accountFacility.CopyNumber }, _mapper.Map <AccountFacilityDTO>(accountFacility))); }
public async Task <IActionResult> PutAccountFacility(int facilityID, int copyNumber, AccountFacilityDTO accountFacilityDTO) { var accountID = await GetAccountID(); var accountFacility = await _context.AccountFacilities.FindAsync(accountID, facilityID, copyNumber); accountFacility.CurrentLevel = accountFacilityDTO.CurrentLevel; accountFacility.WantedLevel = accountFacilityDTO.WantedLevel; _context.Entry(accountFacility).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) when(!AccountFacilityExists(accountID, facilityID, copyNumber)) { return(NotFound()); } return(NoContent()); }