예제 #1
0
        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;
        }
예제 #2
0
        //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); }
        }
예제 #3
0
        //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); }
        }
예제 #4
0
        //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); }
        }
예제 #5
0
        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;
            }
        }
예제 #6
0
        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);
        }
예제 #7
0
        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;
        }
예제 #8
0
        //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); }
        }
예제 #9
0
        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;
        }