Beispiel #1
0
        public IHttpActionResult GetSiteList()
        {
            //ISiteService siteService = EngineContext.Current.Resolve<ISiteService>();
            IAqiManager      aqiManager   = EngineContext.Current.Resolve <IAqiManager>();
            IAqiGradeService gradeService = EngineContext.Current.Resolve <IAqiGradeService>();

            var allSite = aqiManager.GetAllStation();

            List <SiteGroup> gp = new List <SiteGroup>();

            List <SiteModel> result = new List <SiteModel>();

            foreach (var site in allSite)
            {
                SiteGroup g = gp.Where(p => p.GroupName == site.FirstPinyin).FirstOrDefault();
                if (null == g)
                {
                    g = new SiteGroup()
                    {
                        GroupName = site.FirstPinyin
                    };
                    gp.Add(g);
                }
                SiteModel sm = new SiteModel();
                sm.Id        = site.StationCode;
                sm.Name      = site.StationName;
                sm.Group     = site.FirstPinyin;
                sm.Latitude  = site.Latitude;
                sm.Longitude = site.Longitude;
                sm.Aqi       = aqiManager.GetSiteCurrentAqi(site.StationCode)[0];
                sm.Grade     = gradeService.CalcGrade(sm.Aqi).Grade;
                g.Items.Add(sm);
            }
            return(Ok(gp.OrderBy(g => g.GroupName).ToList()));
        }
Beispiel #2
0
        public IHttpActionResult GetRankingData()
        {
            IAqiManager aqiManager = EngineContext.Current.Resolve <IAqiManager>();
            string      json       = aqiManager.GetRankingData();

            return(new JsonStringActoinResult(json, this.Request));
        }
Beispiel #3
0
        public IHttpActionResult GetSiteAqi(string siteId)
        {
            if (string.IsNullOrEmpty(siteId))
            {
                siteId = "0";
            }
            IAqiManager aqiManager = EngineContext.Current.Resolve <IAqiManager>();
            string      json       = aqiManager.GetSiteAqiJson(siteId);

            return(new JsonStringActoinResult(json, this.Request));
        }
Beispiel #4
0
        public IHttpActionResult GetSiteCurrentAqi(StationId sites)
        {
            string[]       siteIds    = sites.Id.Split(',');
            List <SiteAqi> rs         = new List <SiteAqi>();
            IAqiManager    aqiManager = EngineContext.Current.Resolve <IAqiManager>();
            var            aqis       = aqiManager.GetSiteCurrentAqi(sites.Id);

            for (int i = 0; i < siteIds.Length; i++)
            {
                rs.Add(new SiteAqi()
                {
                    SiteId = siteIds[i], Aqi = aqis[i]
                });
            }
            return(Ok(rs));
        }