示例#1
0
        public ActionResult HistoryIndex(string id)
        {
            // List<ApprovalDetails> History = new List<ApprovalDetails>();
            //History = new AppClass().getHistory(id);


            XElement  ApprovalHistory = new AppClass().getApprovalHistory(id);
            XDocument xDocument       = DataHandlers.ToXDocument(ApprovalHistory);

            List <ApprovalDetails> approvalHistory = xDocument.Descendants("Approvals")
                                                     .Select(det => new ApprovalDetails
            {
                ApproverNames        = det.Element("ApproverName").Value,
                ApproverStaffNumbers = det.Element("ApproverStaffNumber").Value,
                ApprovedStages       = det.Element("ApprovedStage").Value,
                ApproverAction       = det.Element("ApproverAction").Value,
                ApprovalDateTime     = det.Element("ApprovalDateTime").Value,
                ApproverComment      = det.Element("ApproverComment").Value.Equals("") ? "None" : det.Element("ApproverComment").Value,
            })
                                                     .ToList();


            return(PartialView("HistoryIndex", approvalHistory));
        }
示例#2
0
        public ActionResult PassportReviewForm(string WorkflowID, bool editMode, bool?myEntries)
        {
            Session["UserName"] = @User.Identity.Name;
            this._UserName      = Session["UserName"] as string ?? String.Empty;

            if (_UserName == null || _UserName.Equals(String.Empty))
            {
                ViewBag.ErrorMessage = "You must be logged in to continue.";
                return(RedirectToAction("Login", "Login"));
            }

            //now resolve the user profile from AD and Xceed
            StaffADProfile staffADProfile = new StaffADProfile();

            staffADProfile.user_logon_name = _UserName;

            //AD
            ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);

            staffADProfile = activeDirectoryQuery.GetStaffProfile();

            if (staffADProfile == null)
            {
                ViewBag.ErrorMessage = "Your profile is not properly setup on the system. Please contact InfoTech.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            //Get the request identified by the workflow id and be sure the user is an approver
            List <RequestDetails> requestDetails = new List <RequestDetails>();

            requestDetails = LINQCalls.getExistingPassportEntry(WorkflowID, staffADProfile.employee_number);

            if (requestDetails == null)
            {
                ViewBag.ErrorMessage = "You are not authorized to process this request";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            List <PassportDetails> passportDetails = new List <PassportDetails>();
            PassportDetails        pDetails        = LINQCalls.getPassportDetails(WorkflowID);

            passportDetails.Add(pDetails);

            EntryModel entryModel = new EntryModel();

            entryModel     = LINQCalls.getWorkflowEntry(WorkflowID);
            entryModel.DOE = LINQCalls.getXceedProfile(entryModel.StaffNumber).doe;

            ViewBag.StaffBranch = entryModel.Branch;
            int      requeststageid  = entryModel.RequestStageId;
            string   requeststage    = entryModel.RequestStage;
            DateTime requestdate     = entryModel.DateSubmitted;
            string   initiatornumber = entryModel.StaffNumber; //LINQCalls.getInitiatorNumber(WorkflowID) ?? staffADProfile.employee_number;

            string cansave = (!requeststage.Equals(INIT_STAGE) && !requeststage.Equals(DENIED) && !requeststage.Equals(APPROVED) &&
                              !initiatornumber.Equals(staffADProfile.employee_number)) ? "true" : "false";

            XElement  ApprovalHistory = LINQCalls.getApprovalHistory(WorkflowID);
            XDocument xDocument       = DataHandlers.ToXDocument(ApprovalHistory);

            List <ApprovalDetails> approvalHistory = xDocument.Descendants("Approvals").Select(det => new ApprovalDetails
            {
                ApproverNames        = det.Element("ApproverName").Value,
                ApproverStaffNumbers = det.Element("ApproverStaffNumber").Value,
                ApprovedStages       = det.Element("ApprovedStage").Value,
                ApproverAction       = det.Element("ApproverAction").Value,
                ApprovalDateTime     = det.Element("ApprovalDateTime").Value,
                ApproverComments     = det.Element("ApproverComment").Value
            }).ToList();

            SuperPassportModel superPassportModel = new SuperPassportModel();

            if (TempData["superPassportModel"] != null)
            {
                superPassportModel = TempData["superPassportModel"] as SuperPassportModel;
            }
            else
            {
                superPassportModel = new SuperPassportModel {
                    WorkflowID        = WorkflowID,
                    RequestStageID    = entryModel.RequestStageId,
                    RequestStage      = entryModel.RequestStage,
                    RequestDate       = entryModel.DateSubmitted,
                    StaffADProfile    = staffADProfile,
                    RequestDetails    = requestDetails,
                    CanSave           = cansave,
                    ApprovalDetails   = approvalHistory,
                    EntryModel        = entryModel,
                    RequestBranch     = entryModel.Branch,
                    RequestBranchCode = entryModel.BranchCode,
                    PassportDetails   = passportDetails
                };
            }

            Session["requestDetails"] = superPassportModel.RequestDetails;
            TempData["editMode"]      = (editMode == true) ? "true" : "false";

            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"] as string;
            }

            Session["superPassportModel"] = superPassportModel;

            TempData["superPassportModel"] = superPassportModel;
            return(View(superPassportModel));
        }
