コード例 #1
0
    public string UpdateInvoiceAndPayment(string invoiceNo, DateTime invoiceDate, DateTime date, List <InvoiceDetailViewModel> invoiceDetail, List <PaymentDetailViewModel> paymentDetail)
    {
        PaymentProvider payment = new PaymentProvider(ctx);
        InvoiceHeader   invoice = ctx.InvoiceHeaders.SingleOrDefault(inv => inv.InvoiceNo == invoiceNo);

        invoice.Date = invoiceDate;
        string paymentNo = String.Empty;

        if (invoice != null)
        {
            ctx.InvoiceDetails.DeleteAllOnSubmit(invoice.InvoiceDetails.AsEnumerable());
            foreach (var model in invoiceDetail)
            {
                InvoiceDetail d = new InvoiceDetail();
                d.InvoiceID = invoice.ID;
                d.ItemID    = model.ItemID;
                d.Quantity  = model.Quantity;
                d.UnitPrice = model.UnitPrice;
                d.Discount  = model.Discount;
                d.IsTaxable = model.IsTaxable;
                invoice.InvoiceDetails.Add(d);
                ctx.InvoiceDetails.InsertOnSubmit(d);
            }
            paymentNo = payment.Create(date, invoiceNo, paymentDetail);
            ctx.SubmitChanges();
        }

        return(paymentNo);
    }