コード例 #1
0
        public string SiteNum()
        {
            var           obj   = new JArray();
            List <string> sites = GetAllSites();

            //get all projects's sites, class and Purpose
            List <Users>    user    = db.Users.ToList();
            List <Projects> project = db.Projects.ToList();
            var             result  = from p in project
                                      join u in user
                                      on p.UserId equals u.UserId
                                      select new { u.Site, u.Class };

            foreach (var item in sites)
            {
                List <Chart.SiteData> datas = new List <Chart.SiteData>();
                var a = result.Where(p => p.Site == item).GroupBy(x => x.Class).Select(c => new { Char = c.Key, Count = c.Count() }).ToList();
                if (a.Count() != 0)
                {
                    for (int i = 0; i < a.Count(); i++)
                    {
                        var            b    = a[i];
                        Chart.SiteData temp = new Chart.SiteData();
                        temp.ClassName = b.Char;
                        temp.Num       = b.Count;
                        datas.Add(temp);
                    }
                }
                else
                {
                    //沒有資料填無
                    Chart.SiteData temp = new Chart.SiteData();
                    temp.ClassName = "無";
                    temp.Num       = 1;
                    datas.Add(temp);
                }
                SiteArray ary = new SiteArray();
                ary.Site     = item;
                ary.SiteData = datas;
                obj.Add(JObject.FromObject(ary));
            }
            var convertJson = JsonConvert.SerializeObject(obj, Formatting.Indented);

            return(convertJson);
        }
コード例 #2
0
        public string AllSiteNum()
        {
            //get all projects's sites and Purpose
            List <Users>    user    = db.Users.ToList();
            List <Projects> project = db.Projects.ToList();
            var             result  = from p in project
                                      join u in user
                                      on p.UserId equals u.UserId
                                      select new { u.Site, p.Purpose };

            //get all sites
            List <string> sites = GetAllSites();

            var obj = new JArray();

            //User的Site
            foreach (var item in sites)
            {
                List <Chart.SiteData> datas = new List <Chart.SiteData>();
                String[] purpose            = { "尋找關鍵因子", "預測迴歸趨勢", "時間序列分析" };

                for (int i = 0; i < purpose.Count(); i++)
                {
                    Chart.SiteData temp = new Chart.SiteData();
                    temp.ClassName = purpose[i];
                    temp.Num       = result.Where(p => p.Purpose == purpose[i] && p.Site == item).Count();
                    datas.Add(temp);
                }
                SiteArray ary = new SiteArray();
                ary.Site     = item;
                ary.SiteData = datas;
                obj.Add(JObject.FromObject(ary));
            }
            var convertJson = JsonConvert.SerializeObject(obj, Formatting.Indented);

            return(convertJson);
        }