public DataSourceColumnsResponse GetColumns(String refID) { DataSourceColumnsResponse cresp = new DataSourceColumnsResponse(); cresp = this.Redis.Get <DataSourceColumnsResponse>(string.Format("{0}_columns", refID)); foreach (var columnCollection in cresp.Columns) { columnCollection.Sort(CompareEbDataColumn); } return(cresp); }
public IActionResult Index(string refid) { var resultlist = this.ServiceClient.Get <EbObjectParticularVersionResponse>(new EbObjectParticularVersionRequest { RefId = refid }); Report = EbSerializers.Json_Deserialize <EbReport>(resultlist.Data[0].Json); Report.IsLastpage = false; Report.watermarkImages = new Dictionary <string, byte[]>(); Report.WaterMarkList = new List <object>(); if (Report.DataSourceRefId != string.Empty) { cresp = this.Redis.Get <DataSourceColumnsResponse>(string.Format("{0}_columns", Report.DataSourceRefId)); if (cresp.IsNull) { cresp = this.ServiceClient.Get <DataSourceColumnsResponse>(new DataSourceColumnsRequest { RefId = Report.DataSourceRefId }); } Report.DataColumns = (cresp.Columns.Count > 1) ? cresp.Columns[1] : cresp.Columns[0]; dresp = this.ServiceClient.Get <DataSourceDataResponse>(new DataSourceDataRequest { RefId = Report.DataSourceRefId, Draw = 1, Start = 0, Length = 100 }); Report.DataRow = dresp.Data; } iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(Report.Width, Report.Height); d = new Document(rec); ms1 = new MemoryStream(); writer = PdfWriter.GetInstance(d, ms1); writer.Open(); d.Open(); writer.PageEvent = new HeaderFooter(this); writer.CloseStream = true;//important canvas = writer.DirectContent; Report.PageNumber = writer.PageNumber; //Report.DataRow = __datarows; Report.InitializeSummaryFields(); GetWatermarkImages(); d.NewPage(); DrawReportHeader(); DrawDetail(); d.Close(); ms1.Position = 0;//important return(new FileStreamResult(ms1, "application/pdf")); }
public IActionResult Index(string refid) { var resultlist = this.ServiceClient.Get <EbObjectParticularVersionResponse>(new EbObjectParticularVersionRequest { RefId = refid }); Report = EbSerializers.Json_Deserialize <EbReport>(resultlist.Data[0].Json); if (Report.DataSourceRefId != string.Empty) { cresp = this.Redis.Get <DataSourceColumnsResponse>(string.Format("{0}_columns", Report.DataSourceRefId)); if (cresp.IsNull) { cresp = this.ServiceClient.Get <DataSourceColumnsResponse>(new DataSourceColumnsRequest { RefId = Report.DataSourceRefId }); } __columns = (cresp.Columns.Count > 1) ? cresp.Columns[1] : cresp.Columns[0]; dresp = this.ServiceClient.Get <DataSourceDataResponse>(new DataSourceDataRequest { RefId = Report.DataSourceRefId, Draw = 1, Start = 0, Length = 100 }); dt = dresp.Data; } iTextSharp.text.Rectangle rec = (Report.IsLandscape) ? new iTextSharp.text.Rectangle(Report.Height, Report.Width) : new iTextSharp.text.Rectangle(Report.Width, Report.Height); d = new Document(rec); MemoryStream ms1 = new MemoryStream(); writer = PdfWriter.GetInstance(d, ms1); writer.Open(); d.Open(); writer.PageEvent = new HeaderFooter(this); writer.CloseStream = true;//important cb = writer.DirectContent; CalculateSectionHeights(); d.NewPage(); DrawReportHeader(); DrawDetail(); DrawReportFooter(); d.Close(); ms1.Position = 0; return(new FileStreamResult(ms1, "application/pdf")); }
public string GetColumns4Trial(string ds_refid, string parameter) { var redis = this.Redis; var sscli = this.ServiceClient; var token = Request.Cookies[string.Format("T_{0}", ViewBag.cid)]; var paramsList = new List <Dictionary <string, string> >(); if (parameter == null) { paramsList = null; } else { Newtonsoft.Json.Linq.JArray ja = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(parameter); foreach (Newtonsoft.Json.Linq.JToken jt in ja) { var _dict = new Dictionary <string, string>(); foreach (Newtonsoft.Json.Linq.JProperty jp in jt.Children()) { _dict.Add(jp.Name, jp.Value.ToString()); } paramsList.Add(_dict); } } DataSourceColumnsResponse columnresp = sscli.Get <DataSourceColumnsResponse>(new DataSourceColumnsRequest { RefId = ds_refid.ToString(), Params = paramsList }); if (columnresp.Columns == null || columnresp.Columns.Count == 0) { return(""); } else { string colDef = "["; var __columns = (columnresp.Columns.Count > 1) ? columnresp.Columns[1] : columnresp.Columns[0]; foreach (EbDataColumn column in __columns) { colDef += "{"; colDef += "\"data\": " + __columns[column.ColumnName].ColumnIndex.ToString(); colDef += ",\"title\": \"" + column.ColumnName + "\""; colDef += ",\"visible\": " + true.ToString().ToLower(); colDef += "},"; } return(colDef.Substring(0, colDef.Length - 1) + "]"); } }
private EbDataVisualization getDVObject(EbDataVisualization dvobj) { //DataSourceColumnsResponse columnresp = null; DataSourceColumnsResponse columnresp = this.Redis.Get <DataSourceColumnsResponse>(string.Format("{0}_columns", dvobj.DataSourceRefId)); if (columnresp == null || columnresp.Columns.Count == 0) { columnresp = this.ServiceClient.Get <DataSourceColumnsResponse>(new DataSourceColumnsRequest { RefId = dvobj.DataSourceRefId, TenantAccountId = ViewBag.cid }); } dvobj.AfterRedisGet(this.Redis); var __columns = (columnresp.Columns.Count > 1) ? columnresp.Columns[1] : columnresp.Columns[0]; int _pos = __columns.Count + 100; dvobj.Columns = new DVColumnCollection(); // Add Serial & Checkbox //dvobj.Columns.Add(new DVNumericColumn { Name = "serial", sTitle = "#", Type = DbType.Int64, bVisible = true, sWidth = "10px", Pos = -2 }); //dvobj.Columns.Add(new DVBooleanColumn { Name = "checkbox", sTitle = "checkbox", Type = DbType.Boolean, bVisible = false, sWidth = "10px", Pos = -1 }); foreach (EbDataColumn column in __columns) { DVBaseColumn _col = null; if (column.Type == DbType.String) { _col = new DVStringColumn { Data = column.ColumnIndex, Name = column.ColumnName, sTitle = column.ColumnName, Type = column.Type, bVisible = true, sWidth = "100px", Pos = _pos, ClassName = "tdheight" } } ; else if (column.Type == DbType.Int16 || column.Type == DbType.Int32 || column.Type == DbType.Int64 || column.Type == DbType.Double || column.Type == DbType.Decimal || column.Type == DbType.VarNumeric) { _col = new DVNumericColumn { Data = column.ColumnIndex, Name = column.ColumnName, sTitle = column.ColumnName, Type = column.Type, bVisible = true, sWidth = "100px", Pos = _pos, ClassName = "tdheight dt-body-right" } } ; else if (column.Type == DbType.Boolean) { _col = new DVBooleanColumn { Data = column.ColumnIndex, Name = column.ColumnName, sTitle = column.ColumnName, Type = column.Type, bVisible = true, sWidth = "100px", Pos = _pos, ClassName = "tdheight" } } ; else if (column.Type == DbType.DateTime || column.Type == DbType.Date || column.Type == DbType.Time) { _col = new DVDateTimeColumn { Data = column.ColumnIndex, Name = column.ColumnName, sTitle = column.ColumnName, Type = column.Type, bVisible = true, sWidth = "100px", Pos = _pos, ClassName = "tdheight" } } ; dvobj.Columns.Add(_col); } dvobj.DSColumns = dvobj.Columns; return(dvobj); } }
public DataSourceColumnsResponse Any(DataSourceColumnsRequest request) { string _dsRedisKey = string.Format("{0}_columns", request.RefId); EbDataSet _dataset = null; bool _isPaged = false; DataSourceColumnsResponse resp = this.Redis.Get <DataSourceColumnsResponse>(_dsRedisKey); if (resp == null || resp.Columns == null || resp.Columns.Count == 0) { resp = new DataSourceColumnsResponse(); resp.Columns = new List <ColumnColletion>(); // // getting DATASOURCE needs to be changed LIVE/DEV/TEST scenarios // string _sql_4dsBytea = string.Format(@" //SELECT // EOV.obj_json //FROM // eb_objects_ver EOV, eb_objects EO //WHERE // EO.id = EOV.eb_objects_id AND // EO.obj_last_ver_id = EOV.ver_num AND // EO.id = {0}", request.Id); // var dt = this.DatabaseFactory.ObjectsDB.DoQuery(_sql_4dsBytea); //if (dt.Rows.Count > 0) //{ var _ds = this.Redis.Get <EbDataSource>(request.RefId); // EbSerializers.Json_Deserialize<EbDataSource>(dt.Rows[0][0].ToString()); if (_ds != null) { Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns Sql: " /*+ _ds.SqlDecoded()*/); string _sql = _ds.Sql /*Decoded()*/.Replace("@and_search", string.Empty).Replace("@orderby", "1"); _isPaged = (_sql.ToLower().Contains("@offset") && _sql.ToLower().Contains("@limit")); var parameters = new List <System.Data.Common.DbParameter>(); if (_isPaged) { parameters.AddRange(new System.Data.Common.DbParameter[] { this.TenantDbFactory.ObjectsDB.GetNewParameter("@limit", System.Data.DbType.Int32, 0), this.TenantDbFactory.ObjectsDB.GetNewParameter("@offset", System.Data.DbType.Int32, 0) }); } if (request.Params != null) { foreach (Dictionary <string, string> param in request.Params) { parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter(string.Format("@{0}", param["name"]), (System.Data.DbType)Convert.ToInt32(param["type"]), param["value"])); } } Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns Parameters Added"); try { _dataset = this.TenantDbFactory.ObjectsDB.DoQueries(_sql, parameters.ToArray()); foreach (var dt in _dataset.Tables) { resp.Columns.Add(dt.Columns); } resp.IsPaged = _isPaged; this.Redis.Set <DataSourceColumnsResponse>(_dsRedisKey, resp); } catch (Exception e) { Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns e.Message: " + e.Message); this.Redis.Remove(_dsRedisKey); } } } return(resp); }
public DataSourceColumnsResponse Any(DataVisColumnsRequest request) { EbDataVisualization _dV = request.EbDataVisualization; _dV.AfterRedisGet(this.Redis as RedisClient); var _ds = _dV.EbDataSource; string _dsRedisKey = string.Format("{0}_columns", _dV.DataSourceRefId); EbDataSet _dataset = null; bool _isPaged = false; DataSourceColumnsResponse resp = this.Redis.Get <DataSourceColumnsResponse>(_dsRedisKey); if (resp == null || resp.Columns == null || resp.Columns.Count == 0) { resp = new DataSourceColumnsResponse(); resp.Columns = new List <ColumnColletion>(); if (_ds != null) { Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns Sql: " + _ds.SqlDecoded()); string _sql = _ds.SqlDecoded().Replace("@and_search", string.Empty).Replace("@orderby", "1"); _isPaged = (_sql.ToLower().Contains("@offset") && _sql.ToLower().Contains("@limit")); var parameters = new List <System.Data.Common.DbParameter>(); if (_isPaged) { parameters.AddRange(new System.Data.Common.DbParameter[] { this.TenantDbFactory.ObjectsDB.GetNewParameter("@limit", System.Data.DbType.Int32, 0), this.TenantDbFactory.ObjectsDB.GetNewParameter("@offset", System.Data.DbType.Int32, 0) }); } if (request.Params != null) { foreach (Dictionary <string, string> param in request.Params) { parameters.Add(this.TenantDbFactory.ObjectsDB.GetNewParameter(string.Format("@{0}", param["name"]), (System.Data.DbType)Convert.ToInt32(param["type"]), param["value"])); } } Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns Parameters Added"); try { _dataset = this.TenantDbFactory.ObjectsDB.DoQueries(_sql, parameters.ToArray()); foreach (var dt in _dataset.Tables) { resp.Columns.Add(dt.Columns); } resp.IsPaged = _isPaged; this.Redis.Set <DataSourceColumnsResponse>(_dsRedisKey, resp); } catch (Exception e) { Log.Info(">>>>>>>>>>>>>>>>>>>>>>>> dscolumns e.Message: " + e.Message); this.Redis.Remove(_dsRedisKey); } } } return(resp); }