private void bar_Copy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.action != "view") { MessageBox.Show("請先保存單據!", "提示", MessageBoxButtons.OK); return; } CopyChooseDateForm f = new CopyChooseDateForm(); if (f.ShowDialog() == DialogResult.OK) { Model.AtSummon newAtSummon = new Book.Model.AtSummon(); newAtSummon.SummonId = Guid.NewGuid().ToString(); newAtSummon.SummonDate = f.InvoiceDate; newAtSummon.SummonCategory = atSummon.SummonCategory; newAtSummon.TotalDebits = atSummon.TotalDebits; newAtSummon.CreditTotal = atSummon.CreditTotal; newAtSummon.Id = this.atSummonManager.GetId(f.InvoiceDate); newAtSummon.EmployeeDSId = atSummon.EmployeeDSId; newAtSummon.EmployeeDS = atSummon.EmployeeDS; newAtSummon.AtSummonDesc = atSummon.AtSummonDesc; newAtSummon.Details = new List <Model.AtSummonDetail>(); foreach (var item in atSummon.Details) { newAtSummon.Details.Add(item); } this.atSummon = newAtSummon; this.action = "insert"; Refresh(); } }
public void InsertAtSummon(Model.InvoiceXS invoice, Dictionary <string, string> dic) { Model.AtSummon atSummon = new Book.Model.AtSummon(); atSummon.SummonId = Guid.NewGuid().ToString(); atSummon.SummonDate = DateTime.Now; atSummon.SummonCategory = "轉帳傳票"; atSummon.InsertTime = DateTime.Now; atSummon.UpdateTime = DateTime.Now; //atSummon.Id = this.atSummonManager.GetId(); atSummon.Id = this.atSummonManager.GetConsecutiveId(DateTime.Now); atSummon.InvoiceXSId = invoice.InvoiceId; atSummon.Details = new List <Model.AtSummonDetail>(); Model.AtSummonDetail detail1 = new Model.AtSummonDetail(); detail1.SummonDetailId = Guid.NewGuid().ToString(); detail1.SummonCatetory = atSummon.SummonCategory; detail1.Lending = "借"; detail1.AMoney = invoice.InvoiceTotal; detail1.SubjectId = dic[string.Format("應收帳款-{0}", invoice.Customer.CustomerShortName)]; detail1.InsertTime = DateTime.Now; detail1.UpdateTime = DateTime.Now; atSummon.Details.Add(detail1); Model.AtSummonDetail detail2 = new Model.AtSummonDetail(); detail2.SummonDetailId = Guid.NewGuid().ToString(); detail2.SummonCatetory = atSummon.SummonCategory; detail2.Lending = "貸"; detail2.AMoney = invoice.InvoiceHeji; detail2.SubjectId = dic["銷貨收入"]; detail2.InsertTime = DateTime.Now; detail2.UpdateTime = DateTime.Now; atSummon.Details.Add(detail2); if (invoice.InvoiceTax > 0) { Model.AtSummonDetail detail3 = new Model.AtSummonDetail(); detail3.SummonDetailId = Guid.NewGuid().ToString(); detail3.SummonCatetory = atSummon.SummonCategory; detail3.Lending = "貸"; detail3.AMoney = invoice.InvoiceTax; detail3.SubjectId = dic["銷項稅額"]; detail3.InsertTime = DateTime.Now; detail3.UpdateTime = DateTime.Now; atSummon.Details.Add(detail3); } foreach (var item in atSummon.Details) { if (item.Lending == "借") { item.Id = "A" + atSummon.Details.IndexOf(item); } else { item.Id = "B" + atSummon.Details.IndexOf(item); } } atSummonManager.TiGuiExists(atSummon); //插入 string invoiceKind = "ats"; string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, atSummon.SummonDate.Value.Year); string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, atSummon.SummonDate.Value.Year, atSummon.SummonDate.Value.Month); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, atSummon.SummonDate.Value.ToString("yyyy-MM-dd")); string sequencekey = string.Format(invoiceKind); SequenceManager.Increment(sequencekey_y); SequenceManager.Increment(sequencekey_m); SequenceManager.Increment(sequencekey_d); SequenceManager.Increment(sequencekey); atSummon.TotalDebits = atSummon.Details.Where(d => d.Lending == "借").Sum(d => d.AMoney); atSummon.CreditTotal = atSummon.Details.Where(d => d.Lending == "貸").Sum(d => d.AMoney); atSummonAccessor.Insert(atSummon); foreach (Model.AtSummonDetail atSummonDetail in atSummon.Details) { atSummonDetail.SummonId = atSummon.SummonId; atSummonDetailManager.Insert(atSummonDetail); } }