Esempio n. 1
0
        public override void Refresh()
        {
            if (this.invoice == null)
            {
                this.invoice         = new Book.Model.InvoicePI();
                this.invoice.Details = new List <Model.InvoicePIDetail>();
                this.action          = "insert";
            }
            else
            {
                if (this.action != "insert")
                {
                    this.invoice = this.invoiceManager.Get(this.invoice.InvoiceId);
                    if (this.invoice == null)
                    {
                        this.invoice         = new Book.Model.InvoicePI();
                        this.invoice.Details = new List <Model.InvoicePIDetail>();
                    }
                }
            }
            this.textEditInvoiceId.EditValue    = this.invoice.InvoiceId;
            this.dateEditInvoiceDate.DateTime   = this.invoice.InvoiceDate.Value;
            this.textEditNote.EditValue         = this.invoice.InvoiceNote;
            this.lookUpEditDepartment.EditValue = this.invoice.DepartmentId;
            this.buttonEditEmployee.EditValue   = this.invoice.Employee0;
            this.lookUpEditDepot.EditValue      = this.invoice.PoDepotId;
            this.textEditInvoicePoId.Text       = this.invoice.poInvoiceId;
            if (this.invoice.PoDepotId != null)
            {
                this.bindingSourcePosition.DataSource = this.depotpositionManager.Select(this.depotManager.Get(this.invoice.PoDepotId));
            }

            this.EmpAudit.EditValue      = this.invoice.AuditEmp;
            this.textEditAuditState.Text = this.invoice.AuditStateName;

            this.bindingSourcePODetail.DataSource = this.invoice.Details;

            this.gridControl1.RefreshDataSource();

            switch (this.action)
            {
            case "insert":
            case "update":
                this.barButtonItem1.Enabled = true;
                break;

            case "view":
                this.barButtonItem1.Enabled = false;
                break;

            default:
                break;
            }
            base.Refresh();
            this.buttonEditEmployee.Enabled = false;
            this.lookUpEditDepartment.Properties.ReadOnly = true;
            this.lookUpEditDepot.Properties.ReadOnly      = true;
            this.textEditInvoicePoId.Properties.ReadOnly  = true;
        }
Esempio n. 2
0
 protected override void AddNew()
 {
     this.invoice             = new Model.InvoicePI();
     this.invoice.InvoiceDate = DateTime.Now;
     this.invoice.Details     = new List <Model.InvoicePIDetail>();
     this.invoice.Podetails   = new List <Model.InvoicePODetail>();
     this.invoice.InvoiceId   = this.invoiceManager.GetNewId();
 }
Esempio n. 3
0
 public ViewForm(string invoiceId)
     : this()
 {
     this.invoice = this.invoicePIManager.Get(invoiceId);
     if (invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
 }
Esempio n. 4
0
 public ViewForm(Model.InvoicePI initInvoicePI)
     : this()
 {
     if (initInvoicePI == null)
     {
         throw new ArithmeticException("initInvoicePI");
     }
     this.invoice = initInvoicePI;
 }
Esempio n. 5
0
        protected override void MovePrev()
        {
            Model.InvoicePI invoice = this.invoiceManager.GetPrev(this.invoice);
            if (invoice == null)
            {
                throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows);
            }

            this.invoice = this.invoiceManager.Get(invoice.InvoiceId);
        }