示例#3
0
        public ActionResult EditMemo(string WorkflowID, bool editMode, bool?myEntries)
        {
            _UserName           = User.Identity.Name;
            Session["UserName"] = User.Identity.Name;

            if (_UserName == null || _UserName.Equals(String.Empty))
            {
                ViewBag.ErrorMessage = "You must be logged in to continue.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            //now resolve the user profile from AD and Xceed
            StaffADProfile staffADProfile = new StaffADProfile();

            staffADProfile.user_logon_name = _UserName;

            //staffADProfile.user_logon_name = "adebisi.olumoto";

            //AD
            ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);

            staffADProfile       = activeDirectoryQuery.GetStaffProfile();
            staffADProfile.grade = new LINQCalls().getStaffGrade(staffADProfile.employee_number);

            if (staffADProfile == null)
            {
                ViewBag.ErrorMessage = "Your profile is not properly setup on the system. Please contact InfoTech.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval", new { UserName = Session["UserName"] as string }));
            }

            //Get the request identified by the Workflow ID
            MemoSetup memoSetup = new MemoSetup();

            memoSetup           = new LINQCalls().getWorkflowEntry(WorkflowID);
            ViewBag.StaffBranch = memoSetup.Branch;
            int      requeststageid  = memoSetup.RequestStageId;
            string   requeststage    = memoSetup.RequestStage;
            DateTime requestdate     = memoSetup.DateSubmitted;
            string   initiatornumber = new LINQCalls().getInitiatorNumber(WorkflowID) ?? staffADProfile.employee_number;

            string cansave = (requeststage.Equals(INIT_STAGE) || requeststage.Equals(DENIED)) && initiatornumber.Equals(staffADProfile.employee_number)
                                            ? this.CANSAVE : "false";

            XElement  ApprovalHistory = new LINQCalls().getApprovalHistory(WorkflowID);
            XDocument xDocument       = DataHandlers.ToXDocument(ApprovalHistory);

            List <ApprovalDetails> approvalHistory = xDocument.Descendants("Approvals")
                                                     .Select(det => new ApprovalDetails {
                ApproverNames        = det.Element("ApproverName").Value,
                ApproverStaffNumbers = det.Element("ApproverStaffNumber").Value,
                ApprovedStages       = det.Element("ApprovedStage").Value,
                ApproverAction       = det.Element("ApproverAction").Value,
                ApprovalDateTime     = det.Element("ApprovalDateTime").Value,
                ApproverComments     = det.Element("ApproverComment").Value
            }).ToList();

            memoSetup.SignerDetailsList = GetApprovers(memoSetup);

            editMode = editMode && memoSetup.RequestStageId.Equals(1);

            TempData["editMode"] = editMode;    //( editMode==true ) ? null : "false";
            ViewBag.editMode     = editMode;

            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"] as string;
            }

            TempData["memoSetup"] = memoSetup;
            return(RedirectToAction("NewMemo", new { UserName = Session["UserName"] as string }));
        }
