private void _Insert(Model.InvoiceXT invoice) { _ValidateForInsert(invoice); if (invoice.Customer != null) { invoice.CustomerId = invoice.Customer.CustomerId; } //invoice.DepotId = invoice.Depot.DepotId; invoice.Employee0Id = invoice.Employee0 == null ? null : invoice.Employee0.EmployeeId; invoice.Employee1Id = invoice.Employee1.EmployeeId; invoice.Employee2Id = invoice.Employee2 == null ? null : invoice.Employee2.EmployeeId; InvoiceCost(invoice); accessor.Insert(invoice); foreach (Model.InvoiceXTDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } detail.InvoiceId = invoice.InvoiceId; invoiceXTDetailAccessor.Insert(detail); //修改订单 Model.InvoiceXODetail xodetail = invoiceXODetailAccessor.Get(detail.InvoiceXODetailId); if (xodetail != null) { xodetail.DetailsFlag = (int)Helper.DetailsFlag.PartArrived; xodetail.InvoiceXTDetailQuantity = xodetail.InvoiceXTDetailQuantity == null ? 0 : xodetail.InvoiceXTDetailQuantity + Convert.ToDouble(detail.InvoiceXTDetailQuantity); xodetail.InvoiceXODetailQuantity0 = Convert.ToDouble(xodetail.InvoiceXODetailQuantity) - Convert.ToDouble(xodetail.InvoiceXODetailBeenQuantity) + Convert.ToDouble(xodetail.InvoiceXTDetailQuantity); xodetail.InvoiceXODetailQuantity0 = xodetail.InvoiceXODetailQuantity0 < 0 ? 0 : xodetail.InvoiceXODetailQuantity0; //xodetail.InvoiceXODetailBeenQuantity = xodetail.InvoiceXODetailQuantity - xodetail.InvoiceXODetailQuantity0; invoiceXODetailAccessor.Update(xodetail); invoiceXOManager.UpdateInvoiceFlag(xodetail.Invoice); } detail.DepotPosition = new BL.DepotPositionManager().Get(detail.DepotPositionId); stockAccessor.Increment(detail.DepotPosition, detail.Product, detail.InvoiceXTDetailQuantity.Value); //更新产品最近出货日期 this.productManager.UpdateProduct_Stock(detail.Product); } //if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal) //{ // //Model.Depot depot = invoice.Depot; // // 增加库存 // foreach (Model.InvoiceXTDetail detail in invoice.Details) // { // if (detail.PrimaryKey == null || string.IsNullOrEmpty(detail.PrimaryKey.PrimaryKeyId)) continue; // //转换为基本单位后的数量 // //double? xtQuantity = 0; // } //} }
public ViewForm(Model.InvoiceXT initInvoicexs) : this() { if (initInvoicexs == null) { throw new ArgumentNullException(); } this.invoice = initInvoicexs; }
public EditForm(Model.InvoiceXT initInvoicexs) : this() { if (initInvoicexs == null) { throw new ArgumentNullException(); } this.invoice = initInvoicexs; this.action = "view"; }
protected override void MovePrev() { Model.InvoiceXT invoice = this.invoiceManager.GetPrev(this.invoice); if (invoice == null) { throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows); } this.invoice = this.invoiceManager.Get(invoice.InvoiceId); }
protected override Form GetViewForm() { Model.InvoiceXT invoice = this.SelectedItem as Model.InvoiceXT; if (invoice != null) { return(new EditForm(invoice.InvoiceId)); } return(null); }
private void InvoiceCost(Model.InvoiceXT invoice) { decimal?totalCost = 0; foreach (Model.InvoiceXTDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } //detail.InvoiceXTDetailCostPrice = detail.Product.ProductStandardCost; detail.InvoiceXTDetailCostMoney = detail.InvoiceXTDetailCostPrice * Convert.ToDecimal(detail.InvoiceXTDetailQuantity.Value); totalCost += detail.InvoiceXTDetailCostMoney; } invoice.InvoiceCost = totalCost; }
private void Validate(Model.InvoiceXT invoice) { if (string.IsNullOrEmpty(invoice.InvoiceId)) { throw new Helper.RequireValueException("Id"); } if (invoice.Employee0 == null) { throw new Helper.RequireValueException("Employee0"); } if (invoice.Customer == null) { throw new Helper.RequireValueException("Company"); } if (invoice.Depot == null) { throw new Helper.RequireValueException("Depot"); } if (invoice.Details.Count == 0) { throw new Helper.RequireValueException("Details"); } foreach (Model.InvoiceXTDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } if (detail.InvoiceXTDetailQuantity == 0) { throw new Exception("數量不能為0"); } if (string.IsNullOrEmpty(detail.DepotPositionId)) { throw new Helper.RequireValueException(Model.InvoiceCGDetail.PRO_DepotPositionId); } } }
private void _Update(Model.InvoiceXT invoice) { _ValidateForUpdate(invoice); invoice.UpdateTime = DateTime.Now; invoice.CustomerId = invoice.Customer.CustomerId; //invoice.DepotId = invoice.Depot.DepotId; invoice.Employee0Id = invoice.Employee0.EmployeeId; invoice.Employee1Id = invoice.Employee1 == null ? null : invoice.Employee1.EmployeeId; invoice.Employee2Id = invoice.Employee2 == null ? null : invoice.Employee2.EmployeeId; InvoiceCost(invoice); Model.InvoiceXT invocieOriginal = this.Get(invoice.InvoiceId); switch ((Helper.InvoiceStatus)invocieOriginal.InvoiceStatus) { case Helper.InvoiceStatus.Draft: switch ((Helper.InvoiceStatus)invoice.InvoiceStatus) { case Helper.InvoiceStatus.Draft: invoiceXTDetailAccessor.Delete(invocieOriginal); foreach (Model.InvoiceXTDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } detail.InvoiceXTDetailId = Guid.NewGuid().ToString(); detail.InvoiceId = invoice.InvoiceId; invoiceXTDetailAccessor.Insert(detail); } break; case Helper.InvoiceStatus.Normal: accessor.Delete(invocieOriginal.InvoiceId); invoice.InsertTime = invocieOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } break; case Helper.InvoiceStatus.Normal: switch ((Helper.InvoiceStatus)invoice.InvoiceStatus) { case Helper.InvoiceStatus.Draft: throw new InvalidOperationException(); case Helper.InvoiceStatus.Normal: invocieOriginal.InvoiceStatus = (int)Helper.InvoiceStatus.Null; _TurnNull(invocieOriginal); accessor.Delete(invocieOriginal.InvoiceId); invoice.UpdateTime = DateTime.Now; _Insert(invoice); break; case Helper.InvoiceStatus.Null: //invoice.Employee3Id = V.ActiveEmployee.EmployeeId; //invoice.InvoiceZFTime = DateTime.Now; //invoice.InvoiceZFCause = ""; //accessor.Update(invoice); //Model.Depot depot1 = invoice.Depot; foreach (Model.InvoiceXTDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } if (detail.DepotPosition != null) { stockAccessor.Decrement(detail.DepotPosition, detail.Product, detail.InvoiceXTDetailQuantity); productManager.UpdateProduct_Stock(detail.Product); } Model.InvoiceXODetail xodetail = invoiceXODetailAccessor.Get(detail.InvoiceXODetailId); if (xodetail != null) { xodetail.InvoiceXTDetailQuantity = Convert.ToDouble(xodetail.InvoiceXTDetailQuantity) - Convert.ToDouble(detail.InvoiceXTDetailQuantity); xodetail.InvoiceXODetailQuantity0 = Convert.ToDouble(xodetail.InvoiceXODetailQuantity) - Convert.ToDouble(xodetail.InvoiceXODetailBeenQuantity) + Convert.ToDouble(xodetail.InvoiceXTDetailQuantity); if (xodetail.InvoiceXODetailQuantity0 < 0) { xodetail.InvoiceXODetailQuantity0 = 0; } if (xodetail.InvoiceXODetailQuantity0 == 0) { xodetail.DetailsFlag = 2; } else if (xodetail.InvoiceXODetailQuantity0 == xodetail.InvoiceXODetailQuantity) { xodetail.DetailsFlag = 0; } else { xodetail.DetailsFlag = 1; } invoiceXODetailAccessor.Update(xodetail); invoiceXOManager.UpdateInvoiceFlag(xodetail.Invoice); } } break; } break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } }
public bool HasRowsBefore(Model.InvoiceXT e) { return(sqlmapper.QueryForObject <bool>("InvoiceXT.has_rows_before", e)); }
public R01(string invoiceid) { InitializeComponent(); this.invoice = this.InvoiceXTManager.Get(invoiceid); if (this.invoice == null) { return; } this.invoice.Details = this.InvoiceXTDetailManager.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; this.xrLabelCompanyInfoTelphone.Text = BL.Settings.CompanyPhone; this.xrLabelData.Text = Properties.Resources.InvoiceXT; this.xrLabelPrintDate.Text += DateTime.Now.ToShortDateString(); //每页合计统计 this.xrLabelPateTotal.Summary.Running = SummaryRunning.Page; this.xrLabelPateTotal.Summary.Func = SummaryFunc.Sum; this.xrLabelPateTotal.Summary.FormatString = global::Helper.DateTimeParse.GetFormatA(BL.V.SetDataFormat.XSZJXiao.Value); this.xrLabelPateTotal.Summary.IgnoreNullValues = true; this.xrLabelPateTotal.DataBindings.Add("Text", this.DataSource, Model.InvoiceXTDetail.PRO_InvoiceXTDetailMoney0, global::Helper.DateTimeParse.GetFormatA(BL.V.SetDataFormat.XSZJXiao.Value)); //客户信息 this.xrLabelCustomName.Text = this.invoice.Customer.CustomerShortName; this.xrLabelCustomFax.Text = this.invoice.Customer.CustomerFax; this.xrLabelCustomTel.Text = string.IsNullOrEmpty(this.invoice.Customer.CustomerPhone) ? this.invoice.Customer.CustomerPhone1 : this.invoice.Customer.CustomerPhone; this.xrLabelTongYiNo.Text = this.invoice.Customer.CustomerNumber; this.xrLabelSongHuoAddress.Text = this.invoice.Customer.CustomerJinChuAddress; //单据信息 this.xrLabelInvoiceDate.Text = this.invoice.InvoiceDate.Value.ToString("yyyy-MM-dd hh:mm:ss"); this.xrLabelInvoiceId.Text = this.invoice.InvoiceId; this.xrLabelYeWuName.Text = this.invoice.Employee0.EmployeeName; this.xrLabelInvoiceFphm.Text = this.invoice.InvoiceFpbh; this.xrLabelTax.Text = this.invoice.InvoiceTax.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelZre.Text = this.invoice.InvoiceZRE.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelZse.Text = this.invoice.InvoiceZSE.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelOwced.Text = this.invoice.InvoiceOwed.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelYifu.Text = ((decimal)(this.invoice.InvoiceZongJi.Value - this.invoice.InvoiceOwed.Value)).ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelTotal1.Text = this.invoice.InvoiceZongJi.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelheji.Text = this.invoice.InvoiceHeJi.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value)); this.xrLabelNote.Text = this.invoice.InvoiceNote; //明细信息 this.xrTableCellProductId.DataBindings.Add("Text", this.DataSource, Model.InvoiceXTDetail.PRO_Inumber); 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.InvoiceXTDetail.PRO_InvoiceXTDetailQuantity); this.xrTableCellQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceXTDetail.PRO_InvoiceProductUnit); this.xrTableCellUintPrice.DataBindings.Add("Text", this.DataSource, Model.InvoiceXTDetail.PRO_InvoiceXTDetailPrice, "{0:0.###}"); //this.xrCheckBoxIsZs.DataBindings.Add("CheckState", this.DataSource, Model.InvoiceXTDetail.PRO_InvoiceXTDetailZS); this.xrTableCellMoney.DataBindings.Add("Text", this.DataSource, Model.InvoiceXTDetail.PRO_InvoiceXTDetailMoney1, "{0:0.###}"); this.TC_InvoiceCusXOId.DataBindings.Add("Text", this.DataSource, "InvoiceXO." + Model.InvoiceXO.PRO_CustomerInvoiceXOId); }
public Model.InvoiceXT GetNext(Model.InvoiceXT e) { return(sqlmapper.QueryForObject <Model.InvoiceXT>("InvoiceXT.get_next", e)); }
private void _TurnNull(Model.InvoiceXT invoice) { invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Null; _Update(invoice); }
public Model.InvoiceXT GetNext(Model.InvoiceXT e) { return(accessor.GetNext(e)); }
public Model.InvoiceXT GetPrev(Model.InvoiceXT e) { return(accessor.GetPrev(e)); }
public bool HasRowsAfter(Model.InvoiceXT e) { return(accessor.HasRowsAfter(e)); }
public bool HasRowsBefore(Model.InvoiceXT e) { return(accessor.HasRowsBefore(e)); }
public Model.InvoiceXT GetPrev(Model.InvoiceXT e) { return(sqlmapper.QueryForObject <Model.InvoiceXT>("InvoiceXT.get_prev", e)); }
public void Update(Model.InvoiceXT e) { this.Update <Model.InvoiceXT>(e); }
public Model.InvoiceXT Get(string invoiceId) { Model.InvoiceXT invoice = accessor.Get(invoiceId); invoice.Details = invoiceXTDetailAccessor.Select(invoice); return(invoice); }
public bool HasRowsAfter(Model.InvoiceXT e) { return(sqlmapper.QueryForObject <bool>("InvoiceXT.has_rows_after", e)); }
public IList <Model.InvoiceXTDetail> Select(Model.InvoiceXT invoiceXT) { return(accessor.Select(invoiceXT)); }
public void Insert(Model.InvoiceXT e) { this.Insert <Model.InvoiceXT>(e); }