Ejemplo n.º 1
0
        /// <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"));
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }