private void Validate(Model.InvoiceHZ invoice) { if (string.IsNullOrEmpty(invoice.InvoiceId)) { throw new Helper.RequireValueException("Id"); } if (invoice.Employee0 == null) { throw new Helper.RequireValueException("Employee0"); } if (invoice.Depot == null) { throw new Helper.RequireValueException("Depot"); } if (invoice.Supplier == null) { throw new Helper.RequireValueException("Supplier"); } if (invoice.Details.Count == 0) { throw new Helper.RequireValueException("Details"); } //foreach (Model.InvoiceHZDetail detail in invoice.Details) //{ // if (detail.InvoiceHZDetailQuantity == 0) // throw new Helper.RequireValueException("Details"); //} }
public R01(string invoiceId) { InitializeComponent(); this.invoice = this.invoiceManager.Get(invoiceId); if (this.invoice == null) { return; } this.invoice.Details = this.invoiceDetailManager.Select(this.invoice); this.DataSource = this.invoice.Details; //CompanyInfo this.xrLabelCompanyInfoAddress.Text = BL.Settings.CompanyAddress1; this.xrLabelCompanyInfoFAX.Text = BL.Settings.CompanyFax; this.xrLabelCompanyInfoName.Text = BL.Settings.CompanyChineseName + Properties.Resources.InvoiceHZ; this.xrLabelCompanyInfoTelphone.Text = BL.Settings.CompanyPhone; //每页合计统计 this.xrLabelPageTotal.Summary.Running = SummaryRunning.Page; this.xrLabelPageTotal.Summary.Func = SummaryFunc.Sum; this.xrLabelPageTotal.Summary.FormatString = "{0:0}"; this.xrLabelPageTotal.Summary.IgnoreNullValues = true; this.xrLabelPageTotal.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILMONEY, "{0:0}"); //客户信息 this.xrLabelCustomName.Text = this.invoice.Supplier.SupplierShortName; this.xrLabelCustomFax.Text = this.invoice.Supplier.SupplierFax; this.xrLabelCustomTel.Text = string.IsNullOrEmpty(this.invoice.Supplier.SupplierPhone1) ? this.invoice.Supplier.SupplierPhone1 : this.invoice.Supplier.SupplierPhone2; this.xrLabelTongYiNo.Text = this.invoice.Supplier.SupplierNumber; this.xrLabelSongHuoAddress.Text = this.invoice.Supplier.FactoryAddress; //单据信息 this.xrLabelInvoiceDate.Text = this.invoice.InvoiceDate.Value.ToString("yyyy-MM-dd"); this.xrLabelInvoiceId.Text = this.invoice.InvoiceId; this.xrLabelYeWuName.Text = this.invoice.Employee0.EmployeeName; this.xrLabelNote.Text = this.invoice.InvoiceNote; this.xrLabelReportTotal.Summary.Func = SummaryFunc.Sum; this.xrLabelReportTotal.Summary.IgnoreNullValues = true; this.xrLabelReportTotal.Summary.Running = SummaryRunning.Report; this.xrLabelReportTotal.Summary.FormatString = "{0:0}"; this.xrLabelReportTotal.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILMONEY, "{0:0}"); this.xrLabelNote.Text = this.invoice.InvoiceNote; //明细信息 this.xrTableCellProductId.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id); this.xrTableCellProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName); this.xrTableCellProductGuige.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductSpecification); this.xrTableCellProductUnit.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEPRODUCTUNIT); this.xrTableCellQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILQUANTITY); this.xrTableCellUintPrice.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILPRICE, "{0:0}"); this.xrTableCellMoney.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILMONEY, "{0:0}"); this.xrTableDetailNote.DataBindings.Add("Text", this.DataSource, Model.InvoiceZSDetail.PROPERTY_INVOICEZSDETAILNOTE); }
public ViewForm(string invoiceId) : this() { this.invoice = this.invoiceHZManager.Get(invoiceId); if (invoice == null) { throw new ArithmeticException("invoiceid"); } }
public ViewForm(Model.InvoiceHZ initInvoiceHZ) : this() { if (initInvoiceHZ == null) { throw new ArithmeticException("initInvoiceHZ"); } this.invoice = initInvoiceHZ; }
public EditForm(Model.InvoiceHZ initInvoiceHZ) : this() { if (initInvoiceHZ == null) { throw new ArithmeticException("invoiceid"); } this.invoice = initInvoiceHZ; this.action = "update"; }
public EditForm(string invoiceId) : this() { this.invoice = this.invoiceManager.Get(invoiceId); if (invoice == null) { throw new ArithmeticException("invoiceid"); } this.action = "update"; }
protected override Form GetViewForm() { Model.InvoiceHZ invoice = this.SelectedItem as Model.InvoiceHZ; if (invoice != null) { return(new ViewForm(invoice.InvoiceId)); } return(null); }
protected override void MovePrev() { Model.InvoiceHZ invoice = this.invoiceManager.GetPrev(this.invoice); if (invoice == null) { throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows); } this.invoice = this.invoiceManager.Get(invoice.InvoiceId); }
protected override void TurnNull() { if (this.invoice == null) { return; } if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != 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(); } }
protected override void AddNew() { this.bindingSourceDepotPosition.DataSource = null; this.invoice = new Model.InvoiceHZ(); this.invoice.InvoiceId = this.invoiceManager.GetNewId(); this.invoice.InvoiceDate = DateTime.Now; this.invoice.Details = new List <Model.InvoiceHZDetail>(); if (this.action == "insert") { Model.InvoiceHZDetail detail = new Model.InvoiceHZDetail(); detail.InvoiceHZDetailId = Guid.NewGuid().ToString(); detail.InvoiceHZDetailMoney = 0; detail.InvoiceHZDetailNote = ""; detail.InvoiceHZDetailPrice = 0; detail.InvoiceHZDetailQuantity = 0; detail.InvoiceProductUnit = ""; detail.Product = new Book.Model.Product(); this.invoice.Details.Add(detail); this.bindingSourceInvoiceHZDetail.Position = this.bindingSourceInvoiceHZDetail.IndexOf(detail); } }
public Model.InvoiceHZ GetPrev(Model.InvoiceHZ e) { return(accessor.GetPrev(e)); }
public Model.InvoiceHZ GetNext(Model.InvoiceHZ e) { return(accessor.GetNext(e)); }
public IList <Model.InvoiceHZDetail> Select(Model.InvoiceHZ invoice) { return(accessor.Select(invoice)); }
public bool HasRowsBefore(Model.InvoiceHZ e) { return(sqlmapper.QueryForObject <bool>("InvoiceHZ.has_rows_before", e)); }
protected override void MoveLast() { this.invoice = this.invoiceManager.Get(this.invoiceManager.GetLast() == null ? "" : this.invoiceManager.GetLast().InvoiceId); }
public bool HasRowsAfter(Model.InvoiceHZ e) { return(accessor.HasRowsAfter(e)); }
private void _Update(Model.InvoiceHZ invoice) { invoice.UpdateTime = DateTime.Now; //invoice.DepotId = invoice.Depot.DepotId; if (invoice.Employee0 != null) { invoice.Employee0Id = invoice.Employee0.EmployeeId; } Model.InvoiceHZ 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); invoiceHZDetailAccessor.Delete(invoice); foreach (Model.InvoiceHZDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } detail.InvoiceId = invoice.InvoiceId; invoiceHZDetailAccessor.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); invoiceHZDetailAccessor.Delete(invoiceOriginal); accessor.Delete(invoiceOriginal.InvoiceId); invoice.InsertTime = invoiceOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); break; case Helper.InvoiceStatus.Null: foreach (Model.InvoiceHZDetail detail in invoice.Details) { //if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) continue; //Model.Product p = detail.Product; //if (detail.InvoiceProductUnit == detail.Product.ProductOuterPackagingUnit) //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(p.ProductInnerUnitRelationship.Value); // hzQuantity = detail.InvoiceHZDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship; //} //else if (detail.InvoiceProductUnit == detail.Product.ProductInnerPackagingUnit) //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value); // hzQuantity = detail.InvoiceHZDetailQuantity * p.ProductBaseUnitRelationship; //} //else //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice; // hzQuantity = detail.InvoiceHZDetailQuantity; //} //productAccessor.UpdateCost1(p, p.ProductCurrentCGPrice, -hzQuantity); //stockAccessor.Decrement(invoice.Depot,p,hzQuantity.Value); //更新产品信息 Model.Product pro = detail.Product; pro.StocksQuantity -= detail.InvoiceHZDetailQuantity; productAccessor.Update(pro); //修改货位库存。 stockAccessor.Decrement(detail.DepotPosition, pro, detail.InvoiceHZDetailQuantity); } break; } break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } }
private void _Insert(Model.InvoiceHZ invoice) { _ValidateForInsert(invoice); if (invoice.Supplier != null) { invoice.SupplierId = invoice.Supplier.SupplierId; } // 库房 //invoice.DepotId = invoice.Depot.DepotId; //经手人 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.InvoiceHZDetail detail in invoice.Details) { if (detail.DepotPosition == null || detail.DepotPositionId == null) { throw new Exception("貨位不為空"); } if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { throw new Exception("商品不為空"); } detail.InvoiceId = invoice.InvoiceId; invoiceHZDetailAccessor.Insert(detail); } //影响库存 if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal) { foreach (Model.InvoiceHZDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } //if (detail.InvoiceProductUnit == detail.Product.ProductOuterPackagingUnit) //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(p.ProductInnerUnitRelationship.Value); // hzQuantity = detail.InvoiceHZDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship; //} //else if (detail.InvoiceProductUnit == detail.Product.ProductInnerPackagingUnit) //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value); // hzQuantity = detail.InvoiceHZDetailQuantity * p.ProductBaseUnitRelationship; //} //else //{ // p.ProductCurrentCGPrice = detail.InvoiceHZDetailPrice; // hzQuantity = detail.InvoiceHZDetailQuantity; //} //productAccessor.UpdateCost1(p, p.ProductCurrentCGPrice, hzQuantity); //stockAccessor.Increment(invoice.Depot, p, hzQuantity.Value); //更新产品信息 Model.Product pro = detail.Product; pro.StocksQuantity += detail.InvoiceHZDetailQuantity; productAccessor.Update(pro); stockAccessor.Increment(detail.DepotPosition, detail.Product, detail.InvoiceHZDetailQuantity); } } }
public Model.InvoiceHZ GetPrev(Model.InvoiceHZ e) { return(sqlmapper.QueryForObject <Model.InvoiceHZ>("InvoiceHZ.get_prev", e)); }
public Model.InvoiceHZ GetNext(Model.InvoiceHZ e) { return(sqlmapper.QueryForObject <Model.InvoiceHZ>("InvoiceHZ.get_next", e)); }
public bool HasRowsAfter(Model.InvoiceHZ e) { return(sqlmapper.QueryForObject <bool>("InvoiceHZ.has_rows_after", e)); }
private void _TurnNormal(Model.InvoiceHZ invoice) { invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Normal; _Update(invoice); }
public void Insert(Model.InvoiceHZ e) { this.Insert <Model.InvoiceHZ>(e); }
public override void Refresh() { if (this.invoice == null) { this.invoice = new Book.Model.InvoiceHZ(); this.action = "insert"; } else { if (this.action == "view") { this.invoice = this.invoiceManager.Get(invoice.InvoiceId); } } if (invoice.Depot != null) { this.bindingSourceDepotPosition.DataSource = this.depotPositionManager.Select(invoice.Depot); } this.textEditInvoiceId.EditValue = this.invoice.InvoiceId; this.dateEditInvoiceDate.DateTime = this.invoice.InvoiceDate.Value; //this.textEditAbstract.EditValue = this.invoice.InvoiceAbstract; this.textEditNote.EditValue = this.invoice.InvoiceNote; this.buttonEditCompany.EditValue = this.invoice.Supplier; this.buttonEditEmployee.EditValue = this.invoice.Employee0; //this.buttonEditDepot.EditValue = this.invoice.Depot; this.buttonEditDepot.EditValue = this.invoice.Depot; this.calcEditTotal.EditValue = this.invoice.InvoiceTotal; this.EmpAudit.EditValue = this.invoice.AuditEmp; this.textEditAuditState.Text = this.invoice.AuditStateName; this.bindingSourceInvoiceHZDetail.DataSource = this.invoice.Details; switch (this.action) { case "insert": this.textEditInvoiceId.Properties.ReadOnly = false; this.dateEditInvoiceDate.Properties.ReadOnly = false; this.dateEditInvoiceDate.Properties.Buttons[0].Visible = true; this.textEditNote.Properties.ReadOnly = false; this.buttonEditCompany.ShowButton = true; this.buttonEditEmployee.ShowButton = true; this.buttonEditDepot.ShowButton = true; this.buttonEditCompany.ButtonReadOnly = false; this.buttonEditEmployee.ButtonReadOnly = false; this.buttonEditDepot.ButtonReadOnly = false; this.simpleButtonAppend.Enabled = true; this.simpleButtonRemove.Enabled = true; this.gridView1.OptionsBehavior.Editable = true; break; case "update": this.textEditInvoiceId.Properties.ReadOnly = true; this.dateEditInvoiceDate.Properties.ReadOnly = true; this.dateEditInvoiceDate.Properties.Buttons[0].Visible = false; this.textEditNote.Properties.ReadOnly = false; this.buttonEditCompany.ShowButton = true; this.buttonEditEmployee.ShowButton = true; this.buttonEditDepot.ShowButton = true; this.buttonEditCompany.ButtonReadOnly = false; this.buttonEditEmployee.ButtonReadOnly = false; this.buttonEditDepot.ButtonReadOnly = false; this.simpleButtonAppend.Enabled = true; this.simpleButtonRemove.Enabled = true; this.gridView1.OptionsBehavior.Editable = true; break; case "view": this.textEditInvoiceId.Properties.ReadOnly = true; this.dateEditInvoiceDate.Properties.ReadOnly = true; this.dateEditInvoiceDate.Properties.Buttons[0].Visible = false; this.textEditNote.Properties.ReadOnly = true; this.buttonEditCompany.ShowButton = false; this.buttonEditEmployee.ShowButton = false; this.buttonEditDepot.ShowButton = false; this.buttonEditCompany.ButtonReadOnly = true; this.buttonEditEmployee.ButtonReadOnly = true; this.buttonEditDepot.ButtonReadOnly = true; this.simpleButtonAppend.Enabled = false; this.simpleButtonRemove.Enabled = false; this.gridView1.OptionsBehavior.Editable = false; break; default: break; } base.Refresh(); }
public void Update(Model.InvoiceHZ e) { this.Update <Model.InvoiceHZ>(e); }
public Model.InvoiceHZ Get(string invoiceId) { Model.InvoiceHZ invoice = accessor.Get(invoiceId); invoice.Details = invoiceHZDetailAccessor.Select(invoice); return(invoice); }
public bool HasRowsBefore(Model.InvoiceHZ e) { return(accessor.HasRowsBefore(e)); }