예제 #1
0
        protected override void AddNew()
        {
            this.packingListHeader        = new Book.Model.PackingListHeader();
            packingListHeader.PackingDate = DateTime.Now;

            this.action = "insert";
        }
예제 #2
0
        /// <summary>
        /// Update a PackingListHeader.
        /// </summary>
        public void Update(Model.PackingListHeader packingListHeader, string oldId)
        {
            //
            // todo: add other logic here.
            //

            Validate(packingListHeader);

            try
            {
                BL.V.BeginTransaction();

                //删除详细
                accessorDetail.DeleteByHeader(oldId);
                accessor.Delete(oldId);

                packingListHeader.UpdateTime = DateTime.Now;
                accessor.Insert(packingListHeader);

                foreach (var item in packingListHeader.Details)
                {
                    item.PackingListHeaderId = packingListHeader.PackingNo;

                    accessorDetail.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
예제 #3
0
 protected override void MoveNext()
 {
     Model.PackingListHeader model = this.packingListHeaderManager.GetNext(this.packingListHeader);
     if (model == null)
     {
         throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows);
     }
     this.packingListHeader = model;
 }
예제 #4
0
 protected override void MoveLast()
 {
     if (this.LastFlag == 1)
     {
         this.LastFlag = 0;
         return;
     }
     this.packingListHeader = this.packingListHeaderManager.GetLast();
 }
예제 #5
0
        protected override Form GetViewForm()
        {
            Model.PackingListHeader invoice = this.SelectedItem as Model.PackingListHeader;
            if (invoice != null)
            {
                return(new EditForm(invoice.PackingNo));
            }

            return(null);
        }
예제 #6
0
        public Book.Model.PackingListHeader GetDetail(string packingNo)
        {
            Model.PackingListHeader header = this.Get(packingNo);
            if (header != null)
            {
                header.Details = accessorDetail.SelectByHeader(packingNo);
            }

            return(header);
        }
예제 #7
0
        public override void Refresh()
        {
            if (this.packingListHeader == null)
            {
                this.AddNew();
            }
            else
            {
                if (this.action == "view" || this.action == "update")  //打印時去掉PLTNO,修改時刷新一下顯示出來
                {
                    this.packingListHeader = this.packingListHeaderManager.GetDetail(this.packingListHeader.PackingNo);
                }
            }

            this.txt_PackingNo.Text         = this.packingListHeader.PackingNo;
            this.Date_PackingDate.EditValue = this.packingListHeader.PackingDate;
            this.btne_CustomerName.Text     = this.packingListHeader.CustomerFullName;
            this.txt_ADDRESS.Text           = this.packingListHeader.CustomerAddress;
            this.txt_PerSS.Text             = this.packingListHeader.PerSS;
            this.lue_From.EditValue         = this.packingListHeader.FromPortId;
            this.lue_TO.EditValue           = this.packingListHeader.ToPortId;

            //2020年1月5日22:42:35
            this.txt_PackingListOf.EditValue    = this.packingListHeader.PackingListOf;
            this.txt_Attn.EditValue             = this.packingListHeader.Attn;
            this.btne_ShippedBy.EditValue       = this.packingListHeader.ShippedBy;
            this.txt_ShippedByAddress.EditValue = this.packingListHeader.ShippedByAddress;
            this.btne_ShipTo.EditValue          = this.packingListHeader.ShipTo;
            this.txt_ShipToAddress.EditValue    = this.packingListHeader.ShipToAddress;
            this.richTextBox1.Rtf = this.packingListHeader.MarkNos;

            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.packingListHeader.Details;

            base.Refresh();

            //if (this.action == "update")
            //    this.txt_PackingNo.Properties.ReadOnly = true;
        }
예제 #8
0
 public EditForm(Model.PackingListHeader invoice)
     : this()
 {
     if (invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.packingListHeader = invoice;
     this.action            = "view";
     if (this.action == "view")
     {
         LastFlag = 1;
     }
 }
예제 #9
0
 int LastFlag = 0; //页面载 入时是否执行 last方法
 public EditForm(string invoiceId)
     : this()
 {
     this.packingListHeader = this.packingListHeaderManager.Get(invoiceId);
     if (this.packingListHeader == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.action = "view";
     if (this.action == "view")
     {
         LastFlag = 1;
     }
 }
예제 #10
0
        public override void Refresh()
        {
            if (this.packingListHeader == null)
            {
                this.AddNew();
            }
            else
            {
                if (this.action == "view" || this.action == "update")  //打印時去掉PLTNO,修改時刷新一下顯示出來
                {
                    this.packingListHeader = this.packingListHeaderManager.GetDetail(this.packingListHeader.PackingNo);
                }
            }

            this.txt_PackingNo.Text         = this.packingListHeader.PackingNo;
            this.Date_PackingDate.EditValue = this.packingListHeader.PackingDate;
            this.ncc_Customer.EditValue     = this.packingListHeader.Customer;
            this.txt_CustomerName.Text      = this.packingListHeader.CustomerFullName;
            this.txt_ADDRESS.Text           = this.packingListHeader.CustomerAddress;
            this.txt_PerSS.Text             = this.packingListHeader.PerSS;
            this.date_Sailing.EditValue     = this.packingListHeader.SailingOnOrAbout;
            this.lue_From.EditValue         = this.packingListHeader.FromPortId;
            this.lue_TO.EditValue           = this.packingListHeader.ToPortId;
            this.txt_MarkNos.Text           = this.packingListHeader.MarkNos;
            this.cob_Unit.Text = this.packingListHeader.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.packingListHeader.Details;

            base.Refresh();

            //if (this.action == "update")
            //    this.txt_PackingNo.Properties.ReadOnly = true;
        }
예제 #11
0
 protected override void TurnNull()
 {
     if (this.packingListHeader == null)
     {
         return;
     }
     if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
     {
         this.packingListHeaderManager.Delete(this.packingListHeader.PackingNo);
         this.packingListHeader = this.packingListHeaderManager.GetNext(this.packingListHeader);
         if (this.packingListHeader == null)
         {
             this.packingListHeader = this.packingListHeaderManager.GetLast();
         }
     }
 }
예제 #12
0
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            Model.PackingListHeader model = this.bindingSourceHeader.Current as Model.PackingListHeader;

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

            this.gridControl3.RefreshDataSource();

            this.SelectItem = model;
        }
예제 #13
0
        private void Validate(Model.PackingListHeader model)
        {
            if (string.IsNullOrEmpty(model.PackingNo))
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_PackingNo);
            }
            if (model.PackingDate == null)
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_PackingDate);
            }
            if (string.IsNullOrEmpty(model.CustomerId))
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_CustomerId);
            }
            if (string.IsNullOrEmpty(model.PerSS))
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_PerSS);
            }
            if (model.SailingOnOrAbout == null)
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_SailingOnOrAbout);
            }
            if (string.IsNullOrEmpty(model.FromPortId))
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_FromPortId);
            }
            if (string.IsNullOrEmpty(model.ToPortId))
            {
                throw new Helper.RequireValueException(Model.PackingListHeader.PRO_ToPortId);
            }

            foreach (var item in model.Details)
            {
                //if (string.IsNullOrEmpty(item.PLTNo))
                //    throw new Helper.RequireValueException(Model.PackingListDetail.PRO_PLTNo);
                if (string.IsNullOrEmpty(item.CartonNo))
                {
                    throw new Helper.RequireValueException(Model.PackingListDetail.PRO_CartonNo);
                }
            }
        }
예제 #14
0
        /// <summary>
        /// Insert a PackingListHeader.
        /// </summary>
        public void Insert(Model.PackingListHeader packingListHeader)
        {
            //
            // todo:add other logic here
            //

            Validate(packingListHeader);

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

            try
            {
                BL.V.BeginTransaction();

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

                foreach (var item in packingListHeader.Details)
                {
                    item.PackingListHeaderId = packingListHeader.PackingNo;

                    accessorDetail.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
예제 #15
0
 public Model.PackingListHeader GetNext(Model.PackingListHeader e)
 {
     return(accessor.GetNext(e));
 }
예제 #16
0
 public bool HasRowsAfter(Model.PackingListHeader e)
 {
     return(accessor.HasRowsAfter(e));
 }
예제 #17
0
 public bool HasRowsBefore(Model.PackingListHeader e)
 {
     return(accessor.HasRowsBefore(e));
 }
예제 #18
0
        public RO(Model.PackingListHeader packingList)
        {
            InitializeComponent();

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

            var group = packingList.Details.GroupBy(P => P.PLTNo);

            foreach (var item in group)
            {
                item.ToList().ForEach(D =>
                {
                    D.PLTNo = "";
                });
                item.First().PLTNo = item.Key;
            }

            this.DataSource = packingList.Details;

            //lbl_CompanyName.Text = BL.Settings.CompanyChineseName;
            this.lbl_PackingNo.Text        = packingList.PackingNo;
            this.lbl_PackingDate.Text      = packingList.PackingDate.Value.ToString("yyyy/MM/dd");
            this.lbl_CustomerFullName.Text = packingList.CustomerFullName;
            this.lbl_address.Text          = packingList.CustomerAddress;
            this.lbl_PerSS.Text            = packingList.PerSS;

            if (packingList.FromPort != null)
            {
                this.lbl_From.Text = packingList.FromPort.PortName;
            }
            if (packingList.ToPort != null)
            {
                this.lbl_TO.Text = packingList.ToPort.PortName;
            }


            //2020年1月6日03:09:13
            this.lbl_PackingListOf.Text = packingList.PackingListOf;
            this.lbl_Attn.Text          = packingList.Attn;
            this.lbl_ShippedBy.Text     = packingList.ShippedBy;
            this.lbl_ShipTo.Text        = packingList.ShipTo;
            this.lbl_ShioToAddress.Text = packingList.ShipToAddress;
            this.xrRichText1.Rtf        = packingList.MarkNos;

            //this.lblTotal.Text = packingList.Details.Max(P => Convert.ToInt32(string.IsNullOrEmpty(P.PLTNo) ? "0" : P.PLTNo)) + " PLT / " +
            //    (string.IsNullOrEmpty(packingList.Details.Last().CartonNo) ? "" : packingList.Details.Last().CartonNo.Substring(packingList.Details.Last().CartonNo.Length - 1)) + " CARTON";
            var cartonNoGroup = packingList.Details.GroupBy(P => P.CartonNo.Trim());
            int totalCartonNo = 0;

            foreach (var item in cartonNoGroup)
            {
                totalCartonNo += item.ToList()[0].CartonQty;
            }

            if (packingList.Details != null && packingList.Details.Count > 0)
            {
                //this.lblTotal.Text = (packingList.Details.Max(P => Convert.ToInt32(string.IsNullOrEmpty(P.PLTNo) ? "0" : P.PLTNo)) == 0 ? 1 : packingList.Details.Max(P => Convert.ToInt32(string.IsNullOrEmpty(P.PLTNo) ? "0" : P.PLTNo))) + " PLT / " + totalCartonNo + " CARTON";

                this.lblTotal.Text = totalCartonNo + " CARTON";
            }

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

            this.lbl_TotalNetWeight.Text   = packingList.Details.Sum(P => P.NetWeight).Value.ToString("0.##") + " KGS";
            this.lbl_TotalGrossWeight.Text = packingList.Details.Sum(P => P.GrossWeight).Value.ToString("0.##") + " KGS";
            this.lbl_TotalCaiji.Text       = packingList.Details.Sum(P => P.Caiji).Value.ToString("0.##") + " CUFT";

            //另一种加总方法,此方法需要在界面上该控件的Summary属性设置如下 Func-Sum; Running-Report
            //this.lbl_TotalCaiji.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_Caiji, "{0:0.##} CUFT");

            //TC_PLTNo.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_PLTNo);
            TC_CartonNo.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_CartonNo);
            TC_CartonQty.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_CartonQty, "{0:0.##}");
            TC_ProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            TCQTY.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowQty, "{0:0.##}");
            TC_NetWeight.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowNetWeight, "{0:0.##}");
            TC_GrossWeight.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowGrossWeight, "{0:0.##}");
            TC_Caiji.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowCaiji, "{0:0.##}");
        }
