public SessionRequest RejectSessionRequest(Guid requestId, string reason) { var request = SessionRequests.Single(r => r.Id == requestId); request.Reject(reason); return(request); }
public SessionRequest ApproveSessionRequest(Guid requestId, ISessionScheduleValidator sessionScheduleValidator) { var request = SessionRequests.Single(r => r.Id == requestId); var isValid = Room.ValidateSchedule(this.Id, null, request.RequestedTime, sessionScheduleValidator); if (isValid) { request.Approve(); return(request); } throw new InvalidOperationException(); }
public SessionRequest RequestSession( Guid requestingUserId, DateRange requestedTime, Guid?roomFunctionId, ISessionScheduleValidator sessionScheduleValidator) { var result = Room.ValidateSchedule(this.Id, null, requestedTime, sessionScheduleValidator); if (result) { var request = SessionRequest.Create( requestingUserId, this.Id, requestedTime.Start, requestedTime.End, roomFunctionId); SessionRequests.Add(request); return(request); } throw new InvalidOperationException(); }