Exemplo n.º 1
0
        public Invoice(string invoiceNumber)
        {
            InitializeComponent();
            CenterToScreen();
            var adapter = new DataSet1TableAdapters.DataTable1TableAdapter();

            adapter.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["SyncDB"].ToString();
            var table = new DataSet1.DataTable1DataTable();

            adapter.FillByInvoiceNumber(table, invoiceNumber);
            var newDataSource = new ReportDataSource("DataSet1", (DataTable)table);

            this.reportViewer1.LocalReport.DataSources.Clear();
            this.reportViewer1.LocalReport.DataSources.Add(newDataSource);
            ReportParameter[] parameters = new ReportParameter[13];
            using (var context = new ManagementDbEntities())
            {
                double totalAmount;
                totalAmount = 0;
                var StockOutRecords = context.StockOutRecords.Where(r => r.InvoiceNumber == invoiceNumber).ToList();
                foreach (var record in StockOutRecords)
                {
                    totalAmount += record.ProductTotalAmount.GetValueOrDefault();
                }
                var firstRecord = StockOutRecords.FirstOrDefault();
                var currentUser = context.Users.FirstOrDefault();
                parameters[0]  = new ReportParameter("CustomerName", firstRecord.CustomerName);
                parameters[1]  = new ReportParameter("CustomerContactPerson", firstRecord.CustomerContactPerson);
                parameters[2]  = new ReportParameter("CustomerContactNumber", firstRecord.CustomerContact);
                parameters[3]  = new ReportParameter("CustomerAddress", firstRecord.CustomerAddress);
                parameters[4]  = new ReportParameter("InvoiceDate", firstRecord.Date.GetValueOrDefault().ToString("yyyy-MM-dd"));
                parameters[5]  = new ReportParameter("Amount", totalAmount.ToString());
                parameters[6]  = new ReportParameter("InvoiceNumber", firstRecord.InvoiceNumber);
                parameters[7]  = new ReportParameter("CapitalAmount", GetCapitalAmount(totalAmount));
                parameters[8]  = new ReportParameter("CompanyName", currentUser.CompanyName);
                parameters[9]  = new ReportParameter("CompanyAddress", currentUser.CompanyAddress);
                parameters[10] = new ReportParameter("CompanyTel", currentUser.CompanyContact);
                parameters[11] = new ReportParameter("CompanyFax", currentUser.CompanyFax);
                parameters[12] = new ReportParameter("MadeBy", currentUser.InvoiceCreator);
            }
            this.reportViewer1.LocalReport.SetParameters(parameters);
            this.reportViewer1.LocalReport.Refresh();
            this.reportViewer1.RefreshReport();
        }