Exemplo n.º 1
0
        /// <summary>
        /// ‘确定’
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            string customerStart = string.IsNullOrEmpty(this.buttonEditCustomerStart.Text) ? "" : this.buttonEditCustomerStart.Text;


            string customerEnd = string.IsNullOrEmpty(this.buttonEditCustomerEnd.Text) ? "zzzzzzzzz" : this.buttonEditCustomerEnd.Text;


            DateTime dateStart    = this.dateEditStart.DateTime.Year < 1500 ? Convert.ToDateTime("1900-01-01") : this.dateEditStart.DateTime;
            DateTime dateEnd      = this.dateEditEnd.DateTime.Year < 1500 ? Convert.ToDateTime("3000-01-01") : this.dateEditEnd.DateTime;
            string   productStart = this.buttonEditProductStart.Text;
            string   productEnd   = this.buttonEditProductEnd.Text;



            //  ConditionXSProductForm f = new ConditionXSProductForm( customerStart,  customerEnd,  productStart,  productEnd,  dateStart,  dateEnd);

            IList <Model.InvoiceXS> xsdetail = new BL.InvoiceXSManager().Select(customerStart, customerEnd, productStart, productEnd, dateStart, dateEnd);

            if (xsdetail.Count == 0)
            {
                MessageBox.Show("在此區間無進貨記錄"); return;
            }
            Q20 f = new Q20(xsdetail, productStart, productEnd);

            //if (f.ShowDialog() != DialogResult.OK) return;
            f.ShowPreviewDialog();
        }
Exemplo n.º 2
0
        public ROHistoryXS()
        {
            InitializeComponent();

            Query.ConditionXChooseForm f = new Query.ConditionXChooseForm();
            if (f.ShowDialog() == DialogResult.OK)
            {
                Query.ConditionX con = f.Condition as Query.ConditionX;

                IList <Model.InvoiceXS> list = new BL.InvoiceXSManager().SelectDateRangAndWhere(con.Customer1, con.Customer2, con.StartDate, con.EndDate, con.Yjri1, con.Yjri2, con.CusXOId, con.Product, con.Product2, con.XOId1, con.XOId2, con.FreightedCompanyId, con.ConveyanceMethodId, con.Employee1, con.Employee2, con.Product_Id, con.ProductCategoryId);

                if (list == null || list.Count == 0)
                {
                    MessageBox.Show("無數據", "提示", MessageBoxButtons.OK);
                }

                IList <Model.InvoiceXSDetail> listDetail = new List <Model.InvoiceXSDetail>();
                foreach (var item in list)
                {
                    item.Details = detailManager.Select(item);
                    foreach (var detail in item.Details)
                    {
                        detail.Invoice = item;
                        listDetail.Add(detail);
                    }
                }

                var group = listDetail.GroupBy(D => D.InvoiceNO);
                IList <Model.InvoiceXSDetail> details = new List <Model.InvoiceXSDetail>();

                if (group != null && group.Count() > 0)
                {
                    foreach (var item in group)
                    {
                        Model.InvoiceXSDetail detail = new Book.Model.InvoiceXSDetail();
                        detail = item.First();
                        //先计算台幣金額,然后加总金额,因为台幣金額=金额*汇率
                        detail.TaibiAmountForGroup  = item.Sum(D => D.TaibiAmount);
                        detail.InvoiceXSDetailMoney = item.Sum(D => D.InvoiceXSDetailMoney);
                        item.Select(D => D.InvoiceXO.CustomerInvoiceXOId).Distinct().ToList().ForEach(F =>
                        {
                            detail.CusXOIdForGroup += F + "\r\n";
                        });
                        detail.CusXOIdForGroup = detail.CusXOIdForGroup.TrimEnd(new char[] { '\r', '\n' });

                        details.Add(detail);
                    }
                }

                this.DataSource = details;

                this.lbl_CompanyName.Text = BL.Settings.CompanyChineseName;
                this.lbl_ReportName.Text  = "銷售表 sales report";
                this.lbl_ReportDate.Text  = con.StartDate.ToString("yyyy-MM-dd") + " ~ " + con.EndDate.ToString("yyyy-MM-dd");

                string currenty = Model.ExchangeRate.GetCurrencyENNameAndSign(listDetail[0].Currency);

                this.xrTableCell9.Text = string.Format("實際請款     ({0})", currenty);

                this.TCInvoiceDate.DataBindings.Add("Text", this.DataSource, "Invoice." + Model.InvoiceXS.PROPERTY_INVOICEDATE, "{0:yyyy/MM/dd}");
                this.TCDeclareDate.DataBindings.Add("Text", this.DataSource, "Invoice." + Model.InvoiceXS.PRO_DeclareDate, "{0:yyyy/MM/dd}");
                this.TCShipMethod.DataBindings.Add("Text", this.DataSource, "Invoice.ConveyanceMethod." + Model.ConveyanceMethod.PROPERTY_CONVEYANCEMETHODNAME);
                this.TCXSCustomer.DataBindings.Add("Text", this.DataSource, "Invoice.XSCustomer." + Model.Customer.PRO_CustomerFullName);
                this.TCInvoiceNO.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceNO);
                this.TCAmount.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailMoney, currenty + "{0:N2}");
                this.TCRealAmount.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailMoney, currenty + "{0:N2}");
                this.TCExchangeRate.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_ExchangeRate);
                //this.TCTaibiAmount.DataBindings.Add("Text", this.DataSource, "TaibiAmount", "NT${0:N2}");
                this.TCTaibiAmount.DataBindings.Add("Text", this.DataSource, "TaibiAmountForGroup", "NT${0:N2}");
                this.TCPayTerm.DataBindings.Add("Text", this.DataSource, "Invoice.XSCustomer." + Model.Customer.PRO_PayCondition);
                //this.TCCusXOId.DataBindings.Add("Text", this.DataSource, "InvoiceXO." + Model.InvoiceXO.PRO_CustomerInvoiceXOId);
                //this.TCCusXOId.DataBindings.Add("Text", this.DataSource, "CusXOIdForGroup");
                this.xrRichText1.DataBindings.Add("Text", this.DataSource, "CusXOIdForGroup");

                this.TCTotalAmount.Text      = currenty + details.Sum(D => D.InvoiceXSDetailMoney).Value.ToString("N2");
                this.TCTotalTaibiAmount.Text = "NT$" + details.Sum(D => D.TaibiAmountForGroup).Value.ToString("N2");
            }
            else
            {
                throw new Exception();
            }
        }