public static void Seed(BusTicketsContext context) { Town[] towns = TownGenerator.GenerateTowns(); context.Towns.AddRange(towns); BusCompany[] companies = BusCompanyGenerator.GenerateBusCompanies(); context.BusCompanies.AddRange(companies); BusStation[] stations = BusStationGenerator.GenerateBusStations(towns); context.BusStations.AddRange(stations); Customer[] customers = CustomerGenerator.GenerateCustomers(towns); context.Customers.AddRange(customers); BankAccount[] accounts = BankAccountGenerator.GenerateBankAccounts(customers); context.BankAccounts.AddRange(accounts); //BusCompany[] companiesFromDb = context.BusCompanies.ToArray(); Review[] reviews = ReviewGenerator.GenerateReviews(companies, customers); context.Reviews.AddRange(reviews); Trip[] trips = TripGenerator.GenerateTrips(stations, companies); context.Trips.AddRange(trips); Ticket[] tickets = TicketGenerator.GenerateTicket(customers, trips); context.Tickets.AddRange(tickets); context.SaveChanges(); Console.WriteLine("Sample data inserted successfully."); }
public void UpdateOrder(int id, string status) { using (var DB = new BusTicketsContext()) { var order = DB.Orders.Find(id); order.Status = status; DB.SaveChanges(); } }
public void AddStop(StopViewModel stop) { using (var DB = new BusTicketsContext()) { var addStop = DB.Stops.Add(new Stop { Name = stop.Name, Description = stop.Description, Status = stop.Status }); DB.SaveChanges(); } }
public void Buy(int id) { using (var DB = new BusTicketsContext()) { var order = DB.Orders.Find(id); order.Status = "bought Out"; var ticket = DB.Tickets.First(x => x.OrderId == id); ticket.Status = "bought Out"; DB.SaveChanges(); } }
public void AddTicket(Customer customer, Trip trip, decimal price, int seat) { Ticket ticket = new Ticket { Customer = customer, Trip = trip, Price = price, Seat = seat }; context.Tickets.Add(ticket); context.SaveChanges(); }
public void AddArrivalTrip(DateTime actualTime, BusStation originStation, BusStation destinationStation, int passengers) { ArrivedTrip arrivedTrip = new ArrivedTrip { ArriveTime = actualTime, OriginBusStation = originStation, DestinationBusStation = destinationStation, Passengers = passengers }; context.ArrivedTrips.Add(arrivedTrip); context.SaveChanges(); }
public void AddReview(string content, float grade, BusCompany busCompany, Customer customer) { Review review = new Review { Content = content, Grade = grade, BusCompany = busCompany, Customer = customer, PublishingDate = DateTime.Now }; context.Reviews.Add(review); context.SaveChanges(); }
public int NewOrder(int voyageId, string userName) { int id; using (var DB = new BusTicketsContext()) { Order order = new Order { VoyageId = voyageId, Status = "open", UserName = userName }; var newOrder = DB.Orders.Add(order); DB.SaveChanges(); id = newOrder.Id; } return(id); }
// {Customer ID} {Grade} {Bus Company Name} {Content} public string Execute(IList <string> data) { var customerId = int.Parse(data[0]); var grade = double.Parse(data[1]); var busCompanyName = data[2]; var content = data[3]; using (var db = new BusTicketsContext()) { var customer = db.Customers .Select(c => new { Id = c.Id, Name = c.FirstName + " " + c.LastName }) .FirstOrDefault(c => c.Id == customerId); if (customer == null) { throw new ArgumentException("No such customer"); } var company = db.Companies .Select(c => new { Id = c.Id, Name = c.Name }) .FirstOrDefault(c => c.Name == busCompanyName); if (company == null) { throw new ArgumentException("No such company"); } db.Reviews.Add(new Review { CompanyId = company.Id, CustomerId = customer.Id, Content = content, Grade = grade }); db.SaveChanges(); return($"Customer {customer.Name} published review for company {company.Name}"); } }
public int NewTicket(TicketViewModel ticket) { int id; using (var DB = new BusTicketsContext()) { var newTicket = DB.Tickets.Add(new Ticket { OrderId = ticket.OrderId, PassengerDocumentNumber = ticket.DocumentNumber, PassengerName = ticket.PassengerName, SeetNumber = ticket.NumberSeet, Status = "reserved" }); DB.SaveChanges(); id = newTicket.Id; } return(id); }
private void SeedDb(BusTicketsContext context) { var generator = new DataGenerator(); var countries = GetCountries(generator, SeedCount); var busCompanies = GetBusCompanies(generator, countries, SeedCount); var towns = GetTowns(generator, countries, SeedCount); var busStations = GetStations(generator, towns, SeedCount); var customers = GetCustomers(generator, towns, SeedCount); var bankAccounts = GetBankAccounts(generator, customers, SeedCount); var trips = GetTrips(generator, busStations, busCompanies, SeedCount); var tickets = GetTickets(generator, customers, trips, SeedCount); var reviews = GetReviews(generator, busCompanies, customers, SeedCount / 2); context.Trips.AddRange(trips); context.Tickets.AddRange(tickets); context.Reviews.AddRange(reviews); context.BankAccounts.AddRange(bankAccounts); context.SaveChanges(); }
public void InitDB() { using (var DB = new BusTicketsContext()) { var stop1 = DB.Stops.First(x => x.Id == 1); var stop2 = DB.Stops.First(x => x.Id == 2); var stop3 = DB.Stops.First(x => x.Id == 10); Voyage v1 = new Voyage { VoyageName = "Minsk - Gomel", VoyageNumber = "15", DepartureDateTime = new DateTime(2016, 11, 20, 10, 30, 00), ArrivalDateTime = new DateTime(2016, 11, 20, 15, 30, 00), DepartureStop = stop1, ArriveStop = stop3, DepartureStopId = stop1.Id, ArivalStopId = stop3.Id, TravelTime = new TimeSpan(5, 0, 0), NumberOfSeets = 100, TicketCost = 200 }; Voyage v2 = new Voyage { VoyageName = "Brest - Minsk", VoyageNumber = "21", DepartureDateTime = new DateTime(2016, 11, 20, 14, 00, 00), ArrivalDateTime = new DateTime(2016, 11, 20, 18, 30, 00), DepartureStop = stop2, ArriveStop = stop1, DepartureStopId = stop2.Id, ArivalStopId = stop1.Id, TravelTime = new TimeSpan(4, 30, 0), NumberOfSeets = 100, TicketCost = 150 }; DB.Voyages.Add(v1); DB.Voyages.Add(v2); DB.SaveChanges(); } }
//{customer ID} {Trip ID} {Price} {Seat} public string Execute(IList <string> data) { var customerId = int.Parse(data[0]); var tripId = int.Parse(data[1]); var price = decimal.Parse(data[2]); var seat = data[3]; using (var db = new BusTicketsContext()) { var customer = db.Customers .AsNoTracking() .FirstOrDefault(c => c.Id == customerId); if (customer == null) { throw new ArgumentException("No such customer"); } if (!db.Trips.Any(t => t.Id == tripId)) { throw new ArgumentException("No such trip"); } db.Tickets.Add(new Ticket { CustomerId = customerId, TripId = tripId, Price = price, Seat = seat }); db.SaveChanges(); return ($"Customer {customer.FirstName} {customer.LastName} bought ticket " + $"for trip {tripId} for {price} on seat {seat}"); } }
private static void SeedDb(BusTicketsContext db) { db.Towns.AddRange(new List <Town> { new Town { Country = "Bulgaria", Name = "Sofia" }, new Town { Country = "Bulgaria", Name = "Varna" }, new Town { Country = "Bulgaria", Name = "Plovdiv" }, new Town { Country = "Bulgaria", Name = "Ruse" } }); db.SaveChanges(); db.BusStations.AddRange(new List <BusStation> { new BusStation { Name = "Central Station", TownId = 1 }, new BusStation { Name = "Union Station", TownId = 2 }, new BusStation { Name = "Northern Station", TownId = 1 }, new BusStation { Name = "Eastern Station", TownId = 3 }, }); db.SaveChanges(); db.Companies.AddRange(new List <Company> { new Company { Name = "SomeCompany", Nationality = "bg", Rating = 6 }, new Company { Name = "SomeCompany2", Nationality = "bg", Rating = 7 }, new Company { Name = "SomeCompany3", Nationality = "bg", Rating = 4 } }); db.SaveChanges(); db.Trips.AddRange(new List <Trip> { new Trip { CompanyId = 1, ArrivalTime = DateTime.Now, DepartureTime = DateTime.Now, OriginBusStationId = 1, DestinationBusStationId = 2, Status = TripStatus.Arrived }, new Trip { CompanyId = 2, ArrivalTime = DateTime.Now, DepartureTime = DateTime.Now, OriginBusStationId = 1, DestinationBusStationId = 3, Status = TripStatus.Cancelled }, new Trip { CompanyId = 1, ArrivalTime = DateTime.Now, DepartureTime = DateTime.Now, OriginBusStationId = 4, DestinationBusStationId = 1, Status = TripStatus.Departed } }); db.SaveChanges(); db.Customers.AddRange(new List <Customer> { new Customer { FirstName = "Mickey", LastName = "Mouse", HomeTownId = 1, DateOfBirth = DateTime.MinValue, Gender = Gender.Male }, new Customer { FirstName = "Minnie", LastName = "Mouse", HomeTownId = 2, DateOfBirth = DateTime.MinValue, Gender = Gender.Female }, new Customer { FirstName = "Donald", LastName = "Duck", HomeTownId = 3, DateOfBirth = DateTime.MinValue, Gender = Gender.Male } }); db.SaveChanges(); db.Tickets.AddRange(new List <Ticket> { new Ticket { Price = 20, Seat = "32B", CustomerId = 1, TripId = 2 }, new Ticket { Price = 50, Seat = "16C", CustomerId = 2, TripId = 1 }, new Ticket { Price = 32.99m, Seat = "1A", CustomerId = 1, TripId = 3 } }); db.SaveChanges(); db.Reviews.AddRange(new List <Review> { new Review { CustomerId = 1, CompanyId = 2, Grade = 8, Content = "Satisfactory", PublishedOn = DateTime.Now }, new Review { CustomerId = 2, CompanyId = 1, Grade = 1, Content = "Disgusting", PublishedOn = DateTime.Now }, new Review { CustomerId = 1, CompanyId = 3, Grade = 9, Content = "Awesome!", PublishedOn = DateTime.Now }, }); db.SaveChanges(); Console.WriteLine("Database Initialized!"); }