protected virtual void Save(Helper.InvoiceStatus status) { }
public IList <Book.Model.InvoiceXS> Select(Helper.InvoiceStatus status) { return(sqlmapper.QueryForList <Model.InvoiceXS>("InvoiceXS.select_byStatus", (int)status)); }
public IList <Model.InvoiceSK> Select(Helper.InvoiceStatus status) { return(accessor.Select(status)); }
protected override void Save(Helper.InvoiceStatus status) { this.invoice.InvoiceStatus = (int)status; this.invoice.InvoiceId = this.textEditInvoiceId.Text; this.invoice.InvoiceDate = this.dateEditInvoiceDate.DateTime; this.invoice.Employee0 = this.buttonEditEmployee.EditValue as Model.Employee; this.invoice.Supplier = this.buttonEditCompany.EditValue as Model.Supplier; if (this.buttonEditDepot.EditValue != null) { this.invoice.Depot = this.buttonEditDepot.EditValue as Model.Depot; this.invoice.DepotId = (this.buttonEditDepot.EditValue as Model.Depot).DepotId; } //this.invoice.InvoiceAbstract = this.textEditAbstract.Text; this.invoice.InvoiceNote = this.textEditNote.Text; this.invoice.InvoiceTax = this.calcEditInvoiceTax1.Value; if (string.IsNullOrEmpty(this.spinEditInvoiceTaxRate1.Text)) { this.invoice.InvoiceTaxRate = 0; } else { this.invoice.InvoiceTaxRate = double.Parse(this.spinEditInvoiceTaxRate1.Text); } this.invoice.InvoiceZongJi = this.calcEditInvoiceTotal0.Value; this.invoice.InvoiceHeJi = this.calcEditInvoiceTotal1.Value; this.invoice.InvoiceZSE = this.calcEditInvoiceZSE.Value; this.invoice.InvoiceOwed = this.calcEditInvoiceTotal0.Value; this.invoice.InvoiceLRTime = DateTime.Now; this.invoice.InvoiceCpbh = this.textEditInvoiceCphm.Text; this.invoice.InvoiceKslb = this.comboBoxEditInvoiceKslb.Text; this.invoice.InvoiceKlfs = this.comboBoxEditInvoiceKlfs.Text; this.invoice.InvoiceKpls = this.comboBoxEditInvoiceFpls.Text; this.invoice.InvoiceFpje = this.spinEditInvoiceFpje.Value; this.invoice.InvoiceFpbh = this.textEditInvoiceFpbh.Text; this.invoice.InvoicePayTimeLimit = this.dateEditInvoicePayTimeLimit.DateTime.Date; this.invoice.InvoiceZRE = this.spinEditInvoiceZKE.Value; this.invoice.Employee1 = this.buttonEditEmployee1.EditValue as Model.Employee; this.invoice.Employee2 = this.buttonEditEmployee2.EditValue as Model.Employee; this.invoice.AuditState = this.saveAuditState; this.invoice.PayDate = this.PayDate.EditValue == null ? DateTime.Now : this.PayDate.DateTime; if (!this.gridView1.PostEditor() || !this.gridView1.UpdateCurrentRow()) { return; } switch (this.action) { case "insert": this.invoiceManager.Insert(this.invoice); break; case "update": this.invoiceManager.Update(this.invoice); break; } }
private void _Update(Model.InvoiceZS invoice) { _ValidateForUpdate(invoice); invoice.UpdateTime = DateTime.Now; //invoice.DepotId = invoice.Depot.DepotId; invoice.Employee0Id = invoice.Employee0.EmployeeId; invoice.CustomerId = invoice.Customer.CustomerId; Model.InvoiceZS invoiceOriginal = this.Get(invoice.InvoiceId); Helper.InvoiceStatus invoiceStatus = (Helper.InvoiceStatus)invoice.InvoiceStatus.Value; switch ((Helper.InvoiceStatus)invoiceOriginal.InvoiceStatus) { case Helper.InvoiceStatus.Draft: switch ((Helper.InvoiceStatus)invoice.InvoiceStatus) { case Helper.InvoiceStatus.Draft: invoiceZSDetailAccessor.Delete(invoice); foreach (Model.InvoiceZSDetail detail in invoice.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } detail.InvoiceZSDetailId = Guid.NewGuid().ToString(); detail.InvoiceId = invoice.InvoiceId; invoiceZSDetailAccessor.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 ((Helper.InvoiceStatus)invoice.InvoiceStatus) { case Helper.InvoiceStatus.Draft: throw new InvalidOperationException(); case Helper.InvoiceStatus.Normal: invoiceOriginal.InvoiceStatus = (int)Helper.InvoiceStatus.Null; _TurnNull(invoiceOriginal); invoiceZSDetailAccessor.Delete(invoiceOriginal); accessor.Delete(invoiceOriginal.InvoiceId); invoice.InsertTime = invoiceOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); ////消除影响 //foreach (Model.InvoiceZSDetail detail in invoiceOriginal.Details) //{ // stockAccessor.Increment(invoiceOriginal.Depot, detail.Product, detail.InvoiceZSDetailQuantity.Value); //} //accessor.Delete(invoiceOriginal.InvoiceId); //invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Normal; //invoice.InsertTime = invoiceOriginal.InsertTime; //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); //invoice.Details = invoiceZSDetailAccessor.Select(invoice); //消除影响 foreach (Model.InvoiceZSDetail detail in invoice.Details) { //if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) continue; Model.CustomerProducts p = detail.PrimaryKey; p.PrimaryKeyId = detail.PrimaryKey.PrimaryKeyId; if (p.DepotQuantity == null) { p.DepotQuantity = 0; } if (p.OrderQuantity == null) { p.OrderQuantity = 0; } p.DepotQuantity += detail.InvoiceZSDetailQuantity; customerProductsAccessor.Update(p); } break; } break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } }
protected override void Save(Helper.InvoiceStatus status) { this.invoice.InvoiceStatus = (int)status; this.invoice.InvoiceId = this.textEditInvoiceId.Text; this.invoice.InvoiceDate = this.dateEditInvoiceDate.DateTime; this.invoice.Employee0 = this.buttonEditEmployee.EditValue as Model.Employee; this.invoice.Supplier = this.buttonEditCompany.EditValue as Model.Supplier; if (this.buttonEditDepot.EditValue != null) { this.invoice.Depot = this.buttonEditDepot.EditValue as Model.Depot; this.invoice.DepotId = (this.buttonEditDepot.EditValue as Model.Depot).DepotId; } //this.invoice.InvoiceAbstract = this.textEditAbstract.Text; this.invoice.InvoiceNote = this.textEditNote.Text; this.invoice.InvoiceTax = this.calcEditInvoiceTax1.Value; if (string.IsNullOrEmpty(this.spinEditInvoiceTaxRate1.Text)) { this.invoice.InvoiceTaxRate = 0; } else { this.invoice.InvoiceTaxRate = double.Parse(this.spinEditInvoiceTaxRate1.Text); } this.invoice.InvoiceZongJi = this.calcEditInvoiceTotal0.Value; this.invoice.InvoiceHeJi = this.calcEditInvoiceTotal1.Value; this.invoice.InvoiceZSE = this.calcEditInvoiceZSE.Value; this.invoice.InvoiceOwed = this.calcEditInvoiceTotal0.Value; this.invoice.InvoiceLRTime = DateTime.Now; this.invoice.InvoiceCpbh = this.textEditInvoiceCphm.Text; this.invoice.InvoiceKslb = this.comboBoxEditInvoiceKslb.Text; this.invoice.InvoiceKlfs = this.comboBoxEditInvoiceKlfs.Text; this.invoice.InvoiceKpls = this.comboBoxEditInvoiceFpls.Text; this.invoice.InvoiceFpje = this.spinEditInvoiceFpje.Value; this.invoice.InvoiceFpbh = this.textEditInvoiceFpbh.Text; this.invoice.InvoicePayTimeLimit = this.dateEditInvoicePayTimeLimit.DateTime.Date; this.invoice.InvoiceZRE = this.spinEditInvoiceZKE.Value; this.invoice.Employee1 = this.buttonEditEmployee1.EditValue as Model.Employee; this.invoice.Employee2 = this.buttonEditEmployee2.EditValue as Model.Employee; this.invoice.AuditState = this.saveAuditState; this.invoice.PayDate = this.PayDate.EditValue == null ? DateTime.Now : this.PayDate.DateTime; if (!this.gridView1.PostEditor() || !this.gridView1.UpdateCurrentRow()) { return; } Dictionary <string, string> dicSubject = new Dictionary <string, string>(); //dicSubject.Add("進貨", null); dicSubject.Add(this.invoiceManager.GetSubjectNameBySupplier(invoice.Supplier), null); dicSubject.Add("進項稅額", null); dicSubject.Add(string.Format("應付帳款-{0}", invoice.Supplier.SupplierShortName), null); for (int i = 0; i < dicSubject.Count; i++) { string key = dicSubject.Keys.ToArray()[i]; string value = atAccountSubjectManager.GetSubjectIdByName(key); if (string.IsNullOrEmpty(value)) { if (i != 2) { throw new Exception(string.Format("會計科目中無此科目:{0},請先添加。", key)); } try { BL.V.BeginTransaction(); string subjectId = Guid.NewGuid().ToString(); string insertSql = string.Format("insert into AtAccountSubject values('{0}','{1}','',null,'31c7baf9-c21d-4075-8738-ebbaedd1c000','貸','0',null,null,null,null,GETDATE(),GETDATE(),(select cast((select top 1 cast(Id as int) from AtAccountSubject where left(Id,4)='2144' order by Id desc )+1 as varchar(20))),null,null)", subjectId, key); this.invoiceManager.UpdateSql(insertSql); value = subjectId; BL.V.CommitTransaction(); } catch { BL.V.RollbackTransaction(); throw new Exception(string.Format("添加會計科目‘{0}’時出現錯誤,請聯繫管理員", key)); } } dicSubject[key] = value; } switch (this.action) { case "insert": this.invoiceManager.Insert(this.invoice); this.invoiceManager.InsertAtSummon(invoice, dicSubject); break; case "update": this.invoiceManager.Update(this.invoice); this.invoiceManager.UpdateAtSummon(invoice, dicSubject); break; } }
private void _Update(Model.InvoiceQO invoice) { _ValidateForUpdate(invoice); invoice.UpdateTime = DateTime.Now; invoice.Employee0Id = invoice.Employee0.EmployeeId; invoice.AccountId = invoice.Account.AccountId; Model.InvoiceQO 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); invoiceQODetailAccessor.Delete(invoice); foreach (Model.InvoiceQODetail detail in invoice.Details) { detail.InvoiceId = invoice.InvoiceId; detail.InvoiceQODetailId = Guid.NewGuid().ToString(); invoiceQODetailAccessor.Insert(detail); } break; case Helper.InvoiceStatus.Normal: accessor.Delete(invoiceOriginal.InvoiceId); invoice.InsertTime = invoiceOriginal.InsertTime; invoice.UpdateTime = DateTime.Now; _Insert(invoice); //accessor.Update(invoice); //invoiceQODetailAccessor.Delete(invoice); //foreach (Model.InvoiceQODetail detail in invoice.Details) //{ // detail.InvoiceId = invoice.InvoiceId; // detail.InvoiceQODetailId = Guid.NewGuid().ToString(); // invoiceQODetailAccessor.Insert(detail); //} //Model.Account account = invoice.Account; //account.AccountBalance1 -= invoice.InvoiceTotal; //accountAccessor.Update(account); //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); //Model.Account accountOriginal = invoiceOriginal.Account; //accountOriginal.AccountBalance1 += invoiceOriginal.InvoiceTotal; //accountAccessor.Update(accountOriginal); //accessor.Delete(invoiceOriginal.InvoiceId); //invoice.InsertTime = invoiceOriginal.InsertTime; //invoice.UpdateTime = DateTime.Now; //invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Normal; //_Insert(invoice); break; case Helper.InvoiceStatus.Null: //invoice.Employee3Id = V.ActiveEmployee.EmployeeId; //invoice.InvoiceZFTime = DateTime.Now; //invoice.InvoiceZFCause = ""; //accessor.Update(invoice); Model.Account account = invoice.Account; account.AccountBalance1 += invoice.InvoiceTotal; accountAccessor.Update(account); break; } break; case Helper.InvoiceStatus.Null: throw new InvalidOperationException(); } }