public async Task <IActionResult> PutHousehold(long id, HouseholdDTO householdDto) { if (id != householdDto.Id) { return(BadRequest()); } var household = await _context.Household.FindAsync(id); if (household == null) { return(NotFound()); } household.UserId = householdDto.UserId; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) when(!HouseholdExists(id)) { return(NotFound()); } return(NoContent()); }
public async Task <ActionResult <HouseholdDTO> > PostHousehold(HouseholdDTO householdDto) { var household = new Household { UserId = householdDto.UserId, }; _context.Household.Add(household); await _context.SaveChangesAsync(); return(CreatedAtAction( nameof(GetHousehold), new { id = household.Id }, ItemToDTO(household))); }
public async Task <ActionResult <HouseholdDTO[]> > PostHousehold([FromRoute] string email, HouseholdDTO household) { var storedUser = await _userRepositary.FindByEmail(email); if (storedUser == null) { return(NotFound()); } if (!await UserCanAccessProfile(storedUser)) { return(Forbid()); } var result = await _householdRepositary.Create(storedUser, _mapper.Map <Household>(household)); return(Created($"/users/{email}/households/{result.Id}", result)); }