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); } }
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); }
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); }
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); }
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); }