public async Task <ActionResult> Refuse(int id, int attendeeId) { var client = new MeetingClient(_config); var meeting = await client.Get(id); if (null == meeting) { return(NotFound()); } var attendee = meeting.Attendees.Where(p => attendeeId == p.Id).SingleOrDefault(); if (null == attendee) { return(NotFound()); } var model = new RefuseViewModel { AttendeeId = attendeeId, MeetingDate = meeting.Date, MeetingId = meeting.Id, MeetingName = meeting.Name, RoleName = attendee.Role.Name, MemberName = attendee.Member.Alias, }; return(View(model)); }
public async Task <ActionResult> Refuse(int id, [FromForm] RefuseViewModel model) { if (ModelState.IsValid) { try { var meetingClient = new MeetingClient(_config); var memberClient = new MemberClient(_config); var attendee = await meetingClient.GetAttendee(id, model.AttendeeId); if (null == attendee) { return(BadRequest("Attendee not found")); } var member = attendee.Member; attendee.Member = null; var response = await meetingClient.UpdateAttendee(id, attendee); if (response.IsSuccessStatusCode) { _toastNotification.AddSuccessToastMessage($"Merci, le rôle {attendee.Role.Name} a été retiré à {member.Name}."); return(RedirectToAction(nameof(Index))); } } catch { return(View()); } } return(View(model)); }