private void SaveExpenseLiquidationRequestStatus() { if (GetApprovalSetting(RequestType.ExpenseLiquidation_Request.ToString().Replace('_', ' '), 0) != null) { int i = 1; foreach (ApprovalLevel AL in GetApprovalSetting(RequestType.ExpenseLiquidation_Request.ToString().Replace('_', ' '), 0).ApprovalLevels) { ExpenseLiquidationRequestStatus ELRS = new ExpenseLiquidationRequestStatus(); ELRS.ExpenseLiquidationRequest = _TravelAdvanceRequest.ExpenseLiquidationRequest; if (AL.EmployeePosition.PositionName == "Superviser/Line Manager") { if (CurrentUser().Superviser != 0) { ELRS.Approver = CurrentUser().Superviser.Value; } else { ELRS.ApprovalStatus = ApprovalStatus.Approved.ToString(); ELRS.Date = Convert.ToDateTime(DateTime.Today.Date.ToShortDateString()); } } else if (AL.EmployeePosition.PositionName == "Program Manager") { if (_TravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails[0].Project != null) { if (_TravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails[0].Project.AppUser.Id != CurrentUser().Id) { ELRS.Approver = GetProject(_TravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestDetails[0].Project.Id).AppUser.Id; } else { ELRS.Approver = CurrentUser().Superviser.Value; } } } else { if (Approver(AL.EmployeePosition.Id) != null) { if (AL.EmployeePosition.PositionName == "Accountant") { ELRS.ApproverPosition = AL.EmployeePosition.Id; //So that we can entertain more than one finance manager to handle the request } else { ELRS.Approver = Approver(AL.EmployeePosition.Id).Id; } } else { ELRS.Approver = 0; } } ELRS.WorkflowLevel = i; i++; _TravelAdvanceRequest.ExpenseLiquidationRequest.ExpenseLiquidationRequestStatuses.Add(ELRS); } } }
private void SendEmail(ExpenseLiquidationRequestStatus ELRS) { if (ELRS.Approver != 0) { if (_presenter.GetUser(ELRS.Approver).IsAssignedJob != true) { EmailSender.Send(_presenter.GetUser(ELRS.Approver).Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } else { EmailSender.Send(_presenter.GetUser(_presenter.GetAssignedJobbycurrentuser(ELRS.Approver).AssignedTo).Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } } else { foreach (AppUser Payer in _presenter.GetAppUsersByEmployeePosition(ELRS.ApproverPosition)) { if (Payer.IsAssignedJob != true) { //Commented out because Finance team got tired of emails //EmailSender.Send(Payer.Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } else { //Commented out because Finance team got tired of emails //EmailSender.Send(_presenter.GetUser(_presenter.GetAssignedJobbycurrentuser(Payer.Id).AssignedTo).Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } } } }
private void SendEmail(ExpenseLiquidationRequestStatus ELRS) { if (ELRS.Approver != 0) { if (GetSuperviser(ELRS.Approver).IsAssignedJob != true) { EmailSender.Send(GetSuperviser(ELRS.Approver).Email, "Expense Liquidation Request", (CurrentTravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation for Travel Advance No. '" + (CurrentTravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } else { EmailSender.Send(GetSuperviser(_controller.GetAssignedJobbycurrentuser(ELRS.Approver).AssignedTo).Email, "Expense Liquidation Request", (CurrentTravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation for Travel Advance No. '" + (CurrentTravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } } else { foreach (AppUser accountant in _settingController.GetAppUsersByEmployeePosition(ELRS.ApproverPosition)) { if (accountant.IsAssignedJob != true) { EmailSender.Send(accountant.Email, "Expense Liquidation Request", (CurrentTravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation for Travel Advance No. - '" + (CurrentTravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } else { EmailSender.Send(GetSuperviser(_controller.GetAssignedJobbycurrentuser(accountant.Id).AssignedTo).Email, "Expense Liquidation Request", (CurrentTravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation for Travel Advance No. - '" + (CurrentTravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } } } }
private void SendEmail(ExpenseLiquidationRequestStatus ELRS) { if (_presenter.GetUser(ELRS.Approver).IsAssignedJob != true) { EmailSender.Send(_presenter.GetUser(ELRS.Approver).Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } else { EmailSender.Send(_presenter.GetUser(_presenter.GetAssignedJobbycurrentuser(ELRS.Approver).AssignedTo).Email, "Expense Liquidation Request", (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.FullName).ToUpper() + " Requests for Expense Liquidation to Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "'"); } }
private void SendEmailRejected(ExpenseLiquidationRequestStatus ELRS) { EmailSender.Send(_presenter.GetUser(_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.Id).Email, "Expense Liquidation Request Rejection", "Your Liquidation Request for Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "' was Rejected by " + _presenter.CurrentUser().FullName + " for this reason '" + (ELRS.RejectedReason).ToUpper() + "'"); if (ELRS.WorkflowLevel > 1) { for (int i = 0; i + 1 < ELRS.WorkflowLevel; i++) { EmailSender.Send(_presenter.GetUser(_presenter.CurrentExpenseLiquidationRequest.ExpenseLiquidationRequestStatuses[i].Approver).Email, "Expense Liquidation Request Rejection", "Expense Liquidation Request made by " + (_presenter.GetUser(_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.AppUser.Id).FullName).ToUpper() + " for Travel Advance No. '" + (_presenter.CurrentExpenseLiquidationRequest.TravelAdvanceRequest.TravelAdvanceNo).ToUpper() + "' was Rejected by " + _presenter.CurrentUser().FullName + " for this reason - '" + (ELRS.RejectedReason).ToUpper() + "'"); } } }