示例#4
0
        public ActionResult EditTarget(string UserName, string WorkflowID, bool editMode, bool?myEntries)
        {
            //  editMode = true;
            if (UserName == null || UserName.Equals(String.Empty))
            {
                ViewBag.ErrorMessage = "You must be logged in to continue.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            //now resolve the user profile from AD and Xceed
            StaffADProfile staffADProfile = new StaffADProfile();

            staffADProfile.user_logon_name = UserName;

            //staffADProfile.user_logon_name = "adebisi.olumoto";

            //AD
            ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);

            staffADProfile = activeDirectoryQuery.GetStaffProfile();
            //GET ENTERY BRANC CODE

            staffADProfile.branch_code = new LINQCalls().getEntryProfile(WorkflowID).branch_code;
            staffADProfile.branch_name = new LINQCalls().getEntryProfile(WorkflowID).branch_name;

            if (staffADProfile == null)
            {
                ViewBag.ErrorMessage = "Your profile is not properly setup on the system. Please contact InfoTech.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval", new { UserName = Session["UserName"] as string }));
            }

            //GET THE APPROVERS DETAILS FROM EXCEED //Approver Setup
            //Resolve the --branchname --branchcode --department --deptcode

            /*
             * staffADProfile = new LINQCalls().setInitiatorFields( staffADProfile );
             * if( staffADProfile.branch_code==null ){
             *  ViewBag.ErrorMessage="Your profile is not properly setup on Exceed. Please contact Human Resources.";
             *  return RedirectToAction( "AwaitingMyApproval","AwaitingApproval",new { UserName = Session["UserName"] as string } );
             * }
             * */

            //Get the request identified by the workflow id
            List <RequestDetails> requestDetails = new List <RequestDetails>();

            if (myEntries != null && myEntries == true)
            {
                string entrykey = staffADProfile.employee_number + "_" + staffADProfile.appperiod + "_" + staffADProfile.branch_code;
                requestDetails = new LINQCalls().getExistingTargetEntry(WorkflowID, staffADProfile.employee_number, entrykey);
            }
            else
            {
                requestDetails = new LINQCalls().getExistingTargetEntry(WorkflowID, staffADProfile.employee_number);
            }


            EntryModel entryModel = new EntryModel();

            entryModel          = new LINQCalls().getWorkflowEntry(WorkflowID);
            ViewBag.StaffBranch = entryModel.Branch;
            int      requeststageid  = entryModel.RequestStageId;
            string   requeststage    = entryModel.RequestStage;
            DateTime requestdate     = entryModel.DateSubmitted;
            string   initiatornumber = new LINQCalls().getInitiatorNumber(WorkflowID) ?? staffADProfile.employee_number;


            //staffADProfile.branch_code = new LINQCalls().getProfile(staffADProfile.employee_number).branch_code;
            //if (requeststage.Equals(INIT_STAGE))
            //{
            //   staffADProfile.branch_code = new LINQCalls().setInitiatorFields(staffADProfile).branch_code;
            //}


            string cansave = (requeststage.Equals(INIT_STAGE) || requeststage.Equals(DENIED)) && initiatornumber.Equals(staffADProfile.employee_number)
                                            ? this.CANSAVE : "false";

            staffADProfile.appperiod = entryModel.AppraisalPeriod;

            XElement  ApprovalHistory = new LINQCalls().getApprovalHistory(WorkflowID);
            XDocument xDocument       = DataHandlers.ToXDocument(ApprovalHistory);

            List <ApprovalDetails> approvalHistory = xDocument.Descendants("Approvals")
                                                     .Select(det => new ApprovalDetails {
                ApproverNames        = det.Element("ApproverName").Value,
                ApproverStaffNumbers = det.Element("ApproverStaffNumber").Value,
                ApprovedStages       = det.Element("ApprovedStage").Value,
                ApproverAction       = det.Element("ApproverAction").Value,
                ApprovalDateTime     = det.Element("ApprovalDateTime").Value
            })
                                                     .ToList();

            SuperInputTargetModel superInputTargetModel = new SuperInputTargetModel();

            if (TempData["superInputTargetModel"] != null)
            {
                superInputTargetModel = TempData["superInputTargetModel"] as SuperInputTargetModel;
            }
            else
            {
                superInputTargetModel = new SuperInputTargetModel {
                    WorkflowID        = WorkflowID,
                    RequestStageID    = entryModel.RequestStageId,
                    RequestStage      = entryModel.RequestStage,
                    RequestDate       = entryModel.DateSubmitted,
                    StaffADProfile    = staffADProfile,
                    RequestDetails    = requestDetails,
                    CanSave           = cansave,
                    ApprovalDetails   = approvalHistory,
                    EntryModel        = entryModel,
                    RequestBranch     = entryModel.Branch,
                    RequestBranchCode = entryModel.BranchCode
                };
            }

            //sort the list
            var d = from x in superInputTargetModel.RequestDetails
                    orderby x.name == OTHERS, x.name
            select x;

            superInputTargetModel.RequestDetails = d.ToList();

            Session["requestDetails"] = superInputTargetModel.RequestDetails;
            Session["UserName"]       = UserName;
            TempData["editMode"]      = (editMode == true) ? null : "false";

            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"] as string;
            }

            TempData["superInputTargetModel"] = superInputTargetModel;
            return(RedirectToAction("TargetInputForm", new { UserName = Session["UserName"] as string }));
        }
