private JsonTable BuidJsonTable(DataTable table, IEnumerable <REPORTCOLUMNDEFINITION> columns) { var jTable = new JsonTable(); foreach (var column in columns) { jTable.ColumTemplate.Add(new JsonColumn { ColumnName = column.COLUMN_NAME, ColumnType = column.COLUMN_TYPE, Name = column.DisplayName, Sort = "" }); } foreach (DataRow row in table.Rows) { var currentRow = new Dictionary <string, string>(); foreach (REPORTCOLUMNDEFINITION column in columns) { if (!currentRow.Keys.Contains(column.COLUMN_NAME)) { currentRow.Add(column.COLUMN_NAME, UIGenerator.FormatCellValue(row, column)); } } currentRow.Add("AssetId", row["AssetId"].ToString()); currentRow.Add("Category", row["CATEGORYTYPE"].ToString()); jTable.RowData.Add(currentRow); } return(jTable); }
public JsonTable BuildJsonTable(DataTable table, IEnumerable <REPORTCOLUMNDEFINITION> columns, int total, int currentPage, int pageSize) { var jTable = new JsonTable(); jTable.CurrentPage = currentPage; jTable.PageSize = pageSize; jTable.Total = total; foreach (var column in columns) { if (column.COLUMN_NAME == "KeyWord") { continue; } jTable.ColumTemplate.Add(new JsonColumn { ColumnName = column.COLUMN_NAME, ColumnType = column.COLUMN_TYPE, Name = column.DisplayName }); } foreach (DataRow row in table.Rows) { var currentRow = new Dictionary <string, string>(); foreach (var column in columns) { if (!currentRow.Keys.Contains(column.COLUMN_NAME)) { currentRow.Add(column.COLUMN_NAME, UIGenerator.FormatCellValue(row, column)); } } jTable.RowData.Add(currentRow); } return(jTable); }
public void FormatCellValueTest() { object dataValue = new DateTime(2014, 5, 18); // TODO: Initialize to an appropriate value string type = "datetime"; // TODO: Initialize to an appropriate value string displayFormat = "yyyy-MM"; // TODO: Initialize to an appropriate value string expected = "2014-05"; // TODO: Initialize to an appropriate value string actual; actual = UIGenerator.FormatCellValue(dataValue, type, displayFormat); Assert.AreEqual(expected, actual); }
public string GDTFormatCellValue(DataRow row, COLUMNDEFINITION column) { var retValue = string.Empty; if (row.Table.Columns.Contains(column.ColumnDisplayName)) { var dataValue = row[column.ColumnDisplayName]; retValue = UIGenerator.FormatCellValue(dataValue, column.COLUMN_TYPE, column.DISPLAY_FORMAT); } return(retValue); }
private List <Dictionary <string, string> > ConvertToDicForOutput(DateTime start, DateTime end, string code, out string reDate) { var dt = Respository.GetSdLocalRefineryDailyOutputTable(start, end, code, out reDate); var data = new List <Dictionary <string, string> >(); foreach (DataRow row in dt.Rows) { var currentRow = new Dictionary <string, string> { { "ReDate", UIGenerator.FormatCellValue(row["ReDate"], "datetime") }, { "ProcessCapacity", UIGenerator.FormatCellValue(row["ProcessCapacity"], "decimal") }, { "Gasoline", UIGenerator.FormatCellValue(row["Gasoline"], "decimal") }, { "Diesel", UIGenerator.FormatCellValue(row["Diesel"], "decimal") } }; data.Add(currentRow); } return(data); }
private JsonTable BuildBondIssuMaturesTopTable(DataTable table) { var jTable = new JsonTable(); var headers = GetIssuMaturesTopTableHeaders(); var columns = GetIssuMaturesTopTableColumns(); for (int i = 0; i < headers.Length; i++) { jTable.ColumTemplate.Add(new JsonColumn { ColumnName = columns[i], Name = headers[i] }); } var typeName = "TypeCn"; var subTypeName = "SubTypeCn"; if (CultureHelper.IsEnglishCulture()) { typeName = "TypeEn"; subTypeName = "SubTypeEn"; } foreach (DataRow row in table.Rows) { var currentRow = new Dictionary <string, string> { { "TypeValue", row["Type"].ToString() }, { "Type", row[typeName].ToString() }, { "SubType", row[subTypeName].ToString() }, { "SubTypeValue", row["SubType"].ToString() }, { "isParent", row["isParent"].ToString() }, { "EndBalance", UIGenerator.FormatCellValue(row["EndBalance"], "decimal") }, { "InitialBalance", UIGenerator.FormatCellValue(row["InitialBalance"], "decimal") }, { "Issues", row["Issues"].ToString() }, { "IssuesPercent", UIGenerator.FormatCellValue(row["IssuesPercent"], "decimal") }, { "IssuesAmount", UIGenerator.FormatCellValue(row["IssuesAmount"], "decimal") }, { "IssuesAmountPercent", UIGenerator.FormatCellValue(row["IssuesAmountPercent"], "decimal") }, { "MaturityBonds", row["MaturityBonds"].ToString() }, { "MaturityAmount", UIGenerator.FormatCellValue(row["MaturityAmount"], "decimal") }, { "EndIssues", row["EndIssues"].ToString() }, { "EndIssuesPercent", UIGenerator.FormatCellValue(row["EndIssuesPercent"], "decimal") } }; jTable.RowData.Add(currentRow); } return(jTable); }
private List <Dictionary <string, string> > ConvertToDicForDevice(bool isEnglish, string code, string reDate) { var data = new List <Dictionary <string, string> >(); if (string.IsNullOrEmpty(reDate)) { return(data); } var dt = Respository.GetSdLocalRefineryDeviceInfoTable(isEnglish, code, reDate); foreach (DataRow row in dt.Rows) { var currentRow = new Dictionary <string, string> { { "Device", UIGenerator.FormatCellValue(row["Device"], "") }, { "YieldByTon", UIGenerator.FormatCellValue(row["YieldByTon"], "decimal") }, { "YieldByBarrel", UIGenerator.FormatCellValue(row["YieldByBarrel"], "decimal") } }; data.Add(currentRow); } return(data); }
public JsonTable buildJsonTable(BaseReport report) { var table = new JsonTable(); switch (report.GetType().Name) { case "StandardReport": var data = (StandardReport)report; if (data.ResultDataTable.Rows.Count > 0) { table.ReportDate = ((DateTime)data.ResultDataTable.Rows[0]["REDATE"]).ToString("yyyy-MM"); } foreach (var column in data.Columns) { table.ColumTemplate.Add(new JsonColumn() { ColumnName = column.ColumnName.ToLower(), ColumnStyle = column.ColumnStyle, ColumnType = column.ColumnType, Name = column.Culture == "zh-CN" ? column.ColumnHeaderCN : column.ColumnHeaderEN }); } table.ExtraHeaders = new List <JsonExtraColumn>(); foreach (var extraHeader in data.ExtraHeaderCollection) { table.ExtraHeaders.Add(new JsonExtraColumn() { Name = extraHeader.Culture == "zh-CN" ? extraHeader.HeaderTextCN : extraHeader.HeaderTextEN, ColumnStyle = extraHeader.HeaderStyle, ColSpan = extraHeader.HeaderColumnSpan, HeaderLevel = extraHeader.HeaderLevel }); } table.RowData = new List <Dictionary <string, string> >(); foreach (DataRow row in data.ResultDataTable.Rows) { var currentRow = new Dictionary <string, string>(); foreach (var column in data.Columns) { if (!currentRow.Keys.Contains(column.ColumnName)) { currentRow.Add(column.ColumnName.ToLower(), UIGenerator.FormatCellValue(row, column)); } } if (row.Table.Columns.Contains("id")) { currentRow.Add("id", row["id"].ToString()); } if (row.Table.Columns.Contains("last_update")) { currentRow.Add("last_update", row["last_update"].ToString()); } if (row.Table.Columns.Contains("row_index")) { currentRow.Add("row_index", row["row_index"].ToString()); } if (row.Table.Columns.Contains("chart_source")) { currentRow.Add("chart_source", row["chart_source"].ToString()); } if (row.Table.Columns.Contains("row_level")) { currentRow.Add("row_level", row["row_level"].ToString()); } table.RowData.Add(currentRow); } break; } return(table); }
public JsonTable BuidJsonTable(DataTable table, IEnumerable <REPORTCOLUMNDEFINITION> columns, int total = 0, int currentPage = 0, int pageSize = 0) { var jTable = new JsonTable(); jTable.CurrentPage = currentPage; jTable.PageSize = pageSize; jTable.Total = total; foreach (var column in columns) { jTable.ColumTemplate.Add(new JsonColumn { ColumnName = column.COLUMN_NAME, ColumnType = column.COLUMN_TYPE, Name = column.DisplayName, ColumnStyle = column.COLUMN_STYLE ?? "" }); } foreach (DataRow row in table.Rows) { var currentRow = new Dictionary <string, string>(); foreach (REPORTCOLUMNDEFINITION column in columns) { if (!currentRow.Keys.Contains(column.COLUMN_NAME)) { currentRow.Add(column.COLUMN_NAME, column.COLUMN_STYLE != "" && row[column.COLUMN_NAME].ToString().Length > 200 ? (row[column.COLUMN_NAME].ToString().Substring(0, 200) + "...") : UIGenerator.FormatCellValue(row, column)); } } if (!columns.Any(x => x.COLUMN_NAME == "Code")) { currentRow.Add("Code", row["Code"].ToString()); } if (!columns.Any(x => x.COLUMN_NAME == "AssetId")) { currentRow.Add("AssetId", row["AssetId"].ToString()); } jTable.RowData.Add(currentRow); } return(jTable); }
private List <Dictionary <string, string> > ConvertToRowData(IEnumerable <IssuerFundamental> issuerFundamental, string fundamentalType, string reportType) { //PID = parent id, IP = is parent id, 0 or 1,IL= indent level , 0, 1, 2, CR= chart row List <Dictionary <string, string> > rowData = new List <Dictionary <string, string> >(); var fieldMapping = _repository.GetFundamentalFiledMapping(fundamentalType); PropertyInfo[] properties = typeof(IssuerFundamental).GetProperties(); var startYear = issuerFundamental.Min(f => f.EndDate).Year; string chartRow = ""; if (fundamentalType == "tabb") { chartRow = "Field60"; } else if (fundamentalType == "tacb") { chartRow = "Field62"; } else if (fundamentalType == "tapb") { chartRow = "Field50"; } foreach (PropertyInfo p in properties) { //fields that needn't displaying var fieldName = CultureHelper.IsEnglishCulture() ? fieldMapping.Where(f => f.FIELD_NAME == p.Name && f.FUNDAMENATAL_TYPE == fundamentalType).Select(f => f.ENGLISH_NAME).FirstOrDefault() : fieldMapping.Where(f => f.FIELD_NAME == p.Name && f.FUNDAMENATAL_TYPE == fundamentalType).Select(f => f.CHINESE_NAME).FirstOrDefault(); if (string.IsNullOrEmpty(fieldName)) { continue; } var indentLevel = fieldMapping.Where(f => f.FIELD_NAME == p.Name && f.FUNDAMENATAL_TYPE == fundamentalType).Select(f => f.INDENT_LEVEL).FirstOrDefault() ?? 0; var is_Parent = fieldMapping.Where(f => f.FIELD_NAME == p.Name && f.FUNDAMENATAL_TYPE == fundamentalType).Select(f => f.IS_PARENT).FirstOrDefault().ToString(); var pId = fieldMapping.Where(f => f.FIELD_NAME == p.Name && f.FUNDAMENATAL_TYPE == fundamentalType).Select(f => f.PARENT_ID).FirstOrDefault().ToString(); Dictionary <string, string> row = new Dictionary <string, string>(); row.Add("Item", SetIndent(indentLevel) + fieldName); //add the field name, the first left name column row.Add("PID", pId); row.Add("IP", is_Parent); row.Add("CR", p.Name == chartRow ? (fundamentalType == "tapb" ? fieldName.Substring(2, 3) : fieldName) : "0"); if (reportType == "Y") //year report { for (var i = DateTime.Now.Year - 1; i >= startYear; i--) { var fund = issuerFundamental.Where(f => f.EndDate.Year == i).FirstOrDefault(); var value = fund == null ? null : p.GetValue(fund, null); row.Add("Y" + i.ToString(), value == null ? "" : UIGenerator.FormatCellValue(value, "decimal")); } rowData.Add(row); } else { for (var i = DateTime.Now.Year; i >= startYear; i--) { var funds = issuerFundamental.Where(f => f.EndDate.Year == i).OrderByDescending(f => f.EndDate).ToList(); //add in a year for (var j = 0; j < funds.Count(); j++) { int quarterIndex = 0; int quarter = Convert.ToInt32(funds.ElementAt(j).EndDate.Month) / 3; switch (quarter) { case 1: quarterIndex = 3; break; case 2: quarterIndex = 2; break; case 3: quarterIndex = 6; break; case 4: quarterIndex = 1; break; default: break; } var fund = funds.Where(f => f.ReportType == quarterIndex).Select(f => f).FirstOrDefault(); var value = fund == null ? null : p.GetValue(fund, null); row.Add("Y" + i.ToString() + "Q" + quarter.ToString(), value == null ? "" : UIGenerator.FormatCellValue(value, "decimal")); } } rowData.Add(row); } } return(rowData); }