Esempio n. 6
0
 public EditForm(string invoiceId)
     : this()
 {
     this.invoice = this.invoiceManager.Get(invoiceId);
     if (invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.action = "update";
 }
Esempio n. 7
0
 public EditForm(Model.InvoicePI invoice)
     : this()
 {
     if (invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.invoice = invoice;
     this.action  = "update";
 }
Esempio n. 8
0
        protected override Form GetViewForm()
        {
            Model.InvoicePI invoice = this.SelectedItem as Model.InvoicePI;
            if (invoice != null)
            {
                return(new ViewForm(invoice.InvoiceId));
            }

            return(null);
        }
Esempio n. 9
0
        protected override void TurnNull()
        {
            if (this.invoice == null)
            {
                return;
            }
            if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
            {
                return;
            }

            this.invoiceManager.TurnNull(this.invoice.InvoiceId);
            this.invoice = this.invoiceManager.GetNext(this.invoice);
            if (this.invoice == null)
            {
                this.invoice = this.invoiceManager.GetLast();
            }
        }
Esempio n. 10
0
 private void _TurnNull(Model.InvoicePI invoice)
 {
     invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Null;
     _Update(invoice);
 }
Esempio n. 11
0
 public bool HasRowsAfter(Model.InvoicePI e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoicePI.has_rows_after", e));
 }
Esempio n. 12
0
        private void _Update(Model.InvoicePI invoice)
        {
            invoice.UpdateTime   = DateTime.Now;;
            invoice.DepartmentId = invoice.Department.DepartmentId;
            invoice.Employee0Id  = invoice.Employee0.EmployeeId;

            Model.InvoicePI 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);

                    invoicePIDetailAccessor.Delete(invoice);

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

                case Helper.InvoiceStatus.Normal:
                    accessor.Delete(invoiceOriginal.InvoiceId);
                    invoice.InsertTime = invoiceOriginal.InsertTime;
                    invoice.UpdateTime = DateTime.Now;
                    _Insert(invoice);
                    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.InvoicePIDetail detail in invoice.Details)
                    {
                        Model.Product p = detail.Product;
                        productAccessor.Update(detail.Product);

                        stockAccessor.DecrementJR(new DepotPositionManager().Get(detail.PoDepotPositionId), p, detail.InvoicePIDetailQuantity.Value);

                        Model.InvoicePODetail temp = invoicePODetailAccessor.Get(detail.InvoicePODetailId);
                        if (temp != null)
                        {
                            detail.InvoicePODetail.InvoicePODetailWHQuantity += detail.InvoicePIDetailQuantity;
                            detail.InvoicePODetail.InvoicePODetailYHQuantity -= detail.InvoicePIDetailQuantity;
                            invoicePODetailAccessor.Update(detail.InvoicePODetail);
                        }
                    }
                    break;
                }
                break;

            case Helper.InvoiceStatus.Null:
                throw new InvalidOperationException();
            }
        }
Esempio n. 13
0
 public Model.InvoicePI Get(string invoiceId)
 {
     Model.InvoicePI invoice = accessor.Get(invoiceId);
     invoice.Details = invoicePIDetailAccessor.Select(invoice);
     return(invoice);
 }
Esempio n. 14
0
 public bool HasRowsAfter(Model.InvoicePI e)
 {
     return(accessor.HasRowsAfter(e));
 }
Esempio n. 15
0
 public IList <Model.InvoicePODetail> Select(Model.InvoicePI invoice)
 {
     return(accessor.Select(invoice));
 }
Esempio n. 16
0
 public bool HasRowsBefore(Model.InvoicePI e)
 {
     return(accessor.HasRowsBefore(e));
 }
Esempio n. 17
0
 public Model.InvoicePI GetPrev(Model.InvoicePI e)
 {
     return(accessor.GetPrev(e));
 }
Esempio n. 18
0
 public bool HasRowsBefore(Model.InvoicePI e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoicePI.has_rows_before", e));
 }
Esempio n. 19
0
 public void Update(Model.InvoicePI e)
 {
     this.Update <Model.InvoicePI>(e);
 }
Esempio n. 20
0
 protected override void MoveLast()
 {
     this.invoice = this.invoiceManager.Get(this.invoiceManager.GetLast() == null ? "" : this.invoiceManager.GetLast().InvoiceId);
 }
Esempio n. 21
0
 public Model.InvoicePI GetNext(Model.InvoicePI e)
 {
     return(sqlmapper.QueryForObject <Model.InvoicePI>("InvoicePI.get_next", e));
 }
Esempio n. 22
0
 public Model.InvoicePI GetNext(Model.InvoicePI e)
 {
     return(accessor.GetNext(e));
 }
Esempio n. 23
0
 public void Insert(Model.InvoicePI e)
 {
     this.Insert <Model.InvoicePI>(e);
 }
Esempio n. 24
0
 public Model.InvoicePI GetPrev(Model.InvoicePI e)
 {
     return(sqlmapper.QueryForObject <Model.InvoicePI>("InvoicePI.get_prev", e));
 }