示例#5
0
        public ActionResult ViewPassport(string WorkflowID, bool editMode, bool?myEntries, bool?viewMode)
        {
            Session["UserName"] = @User.Identity.Name;
            this._UserName      = Session["UserName"] as string ?? "";

            if (_UserName == null || _UserName.Equals(String.Empty))
            {
                ViewBag.ErrorMessage = "You must be logged in to continue.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            //now resolve the user profile from AD and Xceed
            StaffADProfile staffADProfile = new StaffADProfile();

            staffADProfile.user_logon_name = _UserName;

            //AD
            ActiveDirectoryQuery activeDirectoryQuery = new ActiveDirectoryQuery(staffADProfile);

            staffADProfile             = activeDirectoryQuery.GetStaffProfile();
            staffADProfile.branch_code = LINQCalls.getEntryProfile(WorkflowID).branch_code;
            staffADProfile.branch_name = LINQCalls.getEntryProfile(WorkflowID).branch_name;

            if (staffADProfile == null)
            {
                ViewBag.ErrorMessage = "Your profile is not properly setup on the system. Please contact InfoTech.";
                return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
            }

            //Get the request identified by the workflow id
            List <RequestDetails> requestDetails = new List <RequestDetails>();

            if (myEntries != null && myEntries == true)
            {
                string entrykey = staffADProfile.employee_number + "_" + staffADProfile.branch_code;
                requestDetails = LINQCalls.getExistingPassportEntry(WorkflowID, staffADProfile.employee_number, entrykey);
            }
            else
            {
                requestDetails = LINQCalls.getExistingPassportEntry(WorkflowID, staffADProfile.employee_number);
            }

            EntryModel entryModel = new EntryModel();

            entryModel          = LINQCalls.getWorkflowEntry(WorkflowID);
            ViewBag.StaffBranch = entryModel.Branch;
            int      requeststageid  = entryModel.RequestStageId;
            string   requeststage    = entryModel.RequestStage;
            DateTime requestdate     = entryModel.DateSubmitted;
            string   initiatornumber = LINQCalls.getInitiatorNumber(WorkflowID) ?? staffADProfile.employee_number;

            string cansave = (requeststage.Equals(INIT_STAGE) || requeststage.Equals(DENIED)) && initiatornumber.Equals(staffADProfile.employee_number)
                                            ? "true" : "false";

            staffADProfile.appperiod = entryModel.AppraisalPeriod;

            XElement  ApprovalHistory = LINQCalls.getApprovalHistory(WorkflowID);
            XDocument xDocument       = DataHandlers.ToXDocument(ApprovalHistory);

            List <ApprovalDetails> approvalHistory = xDocument.Descendants("Approvals").Select(det => new ApprovalDetails
            {
                ApproverNames        = det.Element("ApproverName").Value,
                ApproverStaffNumbers = det.Element("ApproverStaffNumber").Value,
                ApprovedStages       = det.Element("ApprovedStage").Value,
                ApproverAction       = det.Element("ApproverAction").Value,
                ApprovalDateTime     = det.Element("ApprovalDateTime").Value
            })
                                                     .ToList();

            SuperPassportModel superPassportModel = new SuperPassportModel();

            if (TempData["superPassportModel"] != null)
            {
                superPassportModel = TempData["superPassportModel"] as SuperPassportModel;
            }
            else
            {
                superPassportModel = new SuperPassportModel {
                    WorkflowID        = WorkflowID,
                    RequestStageID    = entryModel.RequestStageId,
                    RequestStage      = entryModel.RequestStage,
                    RequestDate       = entryModel.DateSubmitted,
                    StaffADProfile    = staffADProfile,
                    RequestDetails    = requestDetails,
                    CanSave           = cansave,
                    ApprovalDetails   = approvalHistory,
                    EntryModel        = entryModel,
                    RequestBranch     = entryModel.Branch,
                    RequestBranchCode = entryModel.BranchCode
                };
            }

            Session["requestDetails"] = superPassportModel.RequestDetails;
            TempData["editMode"]      = (editMode == true) ? null : "false";

            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"] as string;
            }

            TempData["superPassportModel"] = superPassportModel;
            return(RedirectToAction("PassportInputForm"));
        }