/// <summary>
        /// Update a PackingInvoiceHeader.
        /// </summary>
        public void Update(Model.PackingInvoiceHeader packingInvoiceHeader)
        {
            //
            // todo: add other logic here.
            //
            Validate(packingInvoiceHeader);

            try
            {
                BL.V.BeginTransaction();

                packingInvoiceHeader.UpdateTime = DateTime.Now;
                accessor.Update(packingInvoiceHeader);

                accessorDetail.DeleteByHeader(packingInvoiceHeader.InvoiceNo);
                foreach (var item in packingInvoiceHeader.Details)
                {
                    item.PackingInvoiceHeaderId = packingInvoiceHeader.InvoiceNo;

                    accessorDetail.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
        /// <summary>
        /// Insert a PackingInvoiceHeader.
        /// </summary>
        public void Insert(Model.PackingInvoiceHeader packingInvoiceHeader)
        {
            //
            // todo:add other logic here
            //
            Validate(packingInvoiceHeader);

            if (this.ExistsPrimary(packingInvoiceHeader.InvoiceNo))
            {
                throw new Helper.MessageValueException(string.Format("已存在相同的InvoiceNO:{0}", packingInvoiceHeader.InvoiceNo));
            }

            try
            {
                BL.V.BeginTransaction();

                packingInvoiceHeader.InsertTime = DateTime.Now;
                packingInvoiceHeader.UpdateTime = DateTime.Now;
                accessor.Insert(packingInvoiceHeader);

                foreach (var item in packingInvoiceHeader.Details)
                {
                    item.PackingInvoiceHeaderId = packingInvoiceHeader.InvoiceNo;

                    accessorDetail.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
예제 #3
0
        private void GetDetailInfo()
        {
            Model.PackingInvoiceHeader model = this.bindingSourceHeader.Current as Model.PackingInvoiceHeader;

            if (model != null)
            {
                model.Details = detailManager.SelectByHeader(model.InvoiceNo);

                if (model.Details != null && model.Details.Count > 0)
                {
                    string currency       = new BL.InvoiceXOManager().GetCurrencyByInvoiceId(model.Details[0].InvoiceXODetail.InvoiceId);
                    string currencyENName = Model.ExchangeRate.GetCurrencyENName(currency);
                    string currencySign   = Model.ExchangeRate.GetCurrencySign(currency);

                    //model.Currency = currencySign;

                    foreach (var detail in model.Details)
                    {
                        detail.Currency = currencySign;
                    }
                }

                this.bindingSourceDetail.DataSource = model.Details;
            }
            else
            {
                this.bindingSourceDetail.DataSource = null;
            }

            this.gridControl3.RefreshDataSource();

            this.SelectItem = model;
        }
예제 #4
0
        protected override void AddNew()
        {
            this.packingInvoiceHeader        = new Book.Model.PackingInvoiceHeader();
            packingInvoiceHeader.InvoiceDate = DateTime.Now;


            this.action = "insert";
        }
예제 #5
0
 protected override void MoveLast()
 {
     if (this.LastFlag == 1)
     {
         this.LastFlag = 0;
         return;
     }
     this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetLast();
 }
예제 #6
0
 protected override void MoveNext()
 {
     Model.PackingInvoiceHeader model = this.packingInvoiceHeaderManager.GetNext(this.packingInvoiceHeader);
     if (model == null)
     {
         throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows);
     }
     this.packingInvoiceHeader = model;
 }
예제 #7
0
        protected override Form GetViewForm()
        {
            Model.PackingInvoiceHeader invoice = this.SelectedItem as Model.PackingInvoiceHeader;
            if (invoice != null)
            {
                return(new EditFormInvoice(invoice.InvoiceNo));
            }

            return(null);
        }
        public Book.Model.PackingInvoiceHeader GetDetail(string invoiceNo)
        {
            Model.PackingInvoiceHeader header = this.Get(invoiceNo);
            if (header != null)
            {
                header.Details = accessorDetail.SelectByHeader(invoiceNo);
            }

            return(header);
        }
예제 #9
0
 public EditFormInvoice(Model.PackingInvoiceHeader invoice)
     : this()
 {
     if (invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.packingInvoiceHeader = invoice;
     this.action = "view";
     if (this.action == "view")
     {
         LastFlag = 1;
     }
 }
예제 #10
0
 int LastFlag = 0; //页面载 入时是否执行 last方法
 public EditFormInvoice(string invoiceId)
     : this()
 {
     this.packingInvoiceHeader = this.packingInvoiceHeaderManager.Get(invoiceId);
     if (this.packingInvoiceHeader == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.action = "view";
     if (this.action == "view")
     {
         LastFlag = 1;
     }
 }
예제 #11
0
 protected override void TurnNull()
 {
     if (this.packingInvoiceHeader == null)
     {
         return;
     }
     if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
     {
         this.packingInvoiceHeaderManager.Delete(this.packingInvoiceHeader.InvoiceNo);
         this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetNext(this.packingInvoiceHeader);
         if (this.packingInvoiceHeader == null)
         {
             this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetLast();
         }
     }
 }
예제 #12
0
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            Model.PackingInvoiceHeader model = this.bindingSourceHeader.Current as Model.PackingInvoiceHeader;

            if (model != null)
            {
                this.bindingSourceDetail.DataSource = model.Details = detailManager.SelectByHeader(model.InvoiceNo);
            }
            else
            {
                this.bindingSourceDetail.DataSource = null;
            }

            this.gridControl3.RefreshDataSource();

            this.SelectItem = model;
        }
        private void Validate(Model.PackingInvoiceHeader model)
        {
            if (string.IsNullOrEmpty(model.InvoiceNo))
            {
                throw new Helper.RequireValueException(Model.PackingInvoiceHeader.PRO_InvoiceNo);
            }
            if (model.InvoiceDate == null)
            {
                throw new Helper.RequireValueException(Model.PackingInvoiceHeader.PRO_InvoiceDate);
            }

            //foreach (var item in model.Details)
            //{
            //    if (string.IsNullOrEmpty(item.Number))
            //        throw new Helper.RequireValueException(Model.PackingInvoiceDetail.PRO_Number);
            //}
        }
예제 #14
0
 public bool HasRowsBefore(Model.PackingInvoiceHeader e)
 {
     return(accessor.HasRowsBefore(e));
 }
 public void Update(Model.PackingInvoiceHeader e)
 {
     this.Update <Model.PackingInvoiceHeader>(e);
 }
 public Model.PackingInvoiceHeader GetPrev(Model.PackingInvoiceHeader e)
 {
     return(sqlmapper.QueryForObject <Model.PackingInvoiceHeader>("PackingInvoiceHeader.get_prev", e));
 }
 public void Insert(Model.PackingInvoiceHeader e)
 {
     this.Insert <Model.PackingInvoiceHeader>(e);
 }
 public bool HasRowsBefore(Model.PackingInvoiceHeader e)
 {
     return(sqlmapper.QueryForObject <bool>("PackingInvoiceHeader.has_rows_before", e));
 }
 public bool HasRowsAfter(Model.PackingInvoiceHeader e)
 {
     return(sqlmapper.QueryForObject <bool>("PackingInvoiceHeader.has_rows_after", e));
 }
예제 #20
0
        public override void Refresh()
        {
            if (this.packingInvoiceHeader == null)
            {
                this.AddNew();
            }
            else
            {
                if (this.action == "view")  //打印時去掉PLTNO,修改時刷新一下顯示出來
                {
                    this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetDetail(this.packingInvoiceHeader.InvoiceNo);
                }
            }

            this.txt_InvoiceNo.Text         = this.packingInvoiceHeader.InvoiceNo;
            this.Date_InvoiceDate.EditValue = this.packingInvoiceHeader.InvoiceDate;
            this.txt_CustomerName.EditValue = this.packingInvoiceHeader.CustomerFullName;
            this.txt_ADDRESS.EditValue      = this.packingInvoiceHeader.CustomerAddress;

            this.txt_PerSS.Text         = this.packingInvoiceHeader.PerSS;
            this.date_Sailing.EditValue = this.packingInvoiceHeader.SailingOnOrAbout;
            this.lue_From.EditValue     = this.packingInvoiceHeader.FromPortId;
            this.lue_TO.EditValue       = this.packingInvoiceHeader.ToPortId;

            //2020年1月5日22:42:35
            this.txt_PackingListOf.EditValue    = this.packingInvoiceHeader.PackingListOf;
            this.txt_Attn.EditValue             = this.packingInvoiceHeader.Attn;
            this.btne_ShippedBy.EditValue       = this.packingInvoiceHeader.ShippedBy;
            this.txt_ShippedByAddress.EditValue = this.packingInvoiceHeader.ShippedByAddress;
            this.btne_ShipTo.EditValue          = this.packingInvoiceHeader.ShipTo;
            this.txt_ShipToAddress.EditValue    = this.packingInvoiceHeader.ShipToAddress;
            this.txt_TotalEnglish.EditValue     = this.packingInvoiceHeader.TotalEnglish;
            this.txt_Term.EditValue             = this.packingInvoiceHeader.Term;

            this.lue_AccountName.EditValue = this.packingInvoiceHeader.BankId;

            switch (this.action)
            {
            case "insert":
                this.gridView3.OptionsBehavior.Editable = true;
                break;

            case "update":
                this.gridView3.OptionsBehavior.Editable = true;
                break;

            default:
                this.gridView3.OptionsBehavior.Editable = false;
                break;
            }

            this.bindingSourceDetail.DataSource = this.packingInvoiceHeader.Details;

            base.Refresh();

            this.txt_CustomerName.Properties.ReadOnly = true;
            this.txt_ADDRESS.Properties.ReadOnly      = true;
            this.txt_PerSS.Properties.ReadOnly        = true;
            //this.date_Sailing.Properties.ReadOnly = true;
            this.lue_From.Properties.ReadOnly             = true;
            this.lue_TO.Properties.ReadOnly               = true;
            this.btne_ShippedBy.Properties.ReadOnly       = true;
            this.txt_ShippedByAddress.Properties.ReadOnly = true;
            this.btne_ShipTo.Properties.ReadOnly          = true;
            this.txt_ShipToAddress.Properties.ReadOnly    = true;

            if (this.action == "update")
            {
                this.txt_InvoiceNo.Properties.ReadOnly = true;
            }
        }
예제 #21
0
 public bool HasRowsAfter(Model.PackingInvoiceHeader e)
 {
     return(accessor.HasRowsAfter(e));
 }
예제 #22
0
 public Model.PackingInvoiceHeader GetNext(Model.PackingInvoiceHeader e)
 {
     return(accessor.GetNext(e));
 }
예제 #23
0
 protected override void MoveFirst()
 {
     this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetFirst();
 }
예제 #24
0
        public override void Refresh()
        {
            if (this.packingInvoiceHeader == null)
            {
                this.AddNew();
            }
            else
            {
                if (this.action == "view")  //打印時去掉PLTNO,修改時刷新一下顯示出來
                {
                    this.packingInvoiceHeader = this.packingInvoiceHeaderManager.GetDetail(this.packingInvoiceHeader.InvoiceNo);
                }
            }

            this.txt_InvoiceNo.Text         = this.packingInvoiceHeader.InvoiceNo;
            this.Date_InvoiceDate.EditValue = this.packingInvoiceHeader.InvoiceDate;
            this.ncc_Customer.EditValue     = this.packingInvoiceHeader.Customer;
            //if (this.packingInvoiceHeader.Customer != null)   //客户全名和地址独立出来,不从客户带
            //{
            //    this.txt_CustomerName.EditValue = this.packingInvoiceHeader.Customer.CustomerFullName;
            //    this.txt_ADDRESS.EditValue = this.packingInvoiceHeader.Customer.CustomerAddress;
            //}
            //else
            //{
            //    this.txt_CustomerName.EditValue = "";
            //    this.txt_ADDRESS.EditValue = "";
            //}
            this.txt_CustomerName.EditValue     = this.packingInvoiceHeader.CustomerFullName;
            this.txt_ADDRESS.EditValue          = this.packingInvoiceHeader.CustomerAddress;
            this.txt_TradingCondition.EditValue = this.packingInvoiceHeader.TradingCondition;

            this.txt_PerSS.Text         = this.packingInvoiceHeader.PerSS;
            this.date_Sailing.EditValue = this.packingInvoiceHeader.SailingOnOrAbout;
            this.lue_From.EditValue     = this.packingInvoiceHeader.FromPortId;
            this.lue_TO.EditValue       = this.packingInvoiceHeader.ToPortId;
            this.txt_MarkNos.Text       = this.packingInvoiceHeader.MarkNos;
            this.cob_Unit.Text          = this.packingInvoiceHeader.Unit;

            switch (this.action)
            {
            case "insert":
                this.gridView3.OptionsBehavior.Editable = true;
                break;

            case "update":
                this.gridView3.OptionsBehavior.Editable = true;
                break;

            default:
                this.gridView3.OptionsBehavior.Editable = false;
                break;
            }

            this.bindingSourceDetail.DataSource = this.packingInvoiceHeader.Details;

            base.Refresh();

            this.txt_CustomerName.Properties.ReadOnly = true;
            this.txt_ADDRESS.Properties.ReadOnly      = true;
            this.txt_PerSS.Properties.ReadOnly        = true;
            this.txt_MarkNos.Properties.ReadOnly      = true;
            this.date_Sailing.Properties.ReadOnly     = true;
            this.lue_From.Properties.ReadOnly         = true;
            this.lue_TO.Properties.ReadOnly           = true;
            this.cob_Unit.Properties.ReadOnly         = true;

            if (this.action == "update")
            {
                this.txt_InvoiceNo.Properties.ReadOnly = true;
            }
        }
 public Model.PackingInvoiceHeader GetNext(Model.PackingInvoiceHeader e)
 {
     return(sqlmapper.QueryForObject <Model.PackingInvoiceHeader>("PackingInvoiceHeader.get_next", e));
 }
예제 #26
0
        public ROInvoice(Model.PackingInvoiceHeader invoiceList)
        {
            InitializeComponent();

            if (!string.IsNullOrEmpty(invoiceList.Unit))
            {
                this.xrTableCell5.Text = string.Format("Quantity ({0})", invoiceList.Unit);
            }

            this.DataSource = invoiceList.Details;

            this.lbl_PackingNo.Text = invoiceList.InvoiceNo;
            //this.lbl_PackingDate.Text = invoiceList.InvoiceDate.Value.ToString("yyyy-MM-dd");
            this.lbl_PackingDate.Text = invoiceList.InvoiceDate.Value.ToString("MMM dd.yyyy", CultureInfo.CreateSpecificCulture("en-GB"));
            //this.lbl_CustomerFullName.Text = invoiceList.Customer.CustomerFullName;
            //this.lbl_address.Text = invoiceList.Customer.CustomerAddress;
            this.lbl_CustomerFullName.Text = invoiceList.CustomerFullName;
            this.lbl_address.Text          = invoiceList.CustomerAddress;
            this.lbl_PayCondition.Text     = invoiceList.TradingCondition;
            this.lbl_PerSS.Text            = invoiceList.PerSS;
            if (invoiceList.SailingOnOrAbout != null)
            {
                this.lbl_SailingDate.Text = invoiceList.SailingOnOrAbout.Value.ToString("MMM dd.yyyy", CultureInfo.CreateSpecificCulture("en-GB"));
            }
            if (invoiceList.FromPort != null)
            {
                this.lbl_From.Text = invoiceList.FromPort.PortName;
            }
            if (invoiceList.ToPort != null)
            {
                this.lbl_TO.Text = invoiceList.ToPort.PortName;
            }
            this.lbl_marks.Text = invoiceList.MarkNos;

            if (!string.IsNullOrEmpty(invoiceList.Unit))
            {
                this.lbl_TotalQTY.Text = invoiceList.Details.Sum(P => P.Quantity).Value.ToString("0.00") + " " + invoiceList.Unit;
            }
            else
            {
                this.lbl_TotalQTY.Text = invoiceList.Details.Sum(P => P.Quantity).Value.ToString("0.00") + " PCS";
            }

            if (invoiceList.Details != null && invoiceList.Details.Count > 0)
            {
                string currency       = new BL.InvoiceXOManager().GetCurrencyByInvoiceId(invoiceList.Details[0].InvoiceXODetail.InvoiceId);
                string currencyENName = Model.ExchangeRate.GetCurrencyENName(currency);
                string currencySign   = Model.ExchangeRate.GetCurrencySign(currency);
                this.xrTableCell6.Text        = "Amount                   (" + currencyENName + ")";
                this.TCUnitPriceCurrency.Text = currencySign;
                this.TCAmountCurrency.Text    = currencySign;
                this.lbl_TotalAmount.Text     = currencyENName + " " + invoiceList.Details.Sum(P => P.Amount).Value.ToString("0.00");
            }

            TC_No.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_Number);
            TC_PONO.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_PONo);
            //TC_CUSTNO.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_CUSTNO);
            //TC_ProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            TC_CUSTNO.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_CustomerProductName);
            TC_ProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            TCQTY.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_ShowQty);
            TC_UnitPrice.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_UnitPrice, "{0:0.00}");
            TC_Amount.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_Amount, "{0:0.00}");
        }
예제 #27
0
        public ROInvoice(Model.PackingInvoiceHeader invoiceList)
        {
            InitializeComponent();

            if (!string.IsNullOrEmpty(invoiceList.Unit))
            {
                this.xrTableCell5.Text = string.Format("Quantity ({0})", invoiceList.Unit);
            }

            this.DataSource = invoiceList.Details;

            this.lbl_PackingNo.Text        = invoiceList.InvoiceNo;
            this.lbl_PackingDate.Text      = invoiceList.InvoiceDate.Value.ToString("yyyy/MM/dd");
            this.lbl_CustomerFullName.Text = invoiceList.CustomerFullName;
            this.lbl_address.Text          = invoiceList.CustomerAddress;
            this.lbl_PerSS.Text            = invoiceList.PerSS;
            if (invoiceList.SailingOnOrAbout != null)
            {
                this.lbl_SailingDate.Text = invoiceList.SailingOnOrAbout.Value.ToString("yyyy-MM-dd");
            }
            if (invoiceList.FromPort != null)
            {
                this.lbl_From.Text = invoiceList.FromPort.PortName;
            }
            if (invoiceList.ToPort != null)
            {
                this.lbl_TO.Text = invoiceList.ToPort.PortName;
            }

            this.lbl_InvoiceOf.Text     = invoiceList.PackingListOf;
            this.lbl_Attn.Text          = invoiceList.Attn;
            this.lbl_Term.Text          = invoiceList.Term;
            this.lbl_ShippedBy.Text     = invoiceList.ShippedBy;
            this.lbl_ShipTo.Text        = invoiceList.ShipTo;
            this.lbl_ShipToAddress.Text = invoiceList.ShipToAddress;

            this.lbl_TotalEnglish.Text = invoiceList.TotalEnglish;

            if (invoiceList.Bank != null)
            {
                this.lbl_BankName.Text      = invoiceList.Bank.BankName;
                this.lbl_BankAddress.Text   = invoiceList.Bank.BankAddress;
                this.lbl_BankPhone.Text     = invoiceList.Bank.BankPhone;
                this.lbl_BankFax.Text       = invoiceList.Bank.Fax;
                this.lbl_BankAccountNo.Text = invoiceList.Bank.Id;
                this.lbl_BankSwiftCode.Text = invoiceList.Bank.SWIFTCode;

                //this.xrLabel17
            }

            if (!string.IsNullOrEmpty(invoiceList.Unit))
            {
                this.lbl_TotalQTY.Text = invoiceList.Details.Sum(P => P.Quantity).Value.ToString("0.##") + " " + invoiceList.Unit;
            }
            else
            {
                this.lbl_TotalQTY.Text = invoiceList.Details.Sum(P => P.Quantity).Value.ToString("0.##") + " PCS";
            }

            if (invoiceList.Details != null && invoiceList.Details.Count > 0)
            {
                //string currency = new BL.InvoiceXOManager().GetCurrencyByInvoiceId(invoiceList.Details[0].InvoiceXODetail.InvoiceId);

                string currency = "";
                if (invoiceList.Details.FirstOrDefault(d => d.InvoiceXODetail != null) != null)
                {
                    currency = new BL.InvoiceXOManager().GetCurrencyByInvoiceId(invoiceList.Details.First(d => d.InvoiceXODetail != null).InvoiceXODetail.InvoiceId);
                }

                string currencyENName = Model.ExchangeRate.GetCurrencyENName(currency);
                string currencySign   = Model.ExchangeRate.GetCurrencySignByCNName(currency);
                this.xrTableCell6.Text        = "Amount     (" + currencyENName + ")";
                this.TCUnitPriceCurrency.Text = currencySign;
                this.TCAmountCurrency.Text    = currencySign;
                this.lbl_TotalAmount.Text     = currencyENName + " " + invoiceList.Details.Sum(P => P.Amount).Value.ToString("N3");
            }

            //TC_No.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_Number);
            TC_PONO.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_PONo);
            TC_ProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            TCQTY.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_ShowQty, "{0:0.##}");
            TC_UnitPrice.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_UnitPrice, "{0:N3}");
            TC_Amount.DataBindings.Add("Text", this.DataSource, Model.PackingInvoiceDetail.PRO_Amount, "{0:N3}");
        }