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