public JObject Post(string ProjectName) { var db = new AutomationDashboardEntities(); int TeamId = db.ProductTeams.First(team => team.TeamName == ProjectName).TeamId; var JSONFile = HttpContext.Current.Server.MapPath("~/jsons/WeeklyProgress.json"); string json = File.ReadAllText(JSONFile); JObject rss = JObject.Parse(json); List <spGetWeeklyProgressForProductArea_Result> WeeklyProgress = new List <spGetWeeklyProgressForProductArea_Result>(); var ProductAreas = db.AutomateDatas.Where(r => r.TeamId == TeamId).Select(col => col.ProductArea).Distinct(); DateTime Date1 = Helpers.GetPreviousFriday(DateTime.Now); DateTime Date2 = Helpers.GetPreviousFriday(Date1); foreach (var productArea in ProductAreas) { spGetWeeklyProgressForProductArea_Result data = db.spGetWeeklyProgressForProductArea(productArea, TeamId, Date2, Date1).FirstOrDefault(); if (data != null && (data.TFSTestCasesThisWeek > 0 || data.AutomatedThisWeek > 0)) { WeeklyProgress.Add(data); } } JArray DS1 = rss["data"]["datasets"][0]["data"] as JArray; JArray DS2 = rss["data"]["datasets"][1]["data"] as JArray; for (int i = 0; i < WeeklyProgress.Count; i++) { string PA = WeeklyProgress[i].ProductArea; JArray labels = (JArray)rss["data"]["labels"]; labels.Add(PA); DS1.Add(WeeklyProgress[i].TFSTestCasesThisWeek); DS2.Add(WeeklyProgress[i].AutomatedThisWeek); } return(rss); }
public JObject Get(int id) { var db = new AutomationDashboardEntities(); var JSONFile = HttpContext.Current.Server.MapPath("~/jsons/WeeklyProgress.json"); string json = System.IO.File.ReadAllText(JSONFile); JObject rss = JObject.Parse(json); List <spGetWeeklyProgressForProductArea_Result> WeeklyProgress = new List <spGetWeeklyProgressForProductArea_Result>(); var ProductAreas = db.AutomateDatas.Where(r => r.TeamId == id).Select(col => col.ProductArea).Distinct().ToList(); DateTime Date1, Date2; //if friday then show one week data if (DateTime.Now.DayOfWeek == DayOfWeek.Friday) { Date1 = DateTime.Now; Date2 = Helpers.GetPreviousFriday(Date1); } //else show data from previous week till date else { Date1 = Helpers.GetPreviousFriday(DateTime.Now).AddDays(7); Date2 = Helpers.GetPreviousFriday(Date1); Date2 = Helpers.GetPreviousFriday(Date2); } var FirstData = db.spGetStatusOfAutomationForATeamWithSpecifiedDate(id, Date1).ToDictionary(s => s.ProductArea); var SecondData = db.spGetStatusOfAutomationForATeamWithSpecifiedDate(id, Date2).ToDictionary(s => s.ProductArea); foreach (string productArea in ProductAreas) { bool flag = true; var progressData = new spGetWeeklyProgressForProductArea_Result(); progressData.ProductArea = productArea; progressData.TeamId = id; if (FirstData.ContainsKey(productArea) && SecondData.ContainsKey(productArea)) { progressData.TFSTestCasesThisWeek = FirstData[productArea].NoOfTFSTestcase - SecondData[productArea].NoOfTFSTestcase; progressData.AutomatedThisWeek = FirstData[productArea].NoOfAutomatedTestcases - SecondData[productArea].NoOfAutomatedTestcases; if (progressData.TFSTestCasesThisWeek == 0 && progressData.AutomatedThisWeek == 0) { flag = false; } } else if (!FirstData.ContainsKey(productArea) && !SecondData.ContainsKey(productArea)) { progressData.TFSTestCasesThisWeek = 0; progressData.AutomatedThisWeek = 0; flag = false; } else if (FirstData.ContainsKey(productArea)) { progressData.TFSTestCasesThisWeek = FirstData[productArea].NoOfTFSTestcase; progressData.AutomatedThisWeek = FirstData[productArea].NoOfAutomatedTestcases; } if (flag) { WeeklyProgress.Add(progressData); } } JArray DS1 = rss["data"]["datasets"][0]["data"] as JArray; JArray DS2 = rss["data"]["datasets"][1]["data"] as JArray; for (int i = 0; i < WeeklyProgress.Count; i++) { string PA = WeeklyProgress[i].ProductArea; JArray labels = (JArray)rss["data"]["labels"]; labels.Add(PA); DS1.Add(WeeklyProgress[i].TFSTestCasesThisWeek); DS2.Add(WeeklyProgress[i].AutomatedThisWeek); } return(rss); }