public ActionResult Confirm(int id) { var meetingRep = new MeetingRepository(); var meetingAccept = meetingRep.MeetingAccepts.FirstOrDefault(x => x.Id == id); var meeting = meetingRep.Meetings.FirstOrDefault(x => x.Id == meetingAccept.meetingId); if (meeting == null || meetingAccept == null) { throw new Exception(); } meeting.checkPermissions(User.Identity.GetUserId()); if (meeting.isOwner) { meeting.confirmer = meetingAccept.acceptorId; meetingRep.Update(meeting); } else { throw new Exception(); } Notify.Confirm(meetingAccept); return PartialView(); }
public Response Confirm(int id) { var meetingRep = new MeetingRepository(); var meetingAccept = meetingRep.MeetingAccepts.FirstOrDefault(x => x.Id == id); if (meetingAccept == null) { return new BadRequestError("No such accept"); } var meeting = meetingRep.Meetings.FirstOrDefault(x => x.Id == meetingAccept.meetingId); if (meeting == null ) { return new InternalError("No such meeting"); } meeting.checkPermissions(GetUserId()); if (meeting.isOwner) { meeting.confirmer = meetingAccept.acceptorId; meetingRep.Update(meeting); } else { return new UnauthorizedError("Not owner"); } Notify.Confirm(meetingAccept); return Response(true); // todo: return }