Esempio n. 1
0
        public static Boolean routeForApproval(TNF tnf)
        {
            User        currentUser     = null;
            Workflow    currentWorkflow = wfDAO.getCurrentActiveWorkflow();
            List <User> users           = new List <User>();
            string      tnfType         = "";
            Boolean     gotBudget       = false;

            //getting the type if it's individual or group
            if (tnf.getType().Equals("Individual"))
            {
                currentUser = tnf.getUser();
                tnfType     = "Individual";
            }
            else
            {
                users   = tnf.getUsers();
                tnfType = "Group";
            }

            // check if not group then check individual duration, else check each individual in the group
            int probationPeriod = currentWorkflow.getProbationPeriod();

            if (!users.Any())
            {
                if (currentUser.getLengthOfSevice() < probationPeriod)
                {
                    // to do logic for > probationPeriod
                }
            }
            else
            {
                foreach (User user in users)
                {
                    // check duration for each user
                    // to do logic if user’s duration is < probationPeriod
                }
            }

            //To check budget, variable checking is gotBudget
            if (gotBudget)
            {
                if (tnfType.Equals("Individual"))
                {
                    return(routeIndividual(tnf));
                }
                else
                {
                    return(routeGroup(tnf));
                }
            }
            else
            {
                //updateTNFStatus("Rejected.Department no budget");
                //to use tnfDAO to update status
                return(false);
            }
        }
Esempio n. 2
0
        public static Boolean routeForApproval(TNF tnf)
        {
            User        currentUser     = null;
            Workflow    currentWorkflow = wfDAO.getCurrentActiveWorkflow(tnf.getType());
            List <User> users           = new List <User>();
            string      tnfType         = "";
            Boolean     gotBudget       = false;

            //getting the type if it's individual or group
            if (tnf.getType().Equals("individual"))
            {
                currentUser = tnf.getUser();
                tnfType     = "Individual";
            }
            else
            {
                users   = tnf.getUsers();
                tnfType = "Group";
            }

            //To check budget
            if (tnfType.Equals("Individual"))
            {
                Department currentDept   = deptDAO.getDeptByName(tnf.getUser().getDepartment());
                Course     currentCourse = tnfDAO.getCourseFromTNF(tnf.getTNFID());
                double     courseCost    = currentCourse.getPrice();
                gotBudget = deptDAO.checkDeptBudget(currentDept.getDeptName(), currentCourse.getPrice());
            }
            else
            {
                //check budget for each member of group
            }
            if (gotBudget)
            {
                if (tnfType.Equals("Individual"))
                {
                    return(routeIndividual(tnf));
                }
                else
                {
                    return(routeGroup(tnf));
                }
            }
            else
            {
                tnfDAO.updateTNFStatus(tnf.getTNFID(), "Rejected. Department no budget.");
                return(false);
            }
        }
        protected void submitBtn_Click(object sender, EventArgs e)
        {
            //To do validations here
            if (courseInput.SelectedIndex == 0)
            {
                lblErrorMsgTest.Visible = true;
                lblErrorMsgTest.Text    = "Got error";
            }

            //Assume all fields entered correctly
            //declaration of variables
            WorkflowDAO wfDAO                             = new WorkflowDAO();
            TNFDAO      tnfDAO                            = new TNFDAO();
            User        currentUser                       = (User)Session["currentUser"];
            int         courseID                          = Convert.ToInt32(courseInput.SelectedValue);
            int         lessonID                          = Convert.ToInt32(Request.Form["rbnLessonID"]);
            string      prepareForNewJobRole              = null;
            string      prepareForNewJobRoleText          = null;
            DateTime?   prepareForNewJobRoleCompletedDate = null;
            string      shareKnowledge                    = null;
            string      shareKnowledgeText                = null;
            DateTime?   shareKnowledgeCompletedDate       = null;
            string      otherObjectives                   = null;
            string      otherObjectivesText               = null;
            DateTime?   otherObjectivesCompletedDate      = null;
            DateTime    applicationDate                   = DateTime.Now.Date;


            if (objectiveInput1.Checked)
            {
                prepareForNewJobRole              = "y";
                prepareForNewJobRoleText          = objectiveElaborate1.Text;
                prepareForNewJobRoleCompletedDate = DateTime.ParseExact(completeDateInput1.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
            }
            else
            {
                prepareForNewJobRole = "n";
            }
            if (objectiveInput2.Checked)
            {
                shareKnowledge              = "y";
                shareKnowledgeText          = objectiveElaborate2.Text;
                shareKnowledgeCompletedDate = DateTime.ParseExact(completeDateInput2.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
            }
            else
            {
                shareKnowledge = "n";
            }
            if (objectiveInput3.Checked)
            {
                otherObjectives              = "y";
                otherObjectivesText          = objectiveElaborate3.Text;
                otherObjectivesCompletedDate = DateTime.ParseExact(completeDateInput3.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
            }
            else
            {
                otherObjectives = "n";
            }


            //creation of TNF object
            Workflow currentWF = wfDAO.getCurrentActiveWorkflow("individual");
            TNF      newTNF    = new TNF(currentUser, "individual", "pending", 0, currentWF, applicationDate);
            int      tnfid     = tnfDAO.createTNF(newTNF);

            newTNF.setTNFID(tnfid);
            tnfDAO.createTNF_Data(tnfid, courseID, prepareForNewJobRole, prepareForNewJobRoleText, prepareForNewJobRoleCompletedDate, shareKnowledge, shareKnowledgeText, shareKnowledgeCompletedDate, otherObjectives, otherObjectivesText, otherObjectivesCompletedDate, lessonID);

            //start routing

            Boolean successOrNot = Workflow_Route.routeForApproval(newTNF);

            if (successOrNot)
            {
                //to create lesson info
                Response.Redirect("submitTRF.aspx");
            }
            else
            {
                //do something
            }
        }