private void createSummary(InvoiceDataset ds) { //Set named range summary values Summary summary = global::Argix.Finance.Globals.Summary; //Header summary.VendorName.Value = ds.ClientInvoiceSummaryTable[0].Vendor_Name; summary.InvoiceNumber0.Value = ds.ClientInvoiceSummaryTable[0]._Invoice__; summary.InvoiceDate0.Value = ds.ClientInvoiceSummaryTable[0].Invoice_Date; summary.InvoiceAmount.Value = ds.ClientInvoiceSummaryTable[0].Invoice_Amount; //Body //Insert a row at row0 + 1 (pushes down) for every row of data int rowCount = ds.ClientInvoiceSummaryTable.Rows.Count; Excel.Range row0 = summary.Range[summary.Cells[ROW0_SUMMARY + 1, 1], summary.Cells[ROW0_SUMMARY + 1, 5]].EntireRow; for (int i = 0; i < rowCount - 1; i++) { row0.Insert(Excel.XlInsertShiftDirection.xlShiftDown, false); } //Populate entire data table into a range of worksheet cells object[,] values = new object[rowCount, 5]; for (int i = 0; i < rowCount; i++) { values[i, 0] = "'" + ds.ClientInvoiceSummaryTable[i].Company.Trim(); values[i, 1] = "'" + ds.ClientInvoiceSummaryTable[i].Pmt_Type; values[i, 2] = "'" + ds.ClientInvoiceSummaryTable[i]._Solomon_Account__; values[i, 3] = "'" + ds.ClientInvoiceSummaryTable[i]._Solomon_Sub_Account__; values[i, 4] = ds.ClientInvoiceSummaryTable[i].Amount; } summary.Range[summary.Cells[ROW0_SUMMARY, 1], summary.Cells[ROW0_SUMMARY + rowCount - 1, 5]].Value2 = values; }
//Interface private void ThisWorkbook_Startup(object sender, System.EventArgs e) { //Event handler for workbook startup event try { System.IntPtr p = GetCommandLine(); string cmd = System.Runtime.InteropServices.Marshal.PtrToStringAuto(p); string clid = "", invoice = ""; #if DEBUG clid = ""; invoice = "L15427"; //000-Benetton; L15427 #endif if (cmd != null) { string query = cmd.Substring(cmd.IndexOf('?') + 1); string[] args = query.Split('&'); if (args.Length > 0) { clid = args[0].Substring(args[0].IndexOf("=") + 1).Trim(); } if (args.Length > 1) { invoice = args[1].Substring(args[1].IndexOf("=") + 1).Trim(); } } if (invoice.Length > 0) { //Get shipments and shipment details SqlDataAdapter adapter = new SqlDataAdapter(USP_SHIPMENT, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); InvoiceDataset ds = new InvoiceDataset(); adapter.Fill(ds, TBL_SHIPMENT); adapter.SelectCommand.CommandText = USP_DETAIL; adapter.Fill(ds, TBL_DETAIL); adapter.SelectCommand.CommandText = USP_TOTALS; adapter.Fill(ds, TBL_TOTALS); int rows = ROW0_DETAIL; createInvoiceHeader(invoice, ds.InvoiceTotalTable[0]); for (int i = 0; i < ds.InvoiceShipmentTable.Rows.Count; i++) { //Show each shipment rows = rows + createInvoiceBodyShipments(ds.InvoiceShipmentTable[i], rows); //Show details for each shipment InvoiceDataset _ds = new InvoiceDataset(); _ds.Merge(ds.InvoiceDetailTable.Select("ShipmentNumber='" + ds.InvoiceShipmentTable[i].ShipmentNumber + "'")); rows = rows + createInvoiceBodyDetails(_ds, rows); rows++; //Add break } createInvoiceTotals(ds.InvoiceTotalTable[0], rows); } else { MessageBox.Show("Invoice unspecified."); } } catch (Exception ex) { reportError(ex); } }
//Interface private void ThisWorkbook_Startup(object sender, System.EventArgs e) { //Event handler for workbook startup event try { System.IntPtr p = GetCommandLine(); string cmd = System.Runtime.InteropServices.Marshal.PtrToStringAuto(p); string clid = "", invoice = ""; #if DEBUG clid = "017"; invoice = "330567600"; //Vitamin Shoppe: 017, 330567600 #endif if (cmd != null) { string query = cmd.Substring(cmd.IndexOf('?') + 1); string[] args = query.Split('&'); if (args.Length > 0) { clid = args[0].Substring(args[0].IndexOf("=") + 1).Trim(); } if (args.Length > 1) { invoice = args[1].Substring(args[1].IndexOf("=") + 1).Trim(); } } if (invoice.Length > 0) { //Create detail worksheet try { SqlDataAdapter adapter = new SqlDataAdapter(USP_DETAIL, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); adapter.TableMappings.Add("Table", TBL_DETAIL); InvoiceDataset ds = new InvoiceDataset(); adapter.Fill(ds, TBL_DETAIL); if (ds.Tables[TBL_DETAIL] != null && ds.Tables[TBL_DETAIL].Rows.Count > 0) { createDetailHeader(ds.ClientInvoiceTable[0]); InvoiceDataset dss = new InvoiceDataset(); dss.Merge(ds.ClientInvoiceTable.Select("", "StoreNumber ASC")); createDetailBody(dss.ClientInvoiceTable); } else { MessageBox.Show("No data found for invoice #" + invoice + "."); } } catch (Exception ex) { reportError(ex); } } else { MessageBox.Show("Invoice unspecified."); } } catch (Exception ex) { reportError(ex); } }
//Interface private void ThisWorkbook_Startup(object sender, System.EventArgs e) { //Event handler for workbook startup event try { System.IntPtr p = GetCommandLine(); string cmd = System.Runtime.InteropServices.Marshal.PtrToStringAuto(p); string clid = "", invoice = ""; #if DEBUG clid = "003"; invoice = "332111700"; //003-Bourassa; 330510700 #endif if (cmd != null) { string query = cmd.Substring(cmd.IndexOf('?') + 1); string[] args = query.Split('&'); if (args.Length > 0) { clid = args[0].Substring(args[0].IndexOf("=") + 1).Trim(); } if (args.Length > 1) { invoice = args[1].Substring(args[1].IndexOf("=") + 1).Trim(); } } if (invoice.Length > 0) { //Display summary and detail data try { SqlDataAdapter adapter = new SqlDataAdapter(USP_INVOICE, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); adapter.TableMappings.Add("Table", TBL_INVOICE); InvoiceDataset ds = new InvoiceDataset(); adapter.Fill(ds, TBL_INVOICE); if (ds.Tables[TBL_INVOICE] != null && ds.Tables[TBL_INVOICE].Rows.Count > 0) { showSummary(ds.VendorInvoiceTable[0]); showDetail(ds.VendorInvoiceTable); createDetailFooter(ds.VendorInvoiceTable[0]); } else { MessageBox.Show("No data found for invoice #" + invoice + "."); } } catch (Exception ex) { reportError(ex); } } else { MessageBox.Show("Invoice unspecified."); } } catch (Exception ex) { reportError(ex); } }
private void showSummary(InvoiceDataset ds) { //Set named range summary values Summary summary = global::Argix.Finance.Globals.Summary; InvoiceDataset.InvoiceSummaryTableRow invoice = ds.InvoiceSummaryTable[0]; //Bill To summary.BillToName.Value = invoice.BillToName.Trim(); summary.BillToAddressLine1.Value = invoice.BillToAddressline1.Trim(); if (!invoice.IsBillToAddressline2Null()) { summary.BillToAddressLine2.Value = invoice.BillToAddressline2.Trim(); } summary.BillToCityStateZip.Value = invoice.BillToCity.Trim() + ", " + invoice.BillToState.Trim() + " " + invoice.BillToZip.Trim() + "-" + invoice.BillToZIP4.Trim(); //Account summary.Account.Value = invoice._Account_.Trim(); summary.InvoiceNumber.Value = invoice.InvoiceNumber.Trim(); summary.InvoiceDate.Value = invoice.InvoiceDate; summary.Terms1.Value = invoice.Terms; //Remit To summary.RemitToName.Value = invoice.RemitToName.Trim(); summary.RemitToAddressLine1.Value = invoice.RemitToAddressLine1.Trim(); if (!invoice.IsRemitToAddressLine2Null()) { summary.RemitToAddressLine2.Value = invoice.RemitToAddressLine2.Trim(); } summary.RemitToCityStateZip.Value = invoice.RemitToCity.Trim() + ", " + invoice.RemitToState.Trim() + " " + invoice.RemitToZip.Trim() + "-" + invoice.RemitToZip4.Trim(); //Shipment if (!invoice.IsShipmentDayNull()) { summary.ShipmentDay.Value = invoice.ShipmentDay; } if (!invoice.IsPiecesNull()) { summary.Pieces.Value = invoice.Pieces; } if (!invoice.IsWeightNull()) { summary.Weight.Value = invoice.Weight; } if (!invoice.IsDeliveryChargesNull()) { summary.DeliveryCharges.Value = invoice.DeliveryCharges; } if (!invoice.IsLinehaulChargesNull()) { summary.LineHaulCharges.Value = invoice.LinehaulCharges; } }
private int createInvoiceBodyDetails(InvoiceDataset ds, int row0) { //Get worksheet int _rows = 0; Invoice invoice = global::Argix.Finance.Globals.Invoice; //Column headers _rows += 6; invoice.Range[invoice.Cells[row0 + 1, 2], invoice.Cells[row0 + 1, 12]].Value2 = new object[1, 11] { { "", "", "", "", "", "", "", "", "", "", "" } }; invoice.Range[invoice.Cells[row0 + 2, 2], invoice.Cells[row0 + 2, 12]].Value2 = new object[1, 11] { { "Distribution Charges", "", "", "", "", "", "", "", "", "", "" } }; invoice.Range[invoice.Cells[row0 + 2, 2], invoice.Cells[row0 + 2, 2]].Font.Bold = true; invoice.Range[invoice.Cells[row0 + 3, 2], invoice.Cells[row0 + 3, 12]].Value2 = new object[1, 11] { { "", "", "", "", "", "", "", "", "", "", "" } }; invoice.Range[invoice.Cells[row0 + 4, 2], invoice.Cells[row0 + 4, 12]].Value2 = new object[1, 11] { { "", "Delivery", "", "", "", "", "", "", "Fuel", "Fuel", "Total Distrib." } }; invoice.Range[invoice.Cells[row0 + 5, 2], invoice.Cells[row0 + 5, 12]].Value2 = new object[1, 11] { { "Zone", "Code", "Store", "Cartons", "Weight(kg)", "Weight(lbs)", "Rate", "Amount", "Surcharge %", "Surcharge", "Charges" } }; Excel.Range r = invoice.Range[invoice.Cells[row0 + 5, 2], invoice.Cells[row0 + 5, 12]]; r.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].Color = Color.Black.ToArgb(); //Detail decimal totalDistributionCharges = 0.0M; int rows = ds.InvoiceDetailTable.Rows.Count; if (rows > 0) { _rows += rows; object[,] details = new object[rows, 11]; for (int i = 0; i < rows; i++) { details[i, 0] = ds.InvoiceDetailTable[i].Zone; details[i, 1] = ds.InvoiceDetailTable[i].DeliveryCode; details[i, 2] = ds.InvoiceDetailTable[i].Store; details[i, 3] = ds.InvoiceDetailTable[i].Cartons; details[i, 4] = ds.InvoiceDetailTable[i].WeightKg; details[i, 5] = ds.InvoiceDetailTable[i].Weight; details[i, 6] = ds.InvoiceDetailTable[i].Rate; details[i, 7] = ds.InvoiceDetailTable[i].Amount; details[i, 8] = ds.InvoiceDetailTable[i].FSCSurchargePCT / 100; details[i, 9] = ds.InvoiceDetailTable[i].FuelSurcharge; details[i, 10] = ds.InvoiceDetailTable[i].TotalDistributionCharges; totalDistributionCharges += ds.InvoiceDetailTable[i].TotalDistributionCharges; } invoice.Range[invoice.Cells[row0 + 6, 2], invoice.Cells[row0 + 6 + rows - 1, 12]].Value2 = details; invoice.Range[invoice.Cells[row0 + 6, 2], invoice.Cells[row0 + 6 + rows - 1, 2]].NumberFormat = "@"; invoice.Range[invoice.Cells[row0 + 6, 3], invoice.Cells[row0 + 6 + rows - 1, 3]].NumberFormat = "@"; invoice.Range[invoice.Cells[row0 + 6, 4], invoice.Cells[row0 + 6 + rows - 1, 4]].NumberFormat = "@"; invoice.Range[invoice.Cells[row0 + 6, 5], invoice.Cells[row0 + 6 + rows - 1, 5]].NumberFormat = "#0"; invoice.Range[invoice.Cells[row0 + 6, 6], invoice.Cells[row0 + 6 + rows - 1, 6]].NumberFormat = "#0.00"; invoice.Range[invoice.Cells[row0 + 6, 7], invoice.Cells[row0 + 6 + rows - 1, 7]].NumberFormat = "#,##0.00"; invoice.Range[invoice.Cells[row0 + 6, 8], invoice.Cells[row0 + 6 + rows - 1, 8]].NumberFormat = "$#,##0.00_);($#,##0.00)"; invoice.Range[invoice.Cells[row0 + 6, 9], invoice.Cells[row0 + 6 + rows - 1, 9]].NumberFormat = "$#,##0.00_);($#,##0.00)"; invoice.Range[invoice.Cells[row0 + 6, 10], invoice.Cells[row0 + 6 + rows - 1, 10]].NumberFormat = "#0.0000 %"; invoice.Range[invoice.Cells[row0 + 6, 11], invoice.Cells[row0 + 6 + rows - 1, 11]].NumberFormat = "$#,##0.00_);($#,##0.00)"; invoice.Range[invoice.Cells[row0 + 6, 12], invoice.Cells[row0 + 6 + rows - 1, 12]].NumberFormat = "$#,##0.00_);($#,##0.00)"; } invoice.Range[invoice.Cells[row0 + 6 + rows, 2], invoice.Cells[row0 + 6 + rows, 12]].Value2 = new object[1, 11] { { "", "", "", "", "", "", "", "", "", "Total:", totalDistributionCharges } }; invoice.Range[invoice.Cells[row0 + 6 + rows, 11], invoice.Cells[row0 + 6 + rows, 11]].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight; invoice.Range[invoice.Cells[row0 + 6 + rows, 12], invoice.Cells[row0 + 6 + rows, 12]].NumberFormat = "$#,##0.00_);($#,##0.00)"; return(_rows); }
private void showTLDetail(InvoiceDataset ds) { //Get worksheet TLDetail detail = global::Argix.Finance.Globals.TLDetail; //Header int rows = ds.InvoiceTLDetailTable.Rows.Count; if (rows == 0) { return; } detail.PerGallonTL.Value = ds.InvoiceTLDetailTable[0].PerGallon; //Detail object[,] trip = new object[rows, 1]; object[,] departdate = new object[rows, 1]; object[,] unloaddate = new object[rows, 1]; object[,] trailer = new object[rows, 1]; object[,] miles = new object[rows, 1]; object[,] ratepermile = new object[rows, 1]; object[,] fscpermile = new object[rows, 1]; object[,] totalmiles = new object[rows, 1]; object[,] trailerchg = new object[rows, 1]; object[,] totalweight = new object[rows, 1]; object[,] costperlb = new object[rows, 1]; object[,] bol = new object[rows, 1]; for (int i = 0; i < rows; i++) { trip[i, 0] = ds.InvoiceTLDetailTable[i].Trip; if (!ds.InvoiceTLDetailTable[i].IsDepartureDateNull()) { departdate[i, 0] = ds.InvoiceTLDetailTable[i].DepartureDate; } if (!ds.InvoiceTLDetailTable[i].IsUnloadDateNull()) { unloaddate[i, 0] = ds.InvoiceTLDetailTable[i].UnloadDate; } if (!ds.InvoiceTLDetailTable[i].IsTrailerNumberNull()) { trailer[i, 0] = ds.InvoiceTLDetailTable[i].TrailerNumber.Trim(); } if (!ds.InvoiceTLDetailTable[i].IsMilesNull()) { miles[i, 0] = ds.InvoiceTLDetailTable[i].Miles; } if (!ds.InvoiceTLDetailTable[i].IsRatePerMileNull()) { ratepermile[i, 0] = ds.InvoiceTLDetailTable[i].RatePerMile; } if (!ds.InvoiceTLDetailTable[i].IsFCSPerMileNull()) { fscpermile[i, 0] = ds.InvoiceTLDetailTable[i].FCSPerMile; } if (!ds.InvoiceTLDetailTable[i].IsTotalPerMileNull()) { totalmiles[i, 0] = ds.InvoiceTLDetailTable[i].TotalPerMile; } if (!ds.InvoiceTLDetailTable[i].IsTrailerChargeNull()) { trailerchg[i, 0] = ds.InvoiceTLDetailTable[i].TrailerCharge; } if (!ds.InvoiceTLDetailTable[i].IsTotalWeightNull()) { totalweight[i, 0] = ds.InvoiceTLDetailTable[i].TotalWeight; } if (!ds.InvoiceTLDetailTable[i].IsCostPerPoundNull()) { costperlb[i, 0] = ds.InvoiceTLDetailTable[i].CostPerPound; } if (!ds.InvoiceTLDetailTable[i].IsBLNumberNull()) { bol[i, 0] = ds.InvoiceTLDetailTable[i].BLNumber; } } detail.Range[detail.Cells[4, 1], detail.Cells[3 + rows, 1]].Value2 = trip; detail.Range[detail.Cells[4, 2], detail.Cells[3 + rows, 2]].Value2 = departdate; detail.Range[detail.Cells[4, 3], detail.Cells[3 + rows, 3]].Value2 = unloaddate; detail.Range[detail.Cells[4, 4], detail.Cells[3 + rows, 4]].Value2 = trailer; detail.Range[detail.Cells[4, 5], detail.Cells[3 + rows, 5]].Value2 = miles; detail.Range[detail.Cells[4, 6], detail.Cells[3 + rows, 6]].Value2 = ratepermile; detail.Range[detail.Cells[4, 7], detail.Cells[3 + rows, 7]].Value2 = fscpermile; detail.Range[detail.Cells[4, 8], detail.Cells[3 + rows, 8]].Value2 = totalmiles; detail.Range[detail.Cells[4, 9], detail.Cells[3 + rows, 9]].Value2 = trailerchg; detail.Range[detail.Cells[4, 11], detail.Cells[3 + rows, 11]].Value2 = totalweight; detail.Range[detail.Cells[4, 12], detail.Cells[3 + rows, 12]].Value2 = costperlb; detail.Range[detail.Cells[4, 13], detail.Cells[3 + rows, 13]].Value2 = bol; }
//Interface private void ThisWorkbook_Startup(object sender, System.EventArgs e) { //Event handler for workbook startup event try { System.IntPtr p = GetCommandLine(); string cmd = System.Runtime.InteropServices.Marshal.PtrToStringAuto(p); string clid = "", invoice = ""; #if DEBUG clid = "092"; invoice = "331316400"; //010, 331316400 #endif if (cmd != null) { string query = cmd.Substring(cmd.IndexOf('?') + 1); string[] args = query.Split('&'); if (args.Length > 0) { clid = args[0].Substring(args[0].IndexOf("=") + 1).Trim(); } if (args.Length > 1) { invoice = args[1].Substring(args[1].IndexOf("=") + 1).Trim(); } } if (invoice.Length > 0) { //Display summary and detail data try { SqlDataAdapter adapter = new SqlDataAdapter(USP_SUMMARY, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); InvoiceDataset summaryDS = new InvoiceDataset(); adapter.TableMappings.Add("Table", TBL_SUMMARY); adapter.Fill(summaryDS, TBL_SUMMARY); if (summaryDS.Tables[TBL_SUMMARY] != null && summaryDS.Tables[TBL_SUMMARY].Rows.Count > 0) { showSummary(summaryDS); } else { MessageBox.Show("No summary data found for invoice #" + invoice + "."); } } catch (Exception ex) { reportError(ex); } try { SqlDataAdapter adapter = new SqlDataAdapter(USP_DETAIL, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); adapter.TableMappings.Add("Table", TBL_DETAIL); InvoiceDataset detailDS = new InvoiceDataset(); adapter.Fill(detailDS, TBL_DETAIL); if (detailDS.Tables[TBL_DETAIL] != null && detailDS.Tables[TBL_DETAIL].Rows.Count > 0) { showDetail(detailDS); } else { MessageBox.Show("No detail data found for invoice #" + invoice + "."); } } catch (Exception ex) { reportError(ex); } try { SqlDataAdapter adapter = new SqlDataAdapter(USP_TLDETAIL, global::Argix.Finance.Settings.Default.TSortR); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; adapter.SelectCommand.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@InvoiceNumber", invoice) }); adapter.TableMappings.Add("Table", TBL_TLDETAIL); InvoiceDataset tldetailDS = new InvoiceDataset(); adapter.Fill(tldetailDS, TBL_TLDETAIL); if (tldetailDS.Tables[TBL_TLDETAIL] != null && tldetailDS.Tables[TBL_TLDETAIL].Rows.Count > 0) { showTLDetail(tldetailDS); } else { MessageBox.Show("No TL data found for invoice #" + invoice + "."); } } catch (Exception ex) { reportError(ex); } } else { MessageBox.Show("Invoice unspecified."); } } catch (Exception ex) { reportError(ex); } }
private void showDetail(InvoiceDataset ds) { //Get worksheet Detail detail = global::Argix.Finance.Globals.Detail; //Header int rows = ds.InvoiceDetailTable.Rows.Count; if (rows == 0) { return; } detail.Manifests.Value = ds.InvoiceDetailTable[0].ManifestNumbers; detail.PerGallon.Value = ds.InvoiceDetailTable[0].PerGallon; detail.FSC.Value = ds.InvoiceDetailTable[0].FSCPercentage / 100; //Detail object[,] destZip = new object[rows, 1]; object[,] store = new object[rows, 1]; object[,] city = new object[rows, 1]; object[,] state = new object[rows, 1]; object[,] pieces = new object[rows, 1]; object[,] weight = new object[rows, 1]; object[,] delivrate = new object[rows, 1]; object[,] delivchgs = new object[rows, 1]; object[,] fuelsurchg = new object[rows, 1]; object[,] totaldelivchgs = new object[rows, 1]; object[,] lhalloc = new object[rows, 1]; object[,] totalchgs = new object[rows, 1]; for (int i = 0; i < rows; i++) { if (!ds.InvoiceDetailTable[i].IsDestinationZipNull()) { destZip[i, 0] = ds.InvoiceDetailTable[i].DestinationZip; } if (!ds.InvoiceDetailTable[i].IsStoreNumberNull()) { store[i, 0] = ds.InvoiceDetailTable[i].StoreNumber; } if (!ds.InvoiceDetailTable[i].IsStoreCityNull()) { city[i, 0] = ds.InvoiceDetailTable[i].StoreCity; } if (!ds.InvoiceDetailTable[i].IsDestinationStateNull()) { state[i, 0] = ds.InvoiceDetailTable[i].DestinationState; } if (!ds.InvoiceDetailTable[i].IsTotalPiecesNull()) { pieces[i, 0] = ds.InvoiceDetailTable[i].TotalPieces; } if (!ds.InvoiceDetailTable[i].IsTotalWeightNull()) { weight[i, 0] = ds.InvoiceDetailTable[i].TotalWeight; } if (!ds.InvoiceDetailTable[i].IsDeliveryRateNull()) { delivrate[i, 0] = ds.InvoiceDetailTable[i].DeliveryRate; } if (!ds.InvoiceDetailTable[i].IsDeliveryChargesNull()) { delivchgs[i, 0] = ds.InvoiceDetailTable[i].DeliveryCharges; } if (!ds.InvoiceDetailTable[i].IsFuelSurchargeNull()) { fuelsurchg[i, 0] = ds.InvoiceDetailTable[i].FuelSurcharge; } if (!ds.InvoiceDetailTable[i].IsTotalDeliveryChargesNull()) { totaldelivchgs[i, 0] = ds.InvoiceDetailTable[i].TotalDeliveryCharges; } if (!ds.InvoiceDetailTable[i].IsLHAllocationNull()) { lhalloc[i, 0] = ds.InvoiceDetailTable[i].LHAllocation; } if (!ds.InvoiceDetailTable[i].IsTotalChargesNull()) { totalchgs[i, 0] = ds.InvoiceDetailTable[i].TotalCharges; } } detail.Range[detail.Cells[4, 1], detail.Cells[3 + rows, 1]].Value2 = destZip; detail.Range[detail.Cells[4, 2], detail.Cells[3 + rows, 2]].Value2 = store; detail.Range[detail.Cells[4, 3], detail.Cells[3 + rows, 3]].Value2 = city; detail.Range[detail.Cells[4, 4], detail.Cells[3 + rows, 4]].Value2 = state; detail.Range[detail.Cells[4, 5], detail.Cells[3 + rows, 5]].Value2 = pieces; detail.Range[detail.Cells[4, 6], detail.Cells[3 + rows, 6]].Value2 = weight; detail.Range[detail.Cells[4, 7], detail.Cells[3 + rows, 7]].Value2 = delivrate; detail.Range[detail.Cells[4, 8], detail.Cells[3 + rows, 8]].Value2 = delivchgs; detail.Range[detail.Cells[4, 9], detail.Cells[3 + rows, 9]].Value2 = fuelsurchg; detail.Range[detail.Cells[4, 10], detail.Cells[3 + rows, 10]].Value2 = totaldelivchgs; detail.Range[detail.Cells[4, 11], detail.Cells[3 + rows, 11]].Value2 = lhalloc; detail.Range[detail.Cells[4, 12], detail.Cells[3 + rows, 12]].Value2 = totalchgs; }