protected override void RowConverter(InvoiceStyleColumn item, DataRow row) { item.InvoiceStyle = row["invoice_style"].ToString(); item.ID = int.Parse(row["column_id"].ToString()); if (!String.IsNullOrEmpty(row["column_index"].ToString())) { item.Index = int.Parse(row["column_index"].ToString()); } item.Name = row["column_name"].ToString(); item.SqlColumn = row["sql_column_name"].ToString(); if (!String.IsNullOrEmpty(row["grouping_index"].ToString())) { item.GroupingIndex = int.Parse(row["grouping_index"].ToString()); } if (!String.IsNullOrEmpty(row["sort_index"].ToString())) { item.SortIndex = int.Parse(row["sort_index"].ToString()); } item.Width = row["width"].ToString(); }
public override void Remove(InvoiceStyleColumn item) { throw new NotImplementedException(); }
public override List <InvoiceReportTranscriptionLineItem> Get(int invoiceID) { // Get invoice columns. List <InvoiceStyleColumn> columns; using (OracleInvoiceStyleColumnRepository rep = new OracleInvoiceStyleColumnRepository()) { columns = rep.GetByInvoiceID(invoiceID); } InvoiceStyleColumn defCol = new InvoiceStyleColumn(); // Build SQL. string groupingSql = ""; if (GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.GroupingIndex == 1)) != "''") { groupingSql = String.Format("group by {0}, {1}, {2}" , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.GroupingIndex == 1)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.GroupingIndex == 2)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.GroupingIndex == 3))); } string sortSql = ""; if (GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.SortIndex == 1)) != "''") { sortSql = String.Format("order by {0}, {1}, {2}" , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.SortIndex == 1)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.SortIndex == 2)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.SortIndex == 3))); } string sql = String.Format("SELECT {3} as column1 \r\n" + " ,{4} as column2 \r\n" + " ,{5} as column3 \r\n" + " ,COUNT(*) AS JOB_COUNT \r\n" + " ,SUM(WU.TAT_REDUCTION_CHARGED) AS TAT_REDUCTION_CHARGED \r\n" + " ,SUM(WU.QTY_BILLABLE) AS QTY_BILLABLE \r\n" + " ,sum(wu.raw_cost) as subtotal \r\n" + " ,sum(wu.raw_cost - wu.tat_reduction_charged) as total \r\n" + " ,{2} AS GROUPING_COLUMN \r\n" + "FROM {0}.WORK_UNIT WU \r\n" + "JOIN {0}.EXT_CLIENT EC \r\n" + " ON EC.EXT_SYS = WU.EXT_SYS \r\n" + " AND EC.EXT_CLIENT_KEY = WU.EXT_CLIENT_KEY \r\n" + "JOIN {0}.EXT_WORK_TYPE EWT \r\n" + " ON EWT.EXT_SYS = WU.EXT_SYS \r\n" + " AND EWT.EXT_CLIENT_KEY = WU.EXT_CLIENT_KEY \r\n" + " AND EWT.EXT_WORK_TYPE = WU.EXT_WORK_TYPE \r\n" + "WHERE WU.INVOICE_ID = {1} \r\n" + "{6} \r\n" + "{7}" , base.SchemaName , invoiceID , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.GroupingIndex == 1 && c.Index == 0)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.Index == 1)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.Index == 2)) , GetColumnProperty(columns, (a => a.SqlColumn.ToString()), (c => c.Index == 3)) , groupingSql , sortSql); DataTable dt = OracleHelper.ExecuteQuery(base.ConnectionString.Value, sql, null); //dt.TableName = "InvoiceReportTranscriptionLines"; //dt.WriteXml("InvoiceReportTranscriptionLines.xml"); //DataTable dt = new DataTable(); //dt.ReadXml(@"C:\Documents and Settings\ilee\My Documents\PoC Projects\Dynamic Subreporting\Dynamic Subreporting\InvoiceReportTranscriptionLines.xml"); return(base.ConvertDataTableToList(dt)); }