コード例 #1
0
ファイル: BaseEditForm.cs プロジェクト: daobataotie/EDERP
 protected virtual void Save(Helper.InvoiceStatus status)
 {
 }
コード例 #2
0
 public IList <Book.Model.InvoiceXS> Select(Helper.InvoiceStatus status)
 {
     return(sqlmapper.QueryForList <Model.InvoiceXS>("InvoiceXS.select_byStatus", (int)status));
 }
コード例 #3
0
ファイル: InvoiceSKManager.cs プロジェクト: daobataotie/EDERP
 public IList <Model.InvoiceSK> Select(Helper.InvoiceStatus status)
 {
     return(accessor.Select(status));
 }
コード例 #4
0
ファイル: EditForm.cs プロジェクト: daobataotie/Jianli
        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;
            }
        }
コード例 #5
0
        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();
            }
        }
コード例 #6
0
        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;
            }
        }
コード例 #7
0
        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();
            }
        }