//WidgetModel widgetModel, int? interval, string startDate, string endDate public override async Task<ResultValue> GetSystemData(Dictionary<string, object> parameterDictionary) { try { var widgetModel = parameterDictionary["WidgetModel"] as WidgetModel; var startDate = parameterDictionary["StartDate"].ToString(); var endDate = parameterDictionary["EndDate"].ToString(); var interval = Convert.ToInt32(parameterDictionary["Interval"].ToString()); var siteRealtimeDataResult = await SiteRealtimeService.GetRealtimeData(widgetModel.EnHeader, widgetModel.DataType, widgetModel.TableName, startDate, endDate, widgetModel.DataCount.ToString(), interval); if(siteRealtimeDataResult != null) { SystemData = new ResultValue { Key = string.Empty, Value = JsonConvert.SerializeObject(siteRealtimeDataResult) }; } } catch(Exception ex) { ShowMessage.Show("查询数据出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to GetSystemData", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "GetSystemData", null); } } return SystemData; }
public async Task<ResultValue> GetSponsorData(string programName, string startDate, string endDate, string dataFilterCount, string dataOrderBy) { if(string.IsNullOrEmpty(dataOrderBy)) { dataOrderBy = ","; } var request = new RestRequest(string.Format(SponsorResource.SponsorDataRequest, programName, startDate, endDate, dataFilterCount, dataOrderBy), Method.POST); var data = new ResultValue(); var response = await this.client.ExecutePostTaskAsync<ResultValue>(request); if (((RestResponseBase)(response)).StatusCode == HttpStatusCode.OK) //200 { data = response.Data; } else if (((RestResponseBase)(response)).StatusCode == HttpStatusCode.NotFound) //404 { ShowMessage.Show("访问404错误"); } else if ((int)response.StatusCode == 422) { ShowMessage.Show("访问422错误"); } else if (((RestResponseBase)(response)).StatusCode == HttpStatusCode.InternalServerError) //500 { ShowMessage.Show("访问500错误"); } else { ShowMessage.Show("未知错误"); } return data; }
//WidgetModel widgetModel, int? interval, string startDate, string endDate public override async Task<ResultValue> GetSystemData(Dictionary<string, object> parameterDictionary) { try { var widgetModel = parameterDictionary["WidgetModel"] as WidgetModel; var startDate = parameterDictionary["StartDate"].ToString(); var endDate = parameterDictionary["EndDate"].ToString(); if (widgetModel == null) { return null; } // if TA has been configured if (widgetModel.Filter !=null) { var taInfo = JsonConvert.DeserializeObject<TargetAudienceInfo>(widgetModel.Filter); if (taInfo != null) { var clientId = parameterDictionary["ClientId"].ToString(); var programsName = await this.GetProgramsName(clientId, widgetModel.TableName); //var programsName = new string[]{"女神新装","偶滴歌神啊"}; //var programsName = new string[]{"女神新装"}; //var programsName = new string[] { "偶滴歌神啊" }; var taDataSet = await TargetAudienceService.Singleton.GetTaData(programsName, endDate, taInfo); var taData = TargetAudienceService.Singleton.ConvertDataSet(taDataSet, parameterDictionary); if (taDataSet != null) { var data = JsonConvert.SerializeObject(taData); var resultValue = new ResultValue(); resultValue.Value = data; } return null; } } var sponsorData = await SponsorService.Singleton.GetSponsorData(widgetModel.TableName, startDate, endDate, widgetModel.DataCount.ToString(), widgetModel.DataOrderBy); SystemData = sponsorData; } catch(Exception ex) { ShowMessage.Show("查询数据出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to GetSystemData", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "GetSystemData", null); } } return SystemData; }
public static async Task<ResultValue> GetSystemData(Dictionary<string, object> parameterDictionary) { var systemDataResult = new ResultValue(); try { var dateType = parameterDictionary["DateType"].ToString(); var brandType = parameterDictionary["BrandType"].ToString(); var category = parameterDictionary["Category"] == null ? string.Empty : parameterDictionary["Category"].ToString(); var category1 = string.Empty; var category2 = string.Empty; if(!string.IsNullOrEmpty(category)) { var categorys = category.Split(new[] { "*" }, StringSplitOptions.RemoveEmptyEntries); category1 = categorys[0]; category2 = categorys.Count() == 2 ? categorys[1] : string.Empty; } var dimensions = parameterDictionary["Dimensions"] == null ? string.Empty : parameterDictionary["Dimensions"].ToString(); var metrics = parameterDictionary["Metrics"].ToString(); var benchmarkDataValue = await BenchmarkService.GetBenchmarkDatas(dateType, brandType, category1, category2, dimensions, metrics); if(((RestResponseBase)(benchmarkDataValue)).StatusCode == HttpStatusCode.OK) //200 { systemDataResult = benchmarkDataValue.Data; } else if(((RestResponseBase)(benchmarkDataValue)).StatusCode == HttpStatusCode.NotFound) //404 { ShowMessage.Show("访问404错误"); } else if((int)benchmarkDataValue.StatusCode == 422) { ShowMessage.Show("访问422错误"); } else if(((RestResponseBase)(benchmarkDataValue)).StatusCode == HttpStatusCode.InternalServerError) //500 { ShowMessage.Show("访问500错误"); } else { ShowMessage.Show("未知错误"); } } catch(Exception ex) { ShowMessage.Show("加载数据出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to GetSystemData", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "GetSystemData", null); } } return systemDataResult; }
public static void BuildSystemData(int systemType, string dataType, ResultValue resultValue, string enHeader) { try { switch(systemType) { case (int)SystemTypeEnum.SiteAnalysisReport: SystemData = new ObservableCollection<SiteData>(); SystemDataList = JsonConvert.DeserializeObject<List<SiteData>>(resultValue.Value); break; case (int)SystemTypeEnum.SiteDataBank: break; case (int)SystemTypeEnum.SiteRealtime: SystemData = new ObservableCollection<ISystemData>(); SystemDataList = SiteRealtimeType.GetSiteRealtimeData(dataType, resultValue.Value, enHeader); break; case (int)SystemTypeEnum.Sponsor: case (int)SystemTypeEnum.Benchmark: SystemData = new ObservableCollection<SponsorData>(); SystemDataList = JsonConvert.DeserializeObject<List<SponsorData>>(resultValue.Value); break; case (int)SystemTypeEnum.TrackAnalysisReport: SystemData = new ObservableCollection<TrackAnalysisData>(); SystemDataList = JsonConvert.DeserializeObject<List<TrackAnalysisData>>(resultValue.Value); break; case (int)SystemTypeEnum.TrackDataBank: break; case (int)SystemTypeEnum.TrackRealtime: SystemData = new ObservableCollection<TrackRealtimeData>(); SystemDataList = JsonConvert.DeserializeObject<List<TrackRealtimeData>>(resultValue.Value); break; } } catch(Exception ex) { ShowMessage.Show("构建数据类型出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to BuildSystemData", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "BuildSystemData", null); } } }
//WidgetModel widgetModel, int? interval, string startDate, string endDate public override async Task<ResultValue> GetSystemData(Dictionary<string, object> parameterDictionary) { try { var widgetModel = parameterDictionary["WidgetModel"] as WidgetModel; var startDate = parameterDictionary["StartDate"].ToString(); var endDate = parameterDictionary["EndDate"].ToString(); var trackRealtimeDataResult = await TrackRealtimeService.GetRealtimeData(widgetModel.TableName, startDate, endDate, widgetModel.Dimensions + "," + widgetModel.TimeDimensions, widgetModel.Metrics, widgetModel.DataCount.ToString(), widgetModel.DataOrderBy); if(trackRealtimeDataResult == null) { SystemData = new ResultValue { Key = string.Empty, Value = string.Empty }; } else { var data = trackRealtimeDataResult; SystemData = new ResultValue { Key = "", Value = JsonConvert.SerializeObject(data) }; } } catch(Exception ex) { ShowMessage.Show("查询数据出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to GetSystemData", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "GetSystemData", null); } } return SystemData; }
public static List<object> ConvertToChartData(WidgetModel widgetModel, ResultValue resultValue, List<MetricTypeModel> metricsCache) { var datas = new ObservableCollection<string>(); var series = new ObservableCollection<MyReport>(); var axisDic = new Dictionary<string, Tuple<string, string>>(); var values = new List<decimal>(); var metrics = widgetModel.Metrics.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach(var metric in metrics) { var metricX = metricsCache.FirstOrDefault(m => m.SystemTypeId == widgetModel.SystemTypeId && m.EnName == metric); datas.Add(metricX.CnName); axisDic.Add(metric, new Tuple<string, string>(metricX.CnName, "Y")); } #region var label = string.Empty; switch(widgetModel.DataType) { case "1": label = "所有节目"; break; case "2": label = "指定节目"; break; case "3": label = "节目类型"; break; case "4": label = "赞助级别"; break; case "5": label = "电视台"; break; case "6": label = "视频网站自制"; break; case "7": label = "品牌品类"; break; } switch(widgetModel.DateTypeId) { case 5: label += "-本期"; break; case 6: label += "-上期"; break; case 7: label += "-历史"; break; } #endregion var report = new MyReport(); report.Label = label; var data = new ObservableCollection<C1Data>(); Type systemType = typeof(SponsorData); var resultX = JsonConvert.DeserializeObject<SponsorData>(resultValue.Value); foreach(var metric in metrics) { PropertyInfo mPropertyInfo = systemType.GetProperty(metric.Substring(0, 1).ToUpperInvariant() + metric.Substring(1, metric.Length - 1).TrimEnd()); decimal value; if(mPropertyInfo.GetValue(resultX, null) == null) { value = 0; } else { if(mPropertyInfo.GetValue(resultX, null) is int) { value = Convert.ToInt32(mPropertyInfo.GetValue(resultX, null)); } else if(mPropertyInfo.GetValue(resultX, null) is double || mPropertyInfo.GetValue(resultX, null) is decimal) { value = Convert.ToDecimal(mPropertyInfo.GetValue(resultX, null)); } else { value = 0; } } data.Add(new C1Data { Value = value }); values.Add(value); } report.Data = data; series.Add(report); return new List<object> { datas, series, axisDic, values }; }
public static async Task<ResultValue> GetDataByCategorys1(string categorys1) { var categorys2ListResult = new ResultValue(); try { var benchmarkTypeDataValue = await BenchmarkService.GetCategorys2Datas(categorys1); if(((RestResponseBase)(benchmarkTypeDataValue)).StatusCode == HttpStatusCode.OK) //200 { categorys2ListResult = benchmarkTypeDataValue.Data; } else if(((RestResponseBase)(benchmarkTypeDataValue)).StatusCode == HttpStatusCode.NotFound) //404 { ShowMessage.Show("访问404错误"); } else if((int)benchmarkTypeDataValue.StatusCode == 422) { ShowMessage.Show("访问422错误"); } else if(((RestResponseBase)(benchmarkTypeDataValue)).StatusCode == HttpStatusCode.InternalServerError) //500 { ShowMessage.Show("访问500错误"); } else { ShowMessage.Show("未知错误"); } } catch(Exception ex) { ShowMessage.Show("加载数据出错"); LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "Failed to GetDataByType", ex); } finally { if(LogHelper.LogLevel == LogLevelEnum.Debug || LogHelper.LogLevel == LogLevelEnum.Info) { LogHelper.LogMessage(MethodBase.GetCurrentMethod().DeclaringType, LogHelper.LogLevel, "GetDataByType", null); } } return categorys2ListResult; }