Beispiel #1
0
        public ActionResult Prioritize()
        {
            ViewBag.CurrentView = "CashCost";

            var query = dbController.GetPrioritizeProjectPacInfoFromDb(programName);

            var listOfPrioritizeProjects = query.ToList <PrioritizeProjectPAC>();

            var queryIssuesRankings = (from t in dbPrioritization.IssuesRankings
                                       select t).ToList();

            for (int i = 0; i < listOfPrioritizeProjects.Count(); i++)
            {
                string projID = listOfPrioritizeProjects[i].projectID;

                IssuesRanking result = queryIssuesRankings.Find(x => x.bscmProjectsID == projID);

                if (result != null)
                {
                    listOfPrioritizeProjects[i].pacRank     = result.pacRank;
                    listOfPrioritizeProjects[i].overallRank = result.overallRank;
                    listOfPrioritizeProjects[i].ITHR        = result.ITHR;
                }


                if (listOfPrioritizeProjects[i].benefit != null)
                {
                    listOfPrioritizeProjects[i].benefit = Regex.Replace(listOfPrioritizeProjects[i].benefit, "<.*?>|&.*?;", string.Empty).Trim();
                }
            }

            listOfPrioritizeProjects.Sort();

            return(View(listOfPrioritizeProjects));
        }
        public void UpdateInfoInDb(List <PrioritizeProjectOverall> data)
        {
            var query = (from t in dbPrioritization.IssuesRankings
                         select t.bscmProjectsID).ToList();

            foreach (var item in data)
            {
                if (query.Contains(item.projectID))
                {
                    IssuesRanking foundItem = dbPrioritization.IssuesRankings.Find(item.projectID);
                    foundItem.pacRank     = item.pacRank;
                    foundItem.overallRank = item.overallRank;
                    foundItem.ITHR        = item.ITHR;
                }
                else
                {
                    IssuesRanking temp = new IssuesRanking();
                    temp.bscmProjectsID = item.projectID;
                    temp.pacRank        = item.pacRank;
                    temp.overallRank    = item.overallRank;
                    temp.ITHR           = item.ITHR;

                    dbPrioritization.IssuesRankings.Add(temp);
                }
            }
            dbPrioritization.SaveChanges();
        }
        public ActionResult Prioritize()
        {
            ViewBag.CurrentView = "Prioritization";

            var query = (from t1 in db.MSP_EpmProject_UserView
                         where programNames.Contains(t1.Program) && t1.State_of_Project == "Active"
                         select new PrioritizeProjectOverall
            {
                projectUID = t1.ProjectUID.ToString(),
                projectTitle = t1.ProjectTitle,
                projectID = t1.Project_ID,
                PAC = t1.Program,
                benefit = t1.Benefits_Comment
            });

            var listOfPrioritizeProjects = query.ToList <PrioritizeProjectOverall>();

            var queryIssuesRankings = (from t in dbPrioritization.IssuesRankings
                                       select t).ToList();

            for (int i = 0; i < listOfPrioritizeProjects.Count(); i++)
            {
                string projID = listOfPrioritizeProjects[i].projectID;

                IssuesRanking result = queryIssuesRankings.Find(x => x.bscmProjectsID == projID);

                if (result != null)
                {
                    listOfPrioritizeProjects[i].pacRank     = result.pacRank;
                    listOfPrioritizeProjects[i].overallRank = result.overallRank;
                    listOfPrioritizeProjects[i].ITHR        = result.ITHR;
                }


                if (listOfPrioritizeProjects[i].benefit != null)
                {
                    listOfPrioritizeProjects[i].benefit = Regex.Replace(listOfPrioritizeProjects[i].benefit, "<.*?>|&.*?;", string.Empty).Trim();
                }
            }

            listOfPrioritizeProjects.Sort();

            return(View(listOfPrioritizeProjects));
        }
        public ActionResult GanttChart(int numOfSprintsBefore = 5, int numOfSprintsAfter = 26)
        {
            int numberOfHoursInASprint = 72; //default
            int numberOfSprintsBefore  = numOfSprintsBefore;
            int numberOfSprintsAfter   = numOfSprintsAfter;

            PopulateViewBagWorkWeekRange(numberOfSprintsBefore, numberOfSprintsAfter);

            //Query gantt chart items
            var query = (from t1 in db142.MSP_EpmProject_UserView
                         where programNames.Contains(t1.Program) && t1.State_of_Project == "Active"
                         select new GanttChartItem
            {
                itemUID = t1.ProjectUID.ToString(),
                itemID = t1.Project_ID,
                itemName = t1.ProjectTitle,
                PAC = t1.Program
            });

            var listOfGanttChartItem = query.ToList <GanttChartItem>();

            var queryIssuesRankings = (from t in dbPrioritization.IssuesRankings
                                       where t.overallRank != 0 && t.ITHR.StartsWith("a")
                                       select t).ToList();

            var queryGanttChartDetails = (from t in dbGanttChart.AuxITGanttChart_Items
                                          select t).ToList();

            for (int i = 0; i < listOfGanttChartItem.Count(); i++)
            {
                string itemID = listOfGanttChartItem[i].itemID;

                IssuesRanking         result           = queryIssuesRankings.Find(x => x.bscmProjectsID == itemID);
                AuxITGanttChart_Items resultGanttChart = queryGanttChartDetails.Find(x => x.bscmProjectsID == itemID);

                if (result != null)
                {
                    listOfGanttChartItem[i].overallRank   = result.overallRank;
                    listOfGanttChartItem[i].rankingStatus = result.overallRank.ToString();
                    listOfGanttChartItem[i].ITHR          = Int32.Parse(result.ITHR.Split('-')[1]);
                    if (resultGanttChart != null)
                    {
                        numberOfHoursInASprint = resultGanttChart.numberOfHoursInASprint;

                        listOfGanttChartItem[i].rankingStatus = resultGanttChart.OCLT;

                        listOfGanttChartItem[i].developer            = resultGanttChart.developer;
                        listOfGanttChartItem[i].plannedStartWorkWeek = resultGanttChart.plannedStartWW;
                        listOfGanttChartItem[i].plannedEndWorkWeek   = resultGanttChart.plannedEndWW;
                        listOfGanttChartItem[i].actualStartWorkWeek  = resultGanttChart.actualStartWW;
                        listOfGanttChartItem[i].actualEndWorkWeek    = resultGanttChart.actualEndWW;
                        listOfGanttChartItem[i].deadlineWorkWeek     = resultGanttChart.needDateWW;
                        listOfGanttChartItem[i].developerWorkload    = resultGanttChart.developerWorkload;
                    }
                }
                else
                {
                    listOfGanttChartItem.RemoveAt(i);
                    i--;
                }
            }

            listOfGanttChartItem.Sort();

            ViewBag.numberOfHoursInASprint = numberOfHoursInASprint;
            ViewBag.numberOfSprintsBefore  = numberOfSprintsBefore;
            ViewBag.numberOfSprintsAfter   = numberOfSprintsAfter;

            return(View(listOfGanttChartItem));
        }