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); } } } }
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() + "'"); } } }