public List <EVacationsRequestsBLL> GetPendingEVacationsRequestsByAuthorizedPerson(string AuthorizedPersonCodeNo) { try { List <EServicesAuthorizationsBLL> OrganizationsList = new EServicesAuthorizationsBLL().GetBasedOnAuthorizedPerson(AuthorizedPersonCodeNo, EServicesTypesEnum.Vacation); List <int> OrganizationsIDs = new List <int>(); OrganizationsList.ForEach(x => OrganizationsIDs.Add(x.Organization.OrganizationID)); #region Get evacations requests of normal employees List <EVacationsRequests> EVacationsRequestsList = new EVacationsRequestsDAL().GetEVacationsRequestsByOrganizations(OrganizationsIDs).Where(x => x.EVacationRequestStatusID == (int)EVacationRequestStatusEnum.Pending).ToList(); List <EVacationsRequestsBLL> EVacationsRequestsBLLList = new List <EVacationsRequestsBLL>(); EVacationsRequestsList.ForEach(x => EVacationsRequestsBLLList.Add(MapEVacationRequest(x))); #endregion #region Get evacations requests of managers under him List <int> OrganizationIDList = new List <int>(); new OrganizationsStructuresBLL().GetAllOrganizationsForManagerByManagerCodeNo(AuthorizedPersonCodeNo).ForEach(x => OrganizationIDList.Add(x.OrganizationID)); //int? OrganizationID = new OrganizationsStructuresBLL().GetAllOrganizationsForManagerByManagerCodeNo(AuthorizedPersonCodeNo).FirstOrDefault()?.OrganizationID; foreach (var OrganizationID in OrganizationIDList) { List <int> ChildOrganizationIDs = new OrganizationsStructuresBLL().GetOrganizationFirstLevelByID(OrganizationID); List <EVacationsRequests> ChildOrganizationIDEVacationsRequestsList = new EVacationsRequestsDAL().GetEVacationsRequestsByOrganizations(ChildOrganizationIDs).Where(x => x.EVacationRequestStatusID == (int)EVacationRequestStatusEnum.Pending && !x.ActualJobID.HasValue) // thats mean is manager .ToList(); ChildOrganizationIDEVacationsRequestsList.ForEach(x => EVacationsRequestsBLLList.Add(MapEVacationRequest(x))); } #endregion return(EVacationsRequestsBLLList); } catch (Exception ex) { throw ex; } }
public List <EVacationsRequestsBLL> GetAllEVacationsRequests() { try { List <EVacationsRequests> EVacationsRequestsList = new EVacationsRequestsDAL().Get(); List <EVacationsRequestsBLL> EVacationsRequestsBLLList = new List <EVacationsRequestsBLL>(); EVacationsRequestsList.ForEach(x => EVacationsRequestsBLLList.Add(MapEVacationRequest(x))); return(EVacationsRequestsBLLList); } catch (Exception ex) { throw ex; } }
public List <EVacationsRequestsBLL> GetEVacationsRequestsByEmployeeCodeNo(string EmployeeCodeNo) { try { List <EVacationsRequests> EVacationsRequestsList = new EVacationsRequestsDAL().GetByEmployeeCodeNo(EmployeeCodeNo); List <EVacationsRequestsBLL> EVacationsRequestsBLLList = new List <EVacationsRequestsBLL>(); EVacationsRequestsList.ForEach(x => EVacationsRequestsBLLList.Add(MapEVacationRequest(x))); return(EVacationsRequestsBLLList); } catch (Exception ex) { throw ex; } }
/// <summary> /// Get e vacations requests that approved by authorized perso /// </summary> /// <param name="ApproverCodeNo"></param> /// <returns></returns> public List <EVacationsRequestsBLL> GetDoneEVacationsRequestsByApproverCodeNo(string ApproverCodeNo) { try { List <EVacationsRequests> EVacationsRequestsList = new EVacationsRequestsDAL().GetByApproverCodeNo(ApproverCodeNo).Where(x => x.EVacationRequestStatusID != (int)EVacationRequestStatusEnum.Pending).ToList(); List <EVacationsRequestsBLL> EVacationsRequestsBLLList = new List <EVacationsRequestsBLL>(); if (EVacationsRequestsList.Count > 0) { foreach (var item in EVacationsRequestsList) { EVacationsRequestsBLLList.Add(MapEVacationRequest(item)); } } return(EVacationsRequestsBLLList); } catch (Exception ex) { throw ex; } }
public EVacationsRequestsBLL GetEVacationsRequestsByEVacationRequestID(int EVacationRequestID) { try { EVacationsRequests EVacationRequest = new EVacationsRequestsDAL().GetByEVacationRequestID(EVacationRequestID); EVacationsRequestsBLL EVacationRequestBLL = null; if (EVacationRequest != null) { EVacationRequestBLL = MapEVacationRequest(EVacationRequest); } // if the request still pending , we will show who the person that authorize to take decision for this request if (EVacationRequest.EVacationRequestStatusID == (int)EVacationRequestStatusEnum.Pending) { EVacationRequestBLL.ApprovedBy = new EmployeesCodesBLL().GetEVacationAuthorizedPersonOfEmployee(EVacationRequestBLL.CreatedBy.EmployeeCodeNo, EServicesTypesEnum.Vacation); } return(EVacationRequestBLL); } catch (Exception ex) { throw ex; } }
//public BaseAssigningsBLL GetActiveAssigningByEmployeeCareerHistoryID(int EmployeeCareerHistoryID) //{ // BaseAssigningsBLL assigningBLL = new BaseAssigningsBLL(); // Assignings assigning = new AssigningsDAL().GetActiveAssigningByEmployeeCareerHistoryID(EmployeeCareerHistoryID); // if (assigning != null) // assigningBLL = new BaseAssigningsBLL().MapAssigning(assigning); // return assigningBLL; //} /// <summary> /// Task # 226 : /// Finish last assigning, based on passing parameters /// this function called by different modules like Promotion, Delegation, or StopWork etc /// Task # 310 : change CareerHistoryID to EmployeeCodeID because of task 310 /// Task 318: Service to Cancel EServicesProxies By System /// </summary> /// <param name="EmployeeCodeID"></param> /// <param name="AssigningEndDate"></param> /// <param name="EndAssigningReason"></param> /// <returns></returns> public Result BreakLastAssigning(int EmployeeCodeID, DateTime AssigningEndDate, AssigningsReasonsEnum EndAssigningReason, string EndAssigningReasonNotes = "") { Result result = new Result(); BaseAssigningsBLL assigningBLL = new BaseAssigningsBLL(); Assignings assigning = new AssigningsDAL().GetActiveAssigningByEmployeeCodeID(EmployeeCodeID); if (assigning != null) { if (assigning.IsFinished) { result.Entity = this; result.EnumType = typeof(AssigningsValidationEnum); result.EnumMember = AssigningsValidationEnum.Done.ToString(); return(result); } if (AssigningEndDate < assigning.AssigningStartDate) { result = new Result(); result.EnumType = typeof(AssigningsValidationEnum); result.EnumMember = AssigningsValidationEnum.RejectedBecauseOfEndDateIsLessThanCreationDate.ToString(); return(result); } assigning.AssigningEndDate = AssigningEndDate; assigning.EndAssigningReasonID = (int)EndAssigningReason; assigning.IsFinished = true; assigning.Notes = EndAssigningReasonNotes; assigning.LastUpdatedBy = this.LoginIdentity.EmployeeCodeID; assigning.LastUpdatedDate = DateTime.Now; this.AssigningID = new AssigningsDAL().BreakAssigning(assigning); if (this.AssigningID != 0) { #region Cancellation of all pending e vacations requests of employee after breaking last assigning of him List <EVacationsRequests> PendingEVacationRequestsList = new EVacationsRequestsDAL().GetByEmployeeCodeID(EmployeeCodeID, (int)EVacationRequestStatusEnum.Pending); foreach (var item in PendingEVacationRequestsList) { result = new EVacationsRequestsBLL().CancelEVacationRequest(item.EVacationRequestID, EVacationRequestStatusEnum.CancelledBySystem, Globalization.EVacationRequestCancelledBySystemBecauseOfBreakingLastAssigningText); } #endregion #region Task 318: Service to Cancel EServicesProxies By System try { result = new EServicesProxiesBLL() { LoginIdentity = this.LoginIdentity } .RevokeEServiceProxyByEmployeeCodeID(EmployeeCodeID, EServicesProxiesStatusEnum.CancelledBySystem, Globalization.EServiceProxyCancelledBySystemBecauseOfBreakingLastAssigningText); } catch (Exception ex) { throw ex; } #endregion result.Entity = this; result.EnumType = typeof(AssigningsValidationEnum); result.EnumMember = AssigningsValidationEnum.Done.ToString(); } } else { result.EnumType = typeof(AssigningsValidationEnum); result.EnumMember = AssigningsValidationEnum.RejectedBecauseAssigningNotFound.ToString(); } return(result); }