public void fromUpdateDto(InviteUpdateDto inviteUpdate, IMapper mapper) { LastActive = DateTime.Now; InviteAnswers.SetStatus("H"); InviteAnswers.Add(mapper.Map <InviteAnswer>(inviteUpdate.InviteAnswer)); foreach (var invitee in inviteUpdate.Invitees) { var repoInvitee = Invitees.FirstOrDefault(i => i.Id == invitee.Id); if (repoInvitee == null) { var newInvitee = mapper.Map <Invitee>(invitee); newInvitee.InviteeAnswers = new List <InviteeAnswer>(); newInvitee.InviteeAnswers.Add(mapper.Map <InviteeAnswer>(invitee.InviteeAnswer)); Invitees.Add(newInvitee); } else { if (invitee.isNew && !invitee.InviteeAnswer.IsAttending) { repoInvitee.WasRemoved = true; } repoInvitee.InviteeAnswers.SetStatus("H"); repoInvitee.InviteeAnswers.Add(mapper.Map <InviteeAnswer>(invitee.InviteeAnswer)); } } }
public async Task <IActionResult> UpdateInvite(int id, InviteUpdateDto inviteDetails) { var invite = await _repo.GetInviteDetails(id); invite.fromUpdateDto(inviteDetails, _mapper); if (await _repo.SaveAll()) { return(NoContent()); } return(BadRequest("Failed to Post RSVP")); }
public async Task <IActionResult> UpdateInvite(int id, InviteUpdateDto inviteDetails) { var invite = await _repo.GetInviteDetails(id); invite.fromUpdateDto(inviteDetails, _mapper); var validAnswer = invite.InviteAnswers.Where(ia => ia.Status != "H").FirstOrDefault().Status = "A"; if (await _repo.SaveAll()) { return(NoContent()); } return(BadRequest("Failed to Post RSVP")); }