Ejemplo n.º 1
0
        public static List <StatisticModule> GetStatistic()
        {
            using (var dbManager = new DbManager(Dbid))
            {
                var sql = new SqlQuery(ResDataTable)
                          .SelectCount().Select(ResCultureTable + ".value", ResFilesTable + ".projectName")
                          .InnerJoin(ResFilesTable, Exp.EqColumns(ResFilesTable + ".id", ResDataTable + ".fileid"))
                          .InnerJoin(ResCultureTable, Exp.EqColumns(ResDataTable + ".cultureTitle", ResCultureTable + ".title"))
                          .Where(Exp.Lt("flag", 3))
                          .Where("resourceType", "text")
                          .Where("isLock", 0)
                          .GroupBy("value", "projectName")
                          .OrderBy("value", true)
                          .OrderBy("projectName", true);

                var stat    = dbManager.ExecuteList(sql);
                var allStat = new List <StatisticModule>();

                foreach (var culture in stat.Select(data => (string)data[1]).Distinct())
                {
                    var cultureData = new StatisticModule {
                        Culture = culture
                    };

                    foreach (var project in stat.Select(data => (string)data[2]).Distinct())
                    {
                        cultureData.Counts.Add(project, stat.Where(r => (string)r[1] == culture && (string)r[2] == project).Sum(r => (Convert.ToInt32(r[0]))));
                    }

                    allStat.Add(cultureData);
                }

                return(allStat);
            }
        }
Ejemplo n.º 2
0
        public static List <StatisticModule> GetStatistic()
        {
            using (var dbManager = DbManager.FromHttpContext(Dbid))
            {
                var sql = new SqlQuery(ResDataTable + " r1")
                          .Select("sum(LENGTH(r1.textvalue) - LENGTH(REPLACE(r1.textvalue, ' ', '')) + 1)")
                          .Select("rc.value", "rf.projectName")
                          .Select("sum(LENGTH(r2.textvalue) - LENGTH(REPLACE(r2.textvalue, ' ', '')) + 1)")
                          .InnerJoin(ResFilesTable + " as rf", Exp.EqColumns("rf.id", "r1.fileid"))
                          .InnerJoin(ResCultureTable + " as rc", Exp.EqColumns("r1.cultureTitle", "rc.title"))
                          .InnerJoin(ResDataTable + " as r2", Exp.And(Exp.EqColumns("r1.fileID", "r2.fileID"), Exp.EqColumns("r1.title", "r2.title")))
                          .Where(Exp.Lt("r1.flag", 3))
                          .Where("r1.resourceType", "text")
                          .Where("rf.isLock", 0)
                          .Where("r2.cultureTitle", "Neutral")
                          .Where(!Exp.In("rf.id", new List <int> {
                    259, 260, 261
                }))
                          .GroupBy("rc.value", "rf.projectName")
                          .OrderBy("rc.value", true)
                          .OrderBy("rf.projectName", true);

                var stat    = dbManager.ExecuteList(sql);
                var allStat = new List <StatisticModule>();

                foreach (var culture in stat.Select(data => (string)data[1]).Distinct())
                {
                    var cultureData = new StatisticModule {
                        Culture = culture
                    };

                    foreach (var project in stat.Select(data => (string)data[2]).Distinct())
                    {
                        var data = stat.Where(r => (string)r[1] == culture && (string)r[2] == project).ToList();
                        cultureData.Counts.Add(project, new Tuple <int, int>(data.Sum(r => Convert.ToInt32(r[0])), data.Sum(r => Convert.ToInt32(r[3]))));
                    }

                    allStat.Add(cultureData);
                }

                return(allStat);
            }
        }
Ejemplo n.º 3
0
 public HttpResponseMessage StatisticA()
 {
     return(Request.CreateResponse(HttpStatusCode.OK, StatisticModule.StatisticA()));
 }
Ejemplo n.º 4
0
 public override void Setup()
 {
     base.Setup();
     Module = new StatisticModule(ServerStatisticStorage, PlayerStatisticStorage);
 }
Ejemplo n.º 5
0
 public HttpResponseMessage getStaticMark(int id)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, StatisticModule.getStaticMark(id)));
 }