示例#1
0
        public ActionResult TargetInputForm(SuperInputTargetModel superInputTargetModel, string TargetAction, string StaffNumber)
        {
            List <RequestDetails> requestDetails = superInputTargetModel.RequestDetails;

            IEnumerable <RequestDetails> requestdetails = superInputTargetModel.RequestDetails;
            DataTable dataTable = DataHandlers.ToDataTable(requestdetails);
            string    retVal    = "";

            switch (TargetAction)
            {
            case "AddStaff":
                //ADD the new Staff from the list
                if (AddStaff(superInputTargetModel))
                {
                    requestDetails.Add(TempData["newStaff"] as RequestDetails);
                }
                break;

            case "DeleteStaff":
                //DELETE the selected Staff from the list
                if (DeleteStaff(superInputTargetModel, StaffNumber))
                {
                    requestDetails = TempData["requestDetails"] as List <RequestDetails>;
                }
                break;

            case "Reset":
                // RESET all entries to ZERO
                requestDetails.Select(c => { c.cabal = c.cabal_l = c.sabal = c.sabal_l = c.fd = c.fx = c.inc = c.inc_l = c.rv = "0"; return(c); }).ToList();
                break;

            case "Save":
                // GOSH!!! I CAN'T HIDE THE entry_key & workflow_id COLUMN---REBUILD IT AGAIN
                requestDetails.Select(c => { c.entry_key = c.employee_number + "_" + superInputTargetModel.StaffADProfile.appperiod + "_" + superInputTargetModel.StaffADProfile.branch_code; return(c); }).ToList();
                requestDetails.Select(c => { c.workflowid = superInputTargetModel.WorkflowID; return(c); }).ToList();

                // SAVE the value to the DATABASE
                requestdetails = superInputTargetModel.RequestDetails;
                dataTable      = DataHandlers.ToDataTable(requestdetails);

                retVal = new AppDatabase().inputTargetEntries(dataTable, superInputTargetModel, "AppraisalDbConnectionString", SAVED_STATUS);
                Debug.WriteLine(retVal);

                if (retVal != null)
                {
                    TempData["UploadComplete"]        = "false";
                    TempData["ErrorMessage"]          = retVal;
                    TempData["superInputTargetModel"] = superInputTargetModel;
                }
                else
                {
                    return(RedirectToAction("MyEntries", "MyEntries", new { UserName = Session["UserName"] }));
                }
                break;

            case "Deny":
                // Good. let's send this f@*ker back
                requestDetails.Select(c => { c.entry_key = c.employee_number + "_" + superInputTargetModel.StaffADProfile.appperiod + "_" + superInputTargetModel.StaffADProfile.branch_code; return(c); }).ToList();
                requestDetails.Select(c => { c.workflowid = superInputTargetModel.WorkflowID; return(c); }).ToList();

                // SAVE the value to the DATABASE
                requestdetails = superInputTargetModel.RequestDetails;
                dataTable      = DataHandlers.ToDataTable(requestdetails);

                retVal = new AppDatabase().inputTargetEntries(dataTable, superInputTargetModel, "AppraisalDbConnectionString", DENIED_STATUS);
                Debug.WriteLine(retVal);

                if (retVal != null)
                {
                    TempData["UploadComplete"]        = "false";
                    TempData["ErrorMessage"]          = retVal;
                    TempData["superInputTargetModel"] = superInputTargetModel;
                }
                else
                {
                    //String.format(SUMBMITTEDMSG)--add the approvers
                    var approvers = new LINQCalls().getApproverNames(superInputTargetModel.WorkflowID, -1);
                    TempData["PostBackMessage"] = DENIEDMSG;
                    TempData["Approvers"]       = string.Join("\\n", approvers.ToArray());
                    return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval", new { UserName = Session["UserName"] as string }));
                }
                break;

            case "Submit":
                //LET'S SUBMIT THIS SHIT
                requestDetails.Select(c => { c.entry_key = c.employee_number + "_" + superInputTargetModel.StaffADProfile.appperiod + "_" + superInputTargetModel.StaffADProfile.branch_code; return(c); }).ToList();
                requestDetails.Select(c => { c.workflowid = superInputTargetModel.WorkflowID; return(c); }).ToList();
                // SAVE the value to the DATABASE
                IEnumerable <RequestDetails> _requestdetails = superInputTargetModel.RequestDetails;
                if (superInputTargetModel.EntryModel != null)
                {
                    //EDITTED REQUEST---APPROVAL OR RESUBMISSION
                    requestDetails.Select(c => { c.requeststageid = superInputTargetModel.RequestStageID; c.requeststage = superInputTargetModel.RequestStage; return(c); }).ToList();
                }
                DataTable _dataTable = DataHandlers.ToDataTable(_requestdetails);

                StaffADProfile staffADProfile = new StaffADProfile();
                staffADProfile.branch_code = new LINQCalls().getEntryProfile(superInputTargetModel.WorkflowID).branch_code;
                staffADProfile.branch_name = new LINQCalls().getEntryProfile(superInputTargetModel.WorkflowID).branch_name;
                string _retVal = new AppDatabase().inputTargetEntries(_dataTable, superInputTargetModel, "AppraisalDbConnectionString", SUBMIT_STATUS);

                Debug.WriteLine(_retVal);

                if (_retVal != null)
                {
                    TempData["UploadComplete"]        = "false";
                    TempData["ErrorMessage"]          = _retVal;
                    TempData["superInputTargetModel"] = superInputTargetModel;
                }
                else
                {
                    //String.format(SUMBMITTEDMSG)--add the approvers
                    int newstageid = 0;
                    switch (superInputTargetModel.RequestStageID)
                    {
                    case 0:
                        newstageid = 3;
                        break;

                    case -1:
                        newstageid = 3;
                        break;

                    case 3:
                        newstageid = 20;
                        break;

                    case 20:
                        newstageid = 100;
                        break;
                    }

                    /*EntryModel EntryModel = new LINQCalls().getWorkflowEntry( superInputTargetModel.WorkflowID );
                     * var approvers = new LINQCalls().getApproverNames(superInputTargetModel.WorkflowID,EntryModel.RequestStageId);*/
                    var approvers = new LINQCalls().getApproverNames(superInputTargetModel.WorkflowID, newstageid);
                    TempData["PostBackMessage"] = SUMBMITTEDMSG;
                    TempData["Approvers"]       = string.Join("\\n", approvers.ToArray());
                    return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval", new { UserName = Session["UserName"] as string }));
                }
                break;
            }

            superInputTargetModel.RequestDetails = requestDetails;
            TempData["superInputTargetModel"]    = superInputTargetModel;
            return(RedirectToAction("TargetInputForm", new { UserName = Session["UserName"] as string }));
        }
示例#2
0
        public ActionResult PassportInputForm(SuperPassportModel superPassportModel, string PassportAction)
        {
            List <RequestDetails> requestDetails = superPassportModel.RequestDetails;

            IEnumerable <RequestDetails> requestdetails = superPassportModel.RequestDetails;
            string retVal = "";

            switch (PassportAction)
            {
            case "CountryCountRefresh":

                //Form is submitted when the user selects the number of countries
                List <PassportDetails> passportDetails = new List <PassportDetails>();
                string sex = (superPassportModel.StaffADProfile.gender.Equals(1)) ? SEX_FEMALE: SEX_MALE;

                for (int i = 0; i < superPassportModel.StaffADProfile.countryCount; i++)
                {
                    PassportDetails pDetails = new PassportDetails();
                    pDetails.entry_key            = "";
                    pDetails.passportAuthority    = "";
                    pDetails.passportDateOfExpiry = "";
                    pDetails.passportDateOfIssue  = "";
                    pDetails.passportNationality  = "";
                    pDetails.passportNumber       = "";
                    pDetails.passportOtherNames   = "";
                    pDetails.passportPlaceOfBirth = "";
                    pDetails.passportSex          = sex;
                    pDetails.passportSurname      = "";
                    pDetails.passportType         = "P";
                    pDetails.passportDateOfBirth  = superPassportModel.StaffADProfile.dob;
                    pDetails.Nationality          = SelectListItemHelper.GetCountries();
                    passportDetails.Add(pDetails);
                }

                superPassportModel.PassportDetails = passportDetails;
                break;

            case "Deny":
                // Good. let's send this f@*ker back
                //requestDetails.Select(c => { c.entry_key = c.employee_number + "_" + superPassportModel.StaffADProfile.appperiod + "_" + superPassportModel.StaffADProfile.branch_code; return c; }).ToList();
                requestDetails.Select(c => { c.workflowid = superPassportModel.WorkflowID; return(c); }).ToList();

                // SAVE the value to the DATABASE
                requestdetails = superPassportModel.RequestDetails;
                //dataTable = DataHandlers.ToDataTable(requestdetails);

                //retVal = new AppDatabase().inputPassportEntries(dataTable, superPassportModel, "AppraisalDbConnectionString", DENIED_STATUS);

                if (retVal != null)
                {
                    TempData["UploadComplete"]     = "false";
                    TempData["ErrorMessage"]       = retVal;
                    TempData["superPassportModel"] = superPassportModel;
                }
                else
                {
                    //String.format(SUMBMITTEDMSG)--add the approvers
                    var approvers = LINQCalls.getApproverNames(superPassportModel.WorkflowID, -1);
                    TempData["PostBackMessage"] = DENIEDMSG;
                    TempData["Approvers"]       = string.Join("\\n", approvers.ToArray());
                    return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
                }
                break;

            case "Submit":
                if (ModelState.IsValid)
                {
                    if (!checkVlaidFileTypes(superPassportModel.PassportDetails))
                    {
                        ViewBag.ErrorMessage = "Invalid file type. Only \"pdf\" files are supported.";
                        //TempData["superPassportModel"] = superPassportModel;
                    }
                    else
                    {
                        IEnumerable <PassportDetails> _passportDetails = superPassportModel.PassportDetails;
                        _passportDetails.Select(c => { c.entry_key = superPassportModel.StaffADProfile.employee_number + "_" + c.passportNumber.ToUpper(); return(c); }).ToList();
                        _passportDetails.Select(c => { c.passportFileName = c.passportUpload.FileName; return(c); }).ToList();

                        _passportDetails.Select(c => { c.passportNumber = c.passportNumber.ToUpper();       return(c); }).ToList();
                        _passportDetails.Select(c => { c.passportSurname = c.passportSurname.ToUpper();      return(c); }).ToList();
                        _passportDetails.Select(c => { c.passportOtherNames = c.passportOtherNames.ToUpper();   return(c); }).ToList();
                        _passportDetails.Select(c => { c.passportPlaceOfBirth = c.passportPlaceOfBirth.ToUpper(); return(c); }).ToList();
                        _passportDetails.Select(c => { c.passportAuthority = c.passportAuthority.ToUpper();    return(c); }).ToList();

                        _passportDetails.Select(c => { c.passportContentType = c.passportUpload.ContentType; return(c); }).ToList();
                        _passportDetails.Select(c => {
                            Stream fs           = c.passportUpload.InputStream;
                            BinaryReader br     = new BinaryReader(fs);
                            byte[] bytes        = br.ReadBytes((Int32)fs.Length);
                            c.passportFileBytes = bytes;
                            return(c);
                        }).ToList();

                        DataTable dataTable = new DataTable();
                        dataTable = DataHandlers.ToDataTable(_passportDetails);

                        string _retVal = new AppDatabase().inputPassportEntries(dataTable, superPassportModel, "AppraisalDbConnectionString", SUBMIT_STATUS);

                        if (_retVal != null)
                        {
                            TempData["UploadComplete"]     = "false";
                            TempData["ErrorMessage"]       = _retVal;
                            TempData["superPassportModel"] = superPassportModel;
                        }
                        else
                        {
                            int newstageid = 0;
                            switch (superPassportModel.RequestStageID)
                            {
                            case 0:
                                newstageid = 3;
                                break;

                            case -1:
                                newstageid = 3;
                                break;

                            case 3:
                                newstageid = 20;
                                break;

                            case 20:
                                newstageid = 100;
                                break;
                            }

                            var approvers = LINQCalls.getHRApproverNames(superPassportModel.WorkflowID, newstageid);
                            TempData["PostBackMessage"] = SUMBMITTEDMSG;
                            TempData["Approvers"]       = string.Join("\\n", approvers.ToArray());
                            return(RedirectToAction("AwaitingMyApproval", "AwaitingApproval"));
                        }
                    }
                }
                break;
            }

            //superPassportModel.RequestDetails = requestDetails;
            TempData["superPassportModel"] = superPassportModel;
            return(RedirectToAction("PassportInputForm"));
        }