示例#1
0
 private void SaveLeaveRequestStatus()
 {
     if (_presenter.CurrentLeaveRequest.Id <= 0)
     {
         if (_presenter.GetApprovalSetting(RequestType.Leave_Request.ToString().Replace('_', ' '), 0) != null)
         {
             int i = 1;
             foreach (ApprovalLevel AL in _presenter.GetApprovalSetting(RequestType.Leave_Request.ToString().Replace('_', ' '), 0).ApprovalLevels)
             {
                 LeaveRequestStatus LRS = new LeaveRequestStatus();
                 LRS.LeaveRequest = _presenter.CurrentLeaveRequest;
                 if (AL.EmployeePosition.PositionName == "Superviser/Line Manager")
                 {
                     if (_presenter.CurrentUser().Superviser.Value != 0)
                     {
                         LRS.Approver = _presenter.CurrentUser().Superviser.Value;
                     }
                     else
                     {
                         LRS.ApprovalStatus = ApprovalStatus.Approved.ToString();
                         LRS.ApprovalDate   = DateTime.Today.Date;
                     }
                 }
                 else
                 {
                     LRS.Approver = _presenter.Approver(AL.EmployeePosition.Id).Id;
                 }
                 LRS.WorkflowLevel = i;
                 i++;
                 _presenter.CurrentLeaveRequest.LeaveRequestStatuses.Add(LRS);
             }
         }
     }
 }
示例#2
0
 private void SendEmail(LeaveRequestStatus LRS)
 {
     if (_presenter.GetSuperviser(LRS.Approver).IsAssignedJob != true)
     {
         EmailSender.Send(_presenter.GetSuperviser(LRS.Approver).Email, "Leave Request", "'" + (_presenter.GetUser(_presenter.CurrentLeaveRequest.Requester).FullName).ToUpper() + "' Requests for Leave Request No. '" + (_presenter.CurrentLeaveRequest.RequestNo).ToUpper() + "'");
     }
     else
     {
         EmailSender.Send(_presenter.GetSuperviser(_presenter.GetAssignedJobbycurrentuser(LRS.Approver).AssignedTo).Email, "Leave Request", "'" + (_presenter.GetUser(_presenter.CurrentLeaveRequest.Requester).FullName).ToUpper() + "' Requests for Leave Request No. '" + (_presenter.CurrentLeaveRequest.RequestNo).ToUpper() + "' ");
     }
 }
        private void SendEmailRejected(LeaveRequestStatus LRS)
        {
            EmailSender.Send(_presenter.GetUser(_presenter.CurrentLeaveRequest.Requester).Email, "Leave Request Rejection", "Your Leave Request with Leave Request No. " + (_presenter.CurrentLeaveRequest.RequestNo).ToUpper() + " was Rejected by " + _presenter.CurrentUser().FullName + " for this reason - '" + (LRS.RejectedReason).ToUpper() + "'");

            if (LRS.WorkflowLevel > 1)
            {
                for (int i = 0; i + 1 < LRS.WorkflowLevel; i++)
                {
                    EmailSender.Send(_presenter.GetUser(_presenter.CurrentLeaveRequest.LeaveRequestStatuses[i].Approver).Email, "Leave Request Rejection", "Leave Request with Leave Request No. - " + (_presenter.CurrentLeaveRequest.RequestNo).ToUpper() + " made by " + (_presenter.GetUser(_presenter.CurrentLeaveRequest.Requester).FullName).ToUpper() + " was Rejected by " + _presenter.CurrentUser().FullName + " for this reason - '" + (LRS.RejectedReason).ToUpper() + "'");
                }
            }
        }