Exemplo n.º 1
0
        private void 发票信息编辑窗体_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult result = MessageBox.Show("是否要保存?", "提示信息", MessageBoxButtons.YesNoCancel);

            if (customDataGridView1.Rows.Count != 0)
            {
                if (result == DialogResult.Yes)
                {
                    customDataGridView1.EndEdit();

                    foreach (DataGridViewRow dgvr in customDataGridView1.Rows)
                    {
                        DateTime dateTemp;

                        if (!DateTime.TryParse(dgvr.Cells["发票日期"].Value == null ? "" : dgvr.Cells["发票日期"].Value.ToString(), out dateTemp))
                        {
                            continue;
                        }

                        Bus_PurchasingMG_AccountBill_Invoice lnqTemp = new Bus_PurchasingMG_AccountBill_Invoice();

                        lnqTemp.BillNo      = m_billNo;
                        lnqTemp.InvoiceTime = dateTemp;
                        lnqTemp.InvoiceNo   = dgvr.Cells["发票号"].Value.ToString();

                        _List_Invoice.Add(lnqTemp);
                    }
                }
                else if (result == DialogResult.Cancel)
                {
                    e.Cancel = true;
                }
                else if (result == DialogResult.No)
                {
                    _List_Invoice = null;
                }
            }
            else
            {
                _List_Invoice = null;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 保存信息
        /// </summary>
        /// <param name="billInfo">单据信息</param>
        /// <param name="invoiceInfo">发票信息列表</param>
        /// <param name="detailInfo">明细信息列表</param>
        public void SaveInfo(Bus_PurchasingMG_AccountBill billInfo, List <Bus_PurchasingMG_AccountBill_Invoice> invoiceInfo,
                             List <View_Bus_PurchasingMG_AccountBill_Detail> detailInfo)
        {
            try
            {
                using (DepotManagementDataContext ctx = CommentParameter.DepotDataContext)
                {
                    ctx.Connection.Open();
                    using (ctx.Transaction = ctx.Connection.BeginTransaction())
                    {
                        var varData = from a in ctx.Bus_PurchasingMG_AccountBill
                                      where a.BillNo == billInfo.BillNo
                                      select a;

                        if (varData.Count() == 1)
                        {
                            Bus_PurchasingMG_AccountBill lnqBill = varData.Single();

                            lnqBill.Provider    = billInfo.Provider;
                            lnqBill.Remark      = billInfo.Remark;
                            lnqBill.VoucherNo   = billInfo.VoucherNo;
                            lnqBill.FinanceTime = billInfo.FinanceTime;
                        }
                        else if (varData.Count() == 0)
                        {
                            ctx.Bus_PurchasingMG_AccountBill.InsertOnSubmit(billInfo);
                        }
                        else
                        {
                            throw new Exception("单据数据不唯一");
                        }

                        var varInvoice = from a in ctx.Bus_PurchasingMG_AccountBill_Invoice
                                         where a.BillNo == billInfo.BillNo
                                         select a;

                        ctx.Bus_PurchasingMG_AccountBill_Invoice.DeleteAllOnSubmit(varInvoice);
                        ctx.SubmitChanges();

                        if (invoiceInfo != null && invoiceInfo.Count > 0)
                        {
                            foreach (Bus_PurchasingMG_AccountBill_Invoice item in invoiceInfo)
                            {
                                Bus_PurchasingMG_AccountBill_Invoice lnqTemp = new Bus_PurchasingMG_AccountBill_Invoice();

                                lnqTemp.F_Id        = Guid.NewGuid().ToString();
                                lnqTemp.BillNo      = billInfo.BillNo;
                                lnqTemp.InvoiceTime = item.InvoiceTime;
                                lnqTemp.InvoiceNo   = item.InvoiceNo;

                                ctx.Bus_PurchasingMG_AccountBill_Invoice.InsertOnSubmit(lnqTemp);
                            }
                        }

                        var varDetail = from a in ctx.Bus_PurchasingMG_AccountBill_Detail
                                        where a.BillNo == billInfo.BillNo
                                        select a;

                        ctx.Bus_PurchasingMG_AccountBill_Detail.DeleteAllOnSubmit(varDetail);
                        ctx.SubmitChanges();

                        foreach (View_Bus_PurchasingMG_AccountBill_Detail item in detailInfo)
                        {
                            Bus_PurchasingMG_AccountBill_Detail lnqTemp = new Bus_PurchasingMG_AccountBill_Detail();

                            lnqTemp.F_Id         = Guid.NewGuid().ToString();
                            lnqTemp.BillNo       = billInfo.BillNo;
                            lnqTemp.AccountCount = item.实付数量;
                            lnqTemp.AccountPrice = item.发票金额;
                            lnqTemp.GoodsID      = item.GoodsID;
                            lnqTemp.Remark       = item.备注;
                            lnqTemp.YearMonth    = item.挂账年月;
                            lnqTemp.YGCount      = item.应付数量;
                            lnqTemp.YGUnitPrice  = item.协议单价;
                            lnqTemp.TaxRate      = item.税率;

                            ctx.Bus_PurchasingMG_AccountBill_Detail.InsertOnSubmit(lnqTemp);
                        }

                        ctx.SubmitChanges();
                        ctx.Transaction.Commit();
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }