Ejemplo n.º 1
0
        // GET: NewScorecard
        public ActionResult NewScorecard()
        {
            Models.ScorecardModel model = new Models.ScorecardModel();
            model.scorecardgroups = new List <ScorecardGroup>();
            //model.scorecardgroups.Add(new ScorecardGroup { groupname = "Call Opening" });
            //model.scorecardgroups[0].scorecarditems.Add(new ScorecardItem());


            return(View(model));
        }
Ejemplo n.º 2
0
        // GET: Score
        public ActionResult Score()
        {
            Models.ScorecardModel model            = new Models.ScorecardModel();
            dsScorecard           ScorecardDataset = new dsScorecard();

            ScorecardTableAdapter ScorecardTA = new ScorecardTableAdapter();

            ScorecardTA.Fill(ScorecardDataset.Scorecard, null);

            UserTableAdapter UserTA = new UserTableAdapter();

            UserTA.Fill(ScorecardDataset.User);

            model.agentscored = new User();
            model.UserList    = new List <SelectListItem>();
            foreach (dsScorecard.UserRow UserRow in ScorecardDataset.User)
            {
                model.UserList.Add(new SelectListItem
                {
                    Text  = UserRow.FirstName + " " + UserRow.Surname,
                    Value = UserRow.UserID.ToString()
                });
            }

            List <string> ScorecardTemplates = new List <string>();

            model.ScorecardList = new List <SelectListItem>();
            foreach (dsScorecard.ScorecardRow row in ScorecardDataset.Scorecard)
            {
                //ScorecardTemplates.Add(row.ScorecardDescription);\ 
                SelectListItem item = new SelectListItem
                {
                    Text  = row.ScorecardName,
                    Value = row.ScorecardID.ToString()
                };
                model.ScorecardList.Add(item);
            }
            //ViewData["ScorecardList"] = ScorecardTemplates;

            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult NewScorecard(Models.ScorecardModel model, string submit)
        {
            System.Collections.Specialized.NameObjectCollectionBase.KeysCollection keys = Request.Form.Keys;
            foreach (string item in keys)
            {
                if (item.Contains("delete"))
                {
                    int           groupid    = Convert.ToInt32(item.Substring(18, item.IndexOf("]") - 18));
                    int           questionid = Convert.ToInt32(item.Replace(item.Substring(0, item.IndexOf("]") + 1), "").Replace(".scorecarditems[", "").Replace("].delete", ""));
                    ScorecardItem SCItem     = model.scorecardgroups[groupid].scorecarditems[questionid];
                    model.scorecardgroups[groupid].scorecarditems.Remove(SCItem);
                    //return View(model);
                }
                if (item.Contains("addpf"))
                {
                    int groupid = Convert.ToInt32(item.Substring(18, item.IndexOf("]") - 18));
                    List <SelectListItem> PossibleAnswersList = new List <SelectListItem>();
                    PossibleAnswersList.Add(new SelectListItem {
                        Text = "Pass", Value = "Pass"
                    });
                    PossibleAnswersList.Add(new SelectListItem {
                        Text = "Fail", Value = "Fail"
                    });
                    if (model.scorecardgroups[groupid].scorecarditems == null)
                    {
                        model.scorecardgroups[groupid].scorecarditems = new List <ScorecardItem>();
                    }
                    ScorecardItem SCitem = new ScorecardItem()
                    {
                        questiontype        = "Pass/Fail",
                        possibleanswers     = "Pass|Fail",
                        possibleanswerslist = PossibleAnswersList
                    };
                    model.scorecardgroups[groupid].scorecarditems.Add(SCitem);
                    ViewData[$"m.scorecardgroups[{groupid}].scorecarditems[{(model.scorecardgroups[groupid].scorecarditems.Count-1).ToString()}].possibleanswers"] = "Pass|Fail";
                    //return View(model);
                }
                if (item.Contains("addmc"))
                {
                    int groupid = Convert.ToInt32(item.Substring(18, item.IndexOf("]") - 18));
                    if (model.scorecardgroups[groupid].scorecarditems == null)
                    {
                        model.scorecardgroups[groupid].scorecarditems = new List <ScorecardItem>();
                    }
                    model.scorecardgroups[groupid].scorecarditems.Add(new ScorecardItem()
                    {
                        questiontype = "Multiple Choice"
                    });
                    //return View(model);
                }
                if (item.Contains("newitem"))
                {
                    string   key        = item.Replace("newitem", "itemvalue");
                    string[] value      = Request.Form.GetValues(key);
                    int      groupid    = Convert.ToInt32(item.Substring(18, item.IndexOf("]") - 18));
                    int      questionid = Convert.ToInt32(item.Replace(item.Substring(0, item.IndexOf("]") + 1), "").Replace(".scorecarditems[", "").Replace("].newitem", ""));

                    string[] existinganswers = new String[] { };
                    string   existinganswer  = Request.Form.GetValues($"m.scorecardgroups[{groupid}].scorecarditems[{questionid}].possibleanswers")[0];
                    if (existinganswer != "")
                    {
                        existinganswers = existinganswer.Split(Convert.ToChar("|"));
                    }


                    if (model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswerslist == null)
                    {
                        model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswerslist = new List <SelectListItem>();
                        if (existinganswers != null)
                        {
                            foreach (string answer in existinganswers)
                            {
                                model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswerslist.Add(new SelectListItem {
                                    Text = answer, Value = answer
                                });
                            }
                        }
                    }
                    model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswerslist.Add(new SelectListItem {
                        Text = value[0], Value = value[0]
                    });

                    String possibleanswers = "";
                    foreach (SelectListItem answer in model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswerslist)
                    {
                        if (possibleanswers != "")
                        {
                            possibleanswers = possibleanswers + "|";
                        }
                        possibleanswers = possibleanswers + answer.Text;
                    }
                    model.scorecardgroups[groupid].scorecarditems[questionid].possibleanswers = possibleanswers;
                    ViewData[$"m.scorecardgroups[{groupid}].scorecarditems[{questionid}].possibleanswers"] = possibleanswers;

                    // return View(model);
                }
            }


            if (submit == "Add Group")
            {
                if (model.scorecardgroups == null)
                {
                    model.scorecardgroups = new List <ScorecardGroup>();
                }
                model.scorecardgroups.Add(new ScorecardGroup {
                    groupname = "New Group"
                });
                model.scorecardgroups[model.scorecardgroups.Count - 1].scorecarditems = new List <ScorecardItem>();


                // return View(model);
            }



            for (int j = 0; j < model.scorecardgroups.Count; j++)
            {
                ScorecardGroup Group = model.scorecardgroups[j];

                for (int i = 0; i < model.scorecardgroups[j].scorecarditems.Count; i++)
                {
                    ScorecardItem Item            = model.scorecardgroups[j].scorecarditems[i];
                    String        PreviousAnswers = "";

                    PreviousAnswers = Item.possibleanswers;
                    if (PreviousAnswers == null || PreviousAnswers == "")
                    {
                        try
                        {
                            PreviousAnswers = Request.Form.GetValues($"m.scorecardgroups[{j}].scorecarditems[{i}].possibleanswers")[0];
                        }
                        catch (Exception e)
                        {
                            PreviousAnswers = Item.possibleanswers;
                        }
                    }


                    if (PreviousAnswers != null)
                    {
                        String[] PossibleAnswers = PreviousAnswers.Split(Convert.ToChar("|"));

                        ViewData[$"m.scorecardgroups[{j}].scorecarditems[{i}].possibleanswers"] = PreviousAnswers;
                        Item.possibleanswerslist = new List <SelectListItem>();
                        foreach (String Answer in PossibleAnswers)
                        {
                            Item.possibleanswerslist.Add(new SelectListItem {
                                Text = Answer, Value = Answer
                            });
                        }
                    }
                }
            }


            if (submit == "Save")
            {
                dsScorecard ScorecardDataset = new dsScorecard();

                ScorecardTableAdapter          ScorecardTA      = new ScorecardTableAdapter();
                ScorecardItemGroupTableAdapter ScorecardGroupTA = new ScorecardItemGroupTableAdapter();
                ScorecardItemTableAdapter      ScorecardItemTA  = new ScorecardItemTableAdapter();

                int ScorecardID = Convert.ToInt32(ScorecardTA.ScorecardInsertCommand(model.scorecardname, model.scorecarddescription, model.passmark));

                for (int j = 0; j < model.scorecardgroups.Count; j++)
                {
                    ScorecardGroup group   = model.scorecardgroups[j];
                    int            GroupID = Convert.ToInt32(ScorecardGroupTA.ScorecardItemGroupInsertCommand(ScorecardID, group.groupname, group.groupdescription, group.pasmark));

                    for (int i = 0; i < model.scorecardgroups[j].scorecarditems.Count; i++)
                    {
                        ScorecardItem item = model.scorecardgroups[j].scorecarditems[i];
                        bool          autofail;
                        if (item.autofail == "Yes")
                        {
                            autofail = true;
                        }
                        else
                        {
                            autofail = false;
                        }

                        string existinganswer = Request.Form.GetValues($"m.scorecardgroups[{j}].scorecarditems[{i}].possibleanswers")[0];

                        ScorecardItemTA.Insert(ScorecardID, item.question, item.questiontype, existinganswer, item.scoremodifier, autofail, GroupID, item.answer);
                    }
                }
                return(Redirect("/home/index"));
            }

            return(View(model));
        }