コード例 #1
0
ファイル: Room.cs プロジェクト: meutley/ISTS
        public SessionRequest RejectSessionRequest(Guid requestId, string reason)
        {
            var request = SessionRequests.Single(r => r.Id == requestId);

            request.Reject(reason);

            return(request);
        }
コード例 #2
0
ファイル: Room.cs プロジェクト: meutley/ISTS
        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();
        }
コード例 #3
0
ファイル: Room.cs プロジェクト: meutley/ISTS
        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();
        }