/// <summary> /// Create report WorkerReport /// </summary> /// <param name="viewName">viewName </param> /// <returns>List<ReportWorker></returns> public static List <ReportProject> CreateReportsProject(string viewName) { Func <MySqlDataReader, List <ReportProject> > func = (reader) => { List <ReportProject> reportProject = new List <ReportProject>(); while (reader.Read()) { reportProject.Add(ConvertReport.ConvertDBtoReport(reader)); } return(reportProject); }; List <ReportProject> reportProjects = DBAccess.RunReader(func, "report", new List <string>() { viewName }, new List <string>() { "viewName" }); foreach (var item in reportProjects) { item.Items = GetDepartmentsWorkersProject(item.Id); } return(reportProjects); }
/// <summary> /// Gets department to reportProject /// </summary> /// <param name="id">idProject</param> /// <returns>List<ReportProject></returns> private static List <ReportProject> GetDepartmentsWorkersProject(int id) { Func <MySqlDataReader, List <ReportProject> > func = (reader) => { List <ReportProject> reportProject = new List <ReportProject>(); while (reader.Read()) { reportProject.Add(ConvertReport.ConvertDBtoDepartment(reader)); } return(reportProject); }; List <ReportProject> departmentProjects = DBAccess.RunReader(func, "departmensProject", new List <string>() { id.ToString() }, new List <string>() { "Id" }); foreach (var item in departmentProjects) { item.Items = GetWorkersByDepartmentAndProject(item.Id, id); item.SumHoursDo = item.Items.Sum(p => p.SumHoursDo); } return(departmentProjects); }
/// <summary> /// Create report WorkerReport /// </summary> /// <param name="viewName">viewName </param> /// <returns>List<ReportWorker></returns> public static List <ReportWorker> CreateReportsWorker(string viewName) { Func <MySqlDataReader, List <ReportWorker> > func = (reader) => { List <ReportWorker> reportWorker = new List <ReportWorker>(); while (reader.Read()) { reportWorker.Add(ConvertReport.ConvertDBtoReportWorker(reader)); } return(reportWorker); }; List <ReportWorker> reportWorkers = DBAccess.RunReader(func, "report", new List <string>() { viewName }, new List <string>() { "viewName" }); reportWorkers.ForEach(r => { r.ParentId = 0; r.Items = GetReportWorkerDetailsById(r.Id); }); return(reportWorkers); }
/// <summary> /// 後台終端報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetSourceReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetSourceReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <SourceReport> >(dataStr); //轉換前端Model List <ReportSource> reportSources = ConvertReport.ConvertReportSourceModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 reportSources = reportSources.OrderBy(o => o.group_name).ToList(); reportSources = reportSources.Skip((afterParameters.PageNum - 1) * afterParameters.PageSize).Take(afterParameters.PageSize).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportSources.ToDataTable <ReportSource>()); return(ds); }
public static List <ReportProject> CreateReportsProject(string viewName) { Func <MySqlDataReader, List <ReportProject> > func = (reader) => { List <ReportProject> reportProject = new List <ReportProject>(); while (reader.Read()) { reportProject.Add(ConvertReport.ConvertDBtoReport(reader)); } return(reportProject); }; List <ReportProject> reportProjects = DBAccess.RunReader(func, "report", new List <string>() { viewName }, new List <string>() { "viewName" }); foreach (var item in reportProjects) { item.Project.workers = new List <UserWithoutPassword>(); List <ProjectWorker> workerInProject = LogicManager.getUsersBelongProjects(item.Project.ProjectId); var workerInProjectGroup = workerInProject.GroupBy(p => p.User.DepartmentId); foreach (var departmentWorkers in workerInProjectGroup) { item.DepartmentUser.Add(new HourDepartmentProject()); } } return(reportProjects); }
/// <summary> /// 後台代理報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetIntegratedReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetIntegratedReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <IntegratedReport> >(dataStr); //轉換前端Model List <ReportIntegrated> reportIntegrateds = ConvertReport.ConvertReportIntegratedModel(backData); //DataTable totalDataTable = new DataTable(); //totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); //var row = totalDataTable.NewRow(); //row["totalCount"] = backData.Count; //totalDataTable.Rows.Add(row); DataSet ds = new DataSet(); if (reportIntegrateds.Count == 0) { reportIntegrateds.Add(new ReportIntegrated()); } ds.Tables.Add(reportIntegrateds.ToDataTable <ReportIntegrated>()); return(ds); }
/// <summary> /// 後台代理報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetAgencyHender(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetAgencyHender"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <AgentsReport> >(dataStr); //轉換前端Model List <ReportAgent> reportAgents = ConvertReport.ConvertReportAgentModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 reportAgents = reportAgents.OrderByDescending(o => o.TotalBettingAccount).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportAgents.ToDataTable <ReportAgent>()); return(ds); }
/// <summary> /// 直播後台-主播報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public return_anchor_tip_record GetAnchorsReport(LiveParameters liveParameters) { var response = GetLiveReport(liveParameters, "GetAnchorsReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <AnchorListReport>(dataStr); //轉換前端Model return_anchor_tip_record reportLotterys = ConvertReport.ConvertReportAnchorsModel(backData); return(reportLotterys); }
/// <summary> /// 平台彩種報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetPlatformLotteryReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetPlatformLotteryReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <LotteryReport> >(dataStr); //轉換前端Model List <ReportLottery> reportLotterys = ConvertReport.ConvertReportLotteryModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 switch (afterParameters.OrderBy) { case "profits_money desc": reportLotterys = reportLotterys.OrderByDescending(o => o.ProfitMoney).ToList(); break; case "profits_money asc": reportLotterys = reportLotterys.OrderBy(o => o.ProfitMoney).ToList(); break; case "profits_rates desc": reportLotterys = reportLotterys.OrderByDescending(o => o.ProfitRate).ToList(); break; //盈率递增 case "profits_rates asc": reportLotterys = reportLotterys.OrderBy(o => o.ProfitRate).ToList(); break; default: reportLotterys = reportLotterys.OrderByDescending(o => o.BetMoney).ToList(); break; } reportLotterys = reportLotterys.Skip((afterParameters.PageNum - 1) * afterParameters.PageSize).Take(afterParameters.PageSize).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportLotterys.ToDataTable <ReportLottery>()); return(ds); }
/// <summary> /// Gets workers to departments project /// </summary> /// <param name="idDepartment">idDepartment</param> /// <param name="idProject">idProject</param> /// <returns></returns> private static List <ReportProject> GetWorkersByDepartmentAndProject(int idDepartment, int idProject) { string query = $"SELECT * FROM managertasks.sumhoursforuserproject WHERE projectId={idProject} and departmentUserId={idDepartment}"; Func <MySqlDataReader, List <ReportProject> > func = (reader) => { List <ReportProject> workersReport = new List <ReportProject>(); while (reader.Read()) { workersReport.Add(ConvertReport.ConvertDBtoWorkerInReport(reader)); } return(workersReport); }; return(DBAccess.RunReader(query, func)); }
public static List <ReportWorker> CreateReportsWorker(string viewName) { Func <MySqlDataReader, List <ReportWorker> > func = (reader) => { List <ReportWorker> reportWorker = new List <ReportWorker>(); while (reader.Read()) { reportWorker.Add(ConvertReport.ConvertDBtoReportWorker(reader)); } return(reportWorker); }; return(DBAccess.RunReader(func, "report", new List <string>() { viewName }, new List <string>() { "viewName" })); }
public static List <ReportProject> CreateReports(List <string> param) { Func <MySqlDataReader, List <ReportProject> > func = (reader) => { List <ReportProject> reportProject = new List <ReportProject>(); while (reader.Read()) { reportProject.Add(ConvertReport.ConvertDBtoReport(reader)); } return(reportProject); }; return(DBAccess.RunReader(func, "CreateReport", new List <string>() { param[0] }, new List <string>() { param[1] })); }
/// <summary> /// Gets report worker details- create report with self reference /// </summary> /// <param name="idWorker">idUser</param> /// <returns>List<ReportWorker>-</returns> public static List <ReportWorker> GetReportWorkerDetailsById(int idWorker) { Func <MySqlDataReader, List <ReportWorker> > func = (reader) => { List <ReportWorker> reportWorker = new List <ReportWorker>(); while (reader.Read()) { ReportWorker reportWorker1 = ConvertReport.ConvertDBtoWorkersReport(reader); reportWorker1.Id = index++; reportWorker1.ParentId = idWorker; reportWorker.Add(reportWorker1); } return(reportWorker); }; return(DBAccess.RunReader(func, "reportWorker", new List <string>() { idWorker.ToString() }, new List <string>() { "idWorker" })); }
/// <summary> /// 會員報表-會員報表歷史 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetUsersHistory(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetUsersHistory"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <UsersHistoryReport> >(dataStr); //轉換前端Model List <ReportHistory> reportMembers = ConvertReport.ConvertReportHistoryMemberModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportMembers.ToDataTable <ReportHistory>()); return(ds); }