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); } }
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); } }
public HttpResponseMessage StatisticA() { return(Request.CreateResponse(HttpStatusCode.OK, StatisticModule.StatisticA())); }
public override void Setup() { base.Setup(); Module = new StatisticModule(ServerStatisticStorage, PlayerStatisticStorage); }
public HttpResponseMessage getStaticMark(int id) { return(Request.CreateResponse(HttpStatusCode.OK, StatisticModule.getStaticMark(id))); }