コード例 #1
0
        public void CreateTimeOffRequestApprovalsForRequest
            (TimeOffRequest request, IEnumerable <string> userPolicyApproversId)
        {
            var approvals = new List <TimeOffRequestApproval>();

            foreach (var approverId in userPolicyApproversId)
            {
                var approval = new TimeOffRequestApproval
                {
                    UserId         = approverId,
                    TimeOffRequest = request,
                    Status         = unitOfWork.RequestApprovalStatuses.Get(
                        (int)TimeOffRequestApprovalStatusesEnum.InProgres)
                };

                approvals.Add(approval);
            }

            approvals.FirstOrDefault().Status = unitOfWork.RequestApprovalStatuses.Get(
                (int)TimeOffRequestApprovalStatusesEnum.Requested);

            foreach (var approval in approvals)
            {
                unitOfWork.RequestApprovals.Create(approval);
            }
        }
コード例 #2
0
        void SendNotification(TimeOffRequestApproval approval)
        {
            if (approval == null)
            {
                return;
            }

            var    request        = unitOfWork.TimeOffRequests.Get(approval.TimeOffRequest.Id);
            string mailAddressee  = approval.User.Email;
            string mailRequesting = request.User.Email;

            //SendMail(mailAddressee, mailRequesting);
        }
コード例 #3
0
        public TimeOffRequestApproval SetNextAsRequested
            (TimeOffRequestApproval accepted)
        {
            var approval = unitOfWork.RequestApprovals.Find(
                a => a.TimeOffRequest.Id == accepted.TimeOffRequestId &&
                a.Status.Id == (int)TimeOffRequestApprovalStatusesEnum.InProgres);

            if (approval != null)
            {
                approval.Status = unitOfWork.RequestApprovalStatuses.Get(
                    (int)TimeOffRequestApprovalStatusesEnum.Requested);
            }
            return(approval);
        }