/// <summary> /// Changes the user's current project to value provided, also updating the area and iteration and /// redirecting to a new url. /// </summary> public ActionResult ChangeProject(string project, string area, string iteration, string fromUrl) { if (!string.IsNullOrEmpty(project) && project != UserContext.Current.CurrentProject.Name) { UserContext.Current.ChangeCurrentProject(project); } else { if (!string.IsNullOrEmpty(area)) { AreaSummary summary = UserContext.Current.CurrentProject.Areas.FirstOrDefault(a => a.Path == area); UserContext.Current.Settings.AreaName = summary.Name; UserContext.Current.Settings.AreaPath = summary.Path; } if (!string.IsNullOrEmpty(iteration)) { IterationSummary summary = UserContext.Current.CurrentProject.Iterations.FirstOrDefault(i => i.Path == iteration); UserContext.Current.Settings.IterationName = summary.Name; UserContext.Current.Settings.IterationPath = summary.Path; } } // Redirect, however if the fromUrl has the bugs/tasks filter querystrings do not redirect // as this will cause those filter settings to be persisted onto the settings of project we're changing to. if (!string.IsNullOrEmpty(fromUrl)) { Uri uri = new Uri(fromUrl); return(Redirect(uri.AbsolutePath)); } else { return(RedirectToAction("Index")); } }
/// <summary> /// Creates an RSS feed, returning an <see cref="RssActionResult"/> for the list of <see cref="WorkItemSummary"/> objects provided, /// which are filtered using the parameters given. /// </summary> protected ActionResult Rss(IEnumerable <WorkItemSummary> list, string title, string projectName, string areaPath, string iterationPath, string filter) { if (!string.IsNullOrEmpty(areaPath)) { areaPath = HttpUtility.UrlDecode(areaPath); AreaSummary summary = UserContext.Current.CurrentProject.Areas.FirstOrDefault(a => a.Path == areaPath); UserContext.Current.Settings.AreaName = summary.Name; UserContext.Current.Settings.AreaPath = summary.Path; } else if (!string.IsNullOrEmpty(iterationPath)) { areaPath = HttpUtility.UrlDecode(iterationPath); IterationSummary summary = UserContext.Current.CurrentProject.Iterations.FirstOrDefault(i => i.Path == iterationPath); UserContext.Current.Settings.IterationName = summary.Name; UserContext.Current.Settings.IterationPath = summary.Path; } RssActionResult result = new RssActionResult(); result.Feed = GetRssFeed(list, title); return(result); }
public object GetAreaSummary([FromBody] AreaFilterRequest areaFilterRequest) { var geometry = ""; var epsgCode = 0; if (areaFilterRequest != null) { geometry = areaFilterRequest.Geometry; epsgCode = areaFilterRequest.EpsgCode == null ? default(int) : int.Parse(areaFilterRequest.EpsgCode); } var areaSummary = SqlServer.GetAreaSummary(geometry, epsgCode); var r = new AreaSummary { AreaCount = SqlServer.GetAreaSummaryCount(AreaType.Fylke, geometry, epsgCode), ConservationAreaCount = SqlServer.GetAreaSummaryCount(AreaType.Verneområde, geometry, epsgCode) }; foreach (var areaSummaryItem in areaSummary) { if (areaSummaryItem.Item4 == AreaType.Fylke) { r.Areas.Add(areaSummaryItem.Item1, new AreaSummaryItem(areaSummaryItem.Item2, areaSummaryItem.Item5)); } } foreach (var areaSummaryItem in areaSummary) { if (areaSummaryItem.Item4 != AreaType.Kommune) { continue; } var countyNumber = areaSummaryItem.Item1 / 100; if (r.Areas.ContainsKey(countyNumber)) { r.Areas[countyNumber] .Areas.Add(areaSummaryItem.Item1, new AreaSummaryItem(areaSummaryItem.Item2, areaSummaryItem.Item5)); } } foreach (var areaSummaryItem in areaSummary) { if (areaSummaryItem.Item4 != AreaType.Verneområde) { continue; } var categoryName = Områdetyper.KodeTilNavn(areaSummaryItem.Item3); var category = areaSummaryItem.Item3; if (areaSummaryItem.Item3 == "Andre") { category = "OTHERS"; } if (r.ConservationAreas.ContainsKey(category)) { r.ConservationAreas[category].NatureAreaCount += areaSummaryItem.Item5; r.ConservationAreas[category] .Areas.Add(areaSummaryItem.Item1, new AreaSummaryItem(areaSummaryItem.Item2, areaSummaryItem.Item5)); } else { var conservationAreaSummaryItem = new AreaSummaryItem(categoryName, areaSummaryItem.Item5); conservationAreaSummaryItem.Areas.Add(areaSummaryItem.Item1, new AreaSummaryItem(areaSummaryItem.Item2, areaSummaryItem.Item5)); r.ConservationAreas.Add(category, conservationAreaSummaryItem); } } var areaHierarchicallySummaryJson = JObject.FromObject(r); return(areaHierarchicallySummaryJson); }