Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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);
            }
        }