protected Payment CreatePayment(Product product, Profile profile) { var zakup = new Payment(); zakup.DateTime = DateTime.UtcNow; product.Payment = zakup; zakup.Price = product.Price; product.Payment.Product = product; var basket = new PaymentBasket(); basket.Customer = product.Customer; basket.DateTime = DateTime.Now; basket.TotalPrice = product.Price; basket.Profile = profile; basket.Payments.Add((Payment)product.Payment); ((Payment)product.Payment).PaymentBasket = basket; insertToDatabase(basket); insertToDatabase(product); Session.Flush(); return((Payment)product.Payment); }
public override void BuildDatabase() { using (var tx = Session.BeginTransaction()) { profiles.Clear(); activities.Clear(); entries.Clear(); customers.Clear(); koszyki.Clear(); profiles.Add(CreateProfile(Session, "test1")); profiles.Add(CreateProfile(Session, "test2")); var customer = CreateCustomer("cust1", profiles[0]); customers.Add(customer); customer = CreateCustomer("cust2", profiles[0]); customers.Add(customer); customer = CreateCustomer("cust3", profiles[1]); customers.Add(customer); var activity = CreateActivity("Swimming", profiles[0], 10); activities.Add(activity); activity = CreateActivity("Strength training", profiles[0], 15); activities.Add(activity); ScheduleEntry entry = new ScheduleEntry(); entry.Profile = profiles[0]; entry.MyPlace = GetDefaultMyPlace(profiles[0]); entry.StartTime = DateTime.UtcNow.AddDays(-10); entry.EndTime = DateTime.UtcNow.AddDays(-10).AddHours(1); entry.Activity = activities[0]; entry.MaxPersons = 3; entries.Add(entry); ScheduleEntryReservation reservation = new ScheduleEntryReservation(); reservation.Customer = customers[0]; reservation.Name = "test"; reservation.DateTime = DateTime.UtcNow; reservation.Profile = profiles[0]; reservation.Price = activities[0].Price; reservation.ScheduleEntry = entry; entry.Reservations.Add(reservation); insertToDatabase(entry); entry = new ScheduleEntry(); entry.Profile = profiles[0]; entry.Activity = activities[1]; entry.MyPlace = GetDefaultMyPlace(profiles[0]); entry.StartTime = DateTime.UtcNow.AddDays(-10); entry.EndTime = DateTime.UtcNow.AddDays(-10).AddHours(1); entry.MaxPersons = 1; entries.Add(entry); reservation = new ScheduleEntryReservation(); reservation.Customer = customers[0]; reservation.Name = "test"; reservation.DateTime = DateTime.UtcNow; reservation.Profile = profiles[0]; reservation.Price = activities[1].Price; reservation.ScheduleEntry = entry; entry.Reservations.Add(reservation); insertToDatabase(entry); entry = new ScheduleEntry(); entry.Profile = profiles[1]; entry.MyPlace = GetDefaultMyPlace(profiles[1]); entry.Activity = activities[1]; entry.StartTime = DateTime.UtcNow.AddDays(-5); entry.EndTime = DateTime.UtcNow.AddDays(-5).AddHours(1); entry.MaxPersons = 1; entry.Activity = activities[1]; entries.Add(entry); reservation = new ScheduleEntryReservation(); reservation.Customer = customers[2]; reservation.Name = "test"; reservation.Profile = profiles[1]; reservation.DateTime = DateTime.UtcNow; reservation.Price = 11; reservation.ScheduleEntry = entry; entry.Reservations.Add(reservation); insertToDatabase(entry); entry = new ScheduleEntry(); entry.Profile = profiles[0]; entry.MyPlace = GetDefaultMyPlace(profiles[0]); entry.Activity = activities[1]; entry.StartTime = DateTime.UtcNow.AddDays(-22); entry.EndTime = DateTime.UtcNow.AddDays(-22).AddHours(1); entry.MaxPersons = 1; entries.Add(entry); reservation = new ScheduleEntryReservation(); reservation.Customer = customers[0]; reservation.Name = "test"; reservation.DateTime = DateTime.UtcNow; reservation.Profile = profiles[0]; reservation.Price = activities[1].Price; reservation.ScheduleEntry = entry; entry.Reservations.Add(reservation); insertToDatabase(entry); var koszyk = new PaymentBasket(); koszyk.DateTime = DateTime.UtcNow.AddDays(-10); koszyk.Profile = profiles[0]; koszyk.Customer = customers[0]; koszyk.TotalPrice = 20; var zakup = new Payment(); zakup.Product = entries[0].Reservations.ElementAt(0); entries[0].Reservations.ElementAt(0).Payment = zakup; zakup.PaymentBasket = koszyk; koszyk.Payments.Add(zakup); insertToDatabase(koszyk); koszyki.Add(koszyk); koszyk = new PaymentBasket(); koszyk.DateTime = DateTime.UtcNow.AddDays(-8); koszyk.Customer = customers[0]; koszyk.Profile = profiles[0]; koszyk.TotalPrice = 11; zakup = new Payment(); zakup.Product = entries[1].Reservations.ElementAt(0); entries[1].Reservations.ElementAt(0).Payment = zakup; zakup.PaymentBasket = koszyk; koszyk.Payments.Add(zakup); insertToDatabase(koszyk); koszyki.Add(koszyk); koszyk = new PaymentBasket(); koszyk.DateTime = DateTime.UtcNow.AddDays(-8); koszyk.Profile = profiles[1]; koszyk.Customer = customers[2]; koszyk.TotalPrice = 11; zakup = new Payment(); zakup.Product = entries[2].Reservations.ElementAt(0); entries[2].Reservations.ElementAt(0).Payment = zakup; zakup.PaymentBasket = koszyk; koszyk.Payments.Add(zakup); insertToDatabase(koszyk); tx.Commit(); } }