示例#1
0
        public void TestAddInvoicesLineAndCommitJeanBon()
        {
            using (var trans = _ChinookEntities.Database.BeginTransaction())
            {
                var customer = _CustomerRepo.GetCustomerByFirstAndLastName("Jean", "Bon");

                var invoice = _InvoiceRepo.GetListInvoicesByIdCustomer(customer.CustomerId).FirstOrDefault();

                var listInvoicelines = new List <InvoiceLine>();

                var listTracks = _TrackRepo.GetTrackByComposer("Da Gama/Toni Garrido");

                foreach (var track in listTracks)
                {
                    listInvoicelines.Add(new InvoiceLine()
                    {
                        InvoiceId = invoice.InvoiceId, TrackId = track.TrackId, Quantity = 1, UnitPrice = 0.99m
                    });
                }

                _InvoiceRepo.AddListInvoicesLine(listInvoicelines);

                invoice.Total = invoice.InvoiceLine.Sum(x => x.Quantity * x.UnitPrice);

                _ChinookEntities.SaveChanges();

                trans.Commit();
            }
        }