Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        /// <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;
            }
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        //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);
        }