Ejemplo n.º 1
0
        public StepManagement GetStepManagement(int step, StepModuleList moduleStep, int departmentId = 0)
        {
            string query = $@" <Where>
                                <And>
                                    <Eq>
                                        <FieldRef Name='StepNumber' />
                                        <Value Type='Number'>{step}</Value>
                                    </Eq>
                                    <Eq>
                                        <FieldRef Name='StepModule' />
                                        <Value Type='Choice'>{moduleStep.ToString()}</Value>
                                    </Eq>
                                </And>
                            </Where>";

            List <StepManagement> steps = GetByQuery(query);

            if (steps != null && steps.Count() > 0)
            {
                var stepManagement = steps.Where(e => e.CommonDepartment != null && e.CommonDepartment.LookupId == departmentId).FirstOrDefault();
                if (stepManagement == null)
                {
                    stepManagement = steps.Where(e => e.CommonDepartment == null).FirstOrDefault();
                }

                return(stepManagement);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        public EmployeeInfo GetApproverAtStep(int departmentID, int locationID, StepModuleList StepModule, int stepNumber)
        {
            EmployeeInfo approverInfo = null;
            BusinessTripManagementApprover approvalList = CreateApprovalList(departmentID, locationID);

            if (approvalList != null)
            {
                Type         typeBusinessTripManagementApprover = typeof(BusinessTripManagementApprover);
                BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public;
                if (stepNumber == 3)
                {
                    stepNumber += 1;
                }
                PropertyInfo approverProp = typeBusinessTripManagementApprover.GetProperty(string.Format("Approver{0}", stepNumber), bindingFlags);
                if (approverProp != null)
                {
                    object approverValue = approverProp.GetValue(approvalList, null);
                    if (approverValue != null)
                    {
                        approverInfo = approverValue as EmployeeInfo;
                    }
                }
            }

            return(approverInfo);
        }
Ejemplo n.º 3
0
        public EmployeeInfo GetNextApproval(int departmentID, int locationID, StepModuleList StepModule, int stepNumber)
        {
            IModuleBuilder moduleBuilder = null;
            EmployeeInfo   nextAssignee  = null;

            switch (StepModule)
            {
            case StepModuleList.VehicleManagement:
                moduleBuilder = new VehicleManagementDAL(SiteUrl);
                break;

            case StepModuleList.LeaveManagement:
                moduleBuilder = new LeaveManagementDAL(SiteUrl);
                break;

            default:
                return(null);
            }

            var approvalList = moduleBuilder.CreateApprovalList(departmentID, locationID);

            if (approvalList.Count > 0 && approvalList.Count() >= stepNumber)
            {
                nextAssignee = approvalList.ElementAt(stepNumber - 1);
            }

            return(nextAssignee);
        }
Ejemplo n.º 4
0
        public EmployeeInfo GetApproverAtStep(int departmentID, int locationID, StepModuleList StepModule, int stepNumber)
        {
            EmployeeInfo        approverInfo = null;
            CommonApproverModel approvalList = CreateApprovalList(departmentID, locationID);

            if (approvalList != null)
            {
                Type         typeCommonApproverModel = typeof(CommonApproverModel);
                BindingFlags bindingFlags            = BindingFlags.Instance | BindingFlags.Public;
                PropertyInfo approverProp            = typeCommonApproverModel.GetProperty(string.Format("Approver{0}", stepNumber), bindingFlags);
                if (approverProp != null)
                {
                    object approverValue = approverProp.GetValue(approvalList, null);
                    if (approverValue != null)
                    {
                        approverInfo = approverValue as EmployeeInfo;
                    }
                }
            }

            return(approverInfo);
        }
Ejemplo n.º 5
0
        public StepManagement GetNextStepManagement(string StepStatus, StepModuleList moduleStep, int departmentId = 0)
        {
            string query = $@" <Where>
                                <And>
                                    <Eq>
                                        <FieldRef Name='CurrentStepStatus' />
                                        <Value Type='Choice'>{StepStatus}</Value>
                                    </Eq>
                                    <Eq>
                                        <FieldRef Name='StepModule' />
                                        <Value Type='Choice'>{moduleStep.ToString()}</Value>
                                    </Eq>
                                </And>
                            </Where>";

            List <StepManagement> steps = GetByQuery(query);

            if (steps != null && steps.Count > 0)
            {
                var currentStep = steps.Where(e => e.CommonDepartment != null && e.CommonDepartment.LookupId == departmentId).FirstOrDefault();
                if (currentStep == null)
                {
                    currentStep = steps.Where(e => e.CommonDepartment == null).FirstOrDefault();
                }

                if (currentStep != null)
                {
                    return(GetStepManagement(currentStep.StepNumber + 1, moduleStep, departmentId));
                }
                else
                {
                    return(null);
                }
            }

            return(null);
        }