Ejemplo n.º 1
0
 /// <summary>
 /// Update a InvoiceJCDetail.
 /// </summary>
 public void Update(Model.InvoiceJCDetail invoiceJCDetail)
 {
     //
     // todo: add other logic here.
     //
     accessor.Update(invoiceJCDetail);
 }
Ejemplo n.º 2
0
 private void gridView1_KeyDown(object sender, KeyEventArgs e)
 {
     if (this.action == "insert" || this.action == "update")
     {
         if (this.CanAdd(this.invoice.Details))
         {
             if (e.KeyData == Keys.Enter)
             {
                 Model.InvoiceJCDetail detail = new Model.InvoiceJCDetail();
                 detail.InvoiceJCDetailId        = Guid.NewGuid().ToString();
                 detail.InvoiceHRDetailNote      = "";
                 detail.InvoiceHRDetailQuantity  = 0;
                 detail.InvoiceJCDetailNote      = "";
                 detail.InvoiceJCDetailQuantity  = 0;
                 detail.InvoiceProductUnit       = "";
                 detail.InvoiceWeiHuaiRuQuantity = 0;
                 detail.InvoiceYiHuaiRuQuantity  = 0;
                 detail.Product = new Book.Model.Product();
                 this.invoice.Details.Add(detail);
                 this.bindingSourceInvoiceJCDetail.Position = this.bindingSourceInvoiceJCDetail.IndexOf(detail);
             }
         }
         if (e.KeyData == Keys.Delete)
         {
             this.simpleButtonRemove.PerformClick();
         }
         this.gridControl1.RefreshDataSource();
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Insert a InvoiceJCDetail.
 /// </summary>
 public void Insert(Model.InvoiceJCDetail invoiceJCDetail)
 {
     //
     // todo:add other logic here
     //
     accessor.Insert(invoiceJCDetail);
 }
Ejemplo n.º 4
0
 private void simpleButtonRemove_Click(object sender, EventArgs e)
 {
     if (this.bindingSourceInvoiceJCDetail.Current != null)
     {
         this.invoice.Details.Remove(this.bindingSourceInvoiceJCDetail.Current as Book.Model.InvoiceJCDetail);
         if (this.invoice.Details.Count == 0)
         {
             Model.InvoiceJCDetail detail = new Model.InvoiceJCDetail();
             detail.InvoiceJCDetailId        = Guid.NewGuid().ToString();
             detail.InvoiceHRDetailNote      = "";
             detail.InvoiceHRDetailQuantity  = 0;
             detail.InvoiceJCDetailNote      = "";
             detail.InvoiceJCDetailQuantity  = 0;
             detail.InvoiceProductUnit       = "";
             detail.InvoiceWeiHuaiRuQuantity = 0;
             detail.InvoiceYiHuaiRuQuantity  = 0;
             detail.Product = new Book.Model.Product();
             this.invoice.Details.Add(detail);
             this.bindingSourceInvoiceJCDetail.Position = this.bindingSourceInvoiceJCDetail.IndexOf(detail);
         }
         this.gridControl1.RefreshDataSource();
     }
 }
Ejemplo n.º 5
0
        protected override void AddNew()
        {
            this.invoice             = new Model.InvoiceJC();
            this.invoice.InvoiceDate = DateTime.Now;
            this.invoice.Details     = new List <Model.InvoiceJCDetail>();
            this.invoice.InvoiceId   = this.invoiceManager.GetNewId();

            if (this.action == "insert")
            {
                Model.InvoiceJCDetail detail = new Model.InvoiceJCDetail();
                detail.InvoiceJCDetailId        = Guid.NewGuid().ToString();
                detail.InvoiceHRDetailNote      = "";
                detail.InvoiceHRDetailQuantity  = 0;
                detail.InvoiceJCDetailNote      = "";
                detail.InvoiceJCDetailQuantity  = 0;
                detail.InvoiceProductUnit       = "";
                detail.InvoiceWeiHuaiRuQuantity = 0;
                detail.InvoiceYiHuaiRuQuantity  = 0;
                detail.Product = new Book.Model.Product();
                this.invoice.Details.Add(detail);
                this.bindingSourceInvoiceJCDetail.Position = this.bindingSourceInvoiceJCDetail.IndexOf(detail);
            }
        }
Ejemplo n.º 6
0
 private void gridView1_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
 {
     if (e.Column == this.colProductId)
     {
         Model.InvoiceJCDetail detail = this.gridView1.GetRow(e.RowHandle) as Model.InvoiceJCDetail;
         if (detail != null)
         {
             Model.Product p = productManager.Get(e.Value.ToString());
             detail.InvoiceJCDetailId        = Guid.NewGuid().ToString();
             detail.InvoiceHRDetailNote      = "";
             detail.InvoiceHRDetailQuantity  = 0;
             detail.InvoiceJCDetailNote      = "";
             detail.InvoiceJCDetailQuantity  = 0;
             detail.InvoiceWeiHuaiRuQuantity = 0;
             detail.InvoiceYiHuaiRuQuantity  = 0;
             detail.InvoiceProductUnit       = p.ProduceUnit.CnName;
             detail.Product   = p;
             detail.ProductId = p.ProductId;
             //detail.InvoiceProductUnit = detail.Product.ProductBaseUnit;
             this.bindingSourceInvoiceJCDetail.Position = this.bindingSourceInvoiceJCDetail.IndexOf(detail);
         }
         this.gridControl1.RefreshDataSource();
     }
 }
Ejemplo n.º 7
0
        private void _Insert(Book.Model.InvoiceHR invoice)
        {
            //往来单位
            if (invoice.Customer != null)
            {
                invoice.CustomerId = invoice.Customer.CustomerId;
            }
            //经手人
            if (invoice.Employee0 != null)
            {
                invoice.Employee0Id = invoice.Employee0.EmployeeId;
            }
            //录单人
            if (invoice.Employee1 != null)
            {
                invoice.Employee1Id = invoice.Employee1.EmployeeId;
            }
            if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal)
            {
                //过账人
                if (invoice.Employee2 != null)
                {
                    invoice.Employee2Id = invoice.Employee2.EmployeeId;
                }
                //过账时间
                invoice.InvoiceGZTime = DateTime.Now;
            }
            //插入表单
            accessor.Insert(invoice);

            //插入明细
            foreach (Model.InvoiceHRDetail detail in invoice.Details)
            {
                Model.InvoiceJCDetail odetail = invoiceJCDetailAccessor.Get(detail.InvoiceJCDetailId);

                if (detail.InvoiceHRDetailQuantity > 0)
                {
                    if (detail.InvoiceHRDetailQuantity <= odetail.InvoiceWeiHuaiRuQuantity)
                    {
                        detail.InvoiceId = invoice.InvoiceId;
                        invoiceHRDetailAccessor.Insert(detail);

                        Model.Product p = detail.Product;
                        p.StocksQuantity += detail.InvoiceHRDetailQuantity;
                        productAccessor.Update(detail.Product);

                        stockAccessor.IncrementJR(new DepotPositionManager().Get(detail.DepotPositionId), p, detail.InvoiceHRDetailQuantity.Value);

                        if (odetail != null)
                        {
                            odetail.InvoiceYiHuaiRuQuantity  += detail.InvoiceHRDetailQuantity;
                            odetail.InvoiceWeiHuaiRuQuantity -= detail.InvoiceHRDetailQuantity;
                            invoiceJCDetailAccessor.Update(odetail);
                        }
                    }
                    else
                    {
                        throw new Helper.InvalidValueException("HaiRuTaiDuo");
                    }
                }
            }
        }
Ejemplo n.º 8
0
        private void _Update(Model.InvoiceHR invoice)
        {
            invoice.UpdateTime = DateTime.Now;;
            invoice.CustomerId = invoice.Customer.CustomerId;
            if (invoice.Employee0 != null)
            {
                invoice.Employee0Id = invoice.Employee0.EmployeeId;
            }

            Model.InvoiceHR invoiceOriginal = this.Get(invoice.InvoiceId);

            Helper.InvoiceStatus invoiceStatus = (Helper.InvoiceStatus)invoice.InvoiceStatus.Value;

            switch ((Helper.InvoiceStatus)invoiceOriginal.InvoiceStatus)
            {
            case Helper.InvoiceStatus.Draft:
                switch (invoiceStatus)
                {
                case Helper.InvoiceStatus.Draft:

                    accessor.Update(invoice);

                    invoiceHRDetailAccessor.Delete(invoice);

                    foreach (Model.InvoiceHRDetail detail in invoice.Details)
                    {
                        detail.InvoiceId = invoice.InvoiceId;
                        invoiceHRDetailAccessor.Insert(detail);
                    }
                    break;

                case Helper.InvoiceStatus.Normal:
                    accessor.Delete(invoiceOriginal.InvoiceId);
                    invoice.InsertTime = invoiceOriginal.InsertTime;
                    invoice.UpdateTime = DateTime.Now;
                    _Insert(invoice);

                    //accessor.Update(invoice);

                    //invoiceHZDetailAccessor.Delete(invoice);

                    //foreach (Model.InvoiceHZDetail detail in invoice.Details)
                    //{
                    //    stockAccessor.Increment(invoice.Depot, detail.Product, detail.InvoiceHZDetailQuantity.Value);

                    //    detail.InvoiceHZDetailId = Guid.NewGuid().ToString();
                    //    detail.InvoiceId = invoice.InvoiceId;

                    //    invoiceHZDetailAccessor.Insert(detail);
                    //}
                    //invoice.Employee2Id = invoice.Employee2.EmployeeId;
                    //invoice.InvoiceGZTime = DateTime.Now;
                    break;

                case Helper.InvoiceStatus.Null:
                    throw new InvalidOperationException();
                }
                break;

            case Helper.InvoiceStatus.Normal:
                switch (invoiceStatus)
                {
                case Helper.InvoiceStatus.Draft:
                    throw new InvalidOperationException();

                case Helper.InvoiceStatus.Normal:
                    invoiceOriginal.InvoiceStatus = (int)Helper.InvoiceStatus.Null;
                    _TurnNull(invoiceOriginal);
                    accessor.Delete(invoiceOriginal.InvoiceId);
                    invoice.InsertTime = invoiceOriginal.InsertTime;
                    invoice.UpdateTime = DateTime.Now;
                    _Insert(invoice);
                    break;

                case Helper.InvoiceStatus.Null:
                    foreach (Model.InvoiceHRDetail detail in invoice.Details)
                    {
                        Model.Product p = detail.Product;
                        //if (detail.InvoiceProductUnit == p.ProductOuterPackagingUnit)
                        //{
                        //    quantity = detail.InvoiceHRDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship;
                        //}
                        //else if (detail.InvoiceProductUnit == detail.Product.ProductInnerPackagingUnit)
                        //{
                        //    quantity = detail.InvoiceHRDetailQuantity * p.ProductBaseUnitRelationship;
                        //}
                        //else
                        //{
                        //    quantity = detail.InvoiceHRDetailQuantity;
                        //}

                        //detail.Product.ProductCurrentJCQuantity += quantity;
                        p.StocksQuantity -= detail.InvoiceHRDetailQuantity;
                        productAccessor.Update(p);

                        stockAccessor.DecrementJR(new DepotPositionManager().Get(detail.DepotPositionId), p, detail.InvoiceHRDetailQuantity.Value);
                        Model.InvoiceJCDetail temp = invoiceJCDetailAccessor.Get(detail.InvoiceJCDetailId);
                        if (temp != null)
                        {
                            temp.InvoiceWeiHuaiRuQuantity += detail.InvoiceHRDetailQuantity;
                            temp.InvoiceYiHuaiRuQuantity  -= detail.InvoiceHRDetailQuantity;
                            invoiceJCDetailAccessor.Update(temp);
                        }
                    }
                    break;
                }
                break;

            case Helper.InvoiceStatus.Null:
                throw new InvalidOperationException();
            }
        }
Ejemplo n.º 9
0
 public void Update(Model.InvoiceJCDetail e)
 {
     this.Update <Model.InvoiceJCDetail>(e);
 }
Ejemplo n.º 10
0
 public void Insert(Model.InvoiceJCDetail e)
 {
     this.Insert <Model.InvoiceJCDetail>(e);
 }