예제 #19
0
 public void Insert(Model.PackingListHeader e)
 {
     this.Insert <Model.PackingListHeader>(e);
 }
예제 #20
0
 public void Update(Model.PackingListHeader e)
 {
     this.Update <Model.PackingListHeader>(e);
 }
예제 #21
0
 public bool HasRowsBefore(Model.PackingListHeader e)
 {
     return(sqlmapper.QueryForObject <bool>("PackingListHeader.has_rows_before", e));
 }
예제 #22
0
 public bool HasRowsAfter(Model.PackingListHeader e)
 {
     return(sqlmapper.QueryForObject <bool>("PackingListHeader.has_rows_after", e));
 }
예제 #23
0
 public Model.PackingListHeader GetNext(Model.PackingListHeader e)
 {
     return(sqlmapper.QueryForObject <Model.PackingListHeader>("PackingListHeader.get_next", e));
 }
예제 #24
0
        public RO(Model.PackingListHeader packingList)
        {
            InitializeComponent();

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

            var group = packingList.Details.GroupBy(P => P.PLTNo);

            foreach (var item in group)
            {
                item.ToList().ForEach(D =>
                {
                    D.PLTNo = "";
                });
                item.First().PLTNo = item.Key;
            }

            this.DataSource = packingList.Details;

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

            //this.lblTotal.Text = packingList.Details.Max(P => Convert.ToInt32(string.IsNullOrEmpty(P.PLTNo) ? "0" : P.PLTNo)) + " PLT / " +
            //    (string.IsNullOrEmpty(packingList.Details.Last().CartonNo) ? "" : packingList.Details.Last().CartonNo.Substring(packingList.Details.Last().CartonNo.Length - 1)) + " CARTON";
            var cartonNoGroup = packingList.Details.GroupBy(P => P.CartonNo.Trim());
            int totalCartonNo = 0;

            foreach (var item in cartonNoGroup)
            {
                totalCartonNo += item.ToList()[0].CartonQty;
            }

            if (packingList.Details != null && packingList.Details.Count > 0)
            {
                this.lblTotal.Text = packingList.Details.Max(P => Convert.ToInt32(string.IsNullOrEmpty(P.PLTNo) ? "0" : P.PLTNo)) + " PLT / " +
                                     totalCartonNo + " CARTON";
            }

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

            this.lbl_TotalNetWeight.Text   = packingList.Details.Sum(P => P.NetWeight).Value.ToString("0.00") + " KGS";
            this.lbl_TotalGrossWeight.Text = packingList.Details.Sum(P => P.GrossWeight).Value.ToString("0.00") + " KGS";

            TC_PLTNo.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_PLTNo);
            TC_CartonNo.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_CartonNo);
            TC_PONO.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_PONo);
            //TC_CUSTNO.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.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.PackingListDetail.PRO_ShowQty);
            TC_NetWeight.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowNetWeight);
            TC_GrossWeight.DataBindings.Add("Text", this.DataSource, Model.PackingListDetail.PRO_ShowGrossWeight);
        }
예제 #25
0
 public Model.PackingListHeader GetPrev(Model.PackingListHeader e)
 {
     return(sqlmapper.QueryForObject <Model.PackingListHeader>("PackingListHeader.get_prev", e));
 }
예제 #26
0
 protected override void MoveFirst()
 {
     this.packingListHeader = this.packingListHeaderManager.GetFirst();
 }