예제 #1
0
        public async Task OnPostAddTraveler(Customer traveler)
        {
            var travelerObject = traveler;
            var user           = await _userManager.GetUserAsync(User);

            travelerObject.ApplicationUserId = user.Id;
            _customersRepository.SetCustomerPassport(travelerObject);

            _context.Add(travelerObject);
            _context.SaveChanges();
            await _userManager.UpdateAsync(user);

            await _signInManager.RefreshSignInAsync(user);

            Response.Redirect("/MyAccount");
        }
        public static void Initialize(VancouverDbContext c)
        {
            c.Database.EnsureCreated();
            if (!c.Customers.Any())
            {
                c.Customers.Add(new Customer
                {
                    CustomerId = Guid.NewGuid().ToString(),
                    FirstName  = "Anna",
                    LastName   = "Allik"
                });
                c.Customers.Add(new Customer
                {
                    CustomerId = Guid.NewGuid().ToString(),
                    FirstName  = "Mati",
                    LastName   = "Mesi"
                });
                c.Customers.Add(new Customer
                {
                    CustomerId = Guid.NewGuid().ToString(),
                    FirstName  = "Kati",
                    LastName   = "Kaev"
                });
            }


            c.SaveChanges();
        }
예제 #3
0
        public void UpdateDefaultTraveler(ApplicationUser user, string oldFirstName, string oldLastName)
        {
            var customer = GetDefaultTraveler(oldFirstName, oldLastName);

            customer.FirstName   = user.FirstName;
            customer.LastName    = user.LastName;
            customer.DateOfBirth = user.DateOfBirth;
            customer.Email       = user.Email;
            _context.Customers.Update(customer);
            _context.SaveChanges();
        }
예제 #4
0
        public ActionResult OnPostTripToAccount(ItinerarySearchModel ItinerarySearch)
        {
            var orders = _context.Orders.Include(x => x.Tickets).ThenInclude(x => x.Customer).Include(x => x.OrderItinerary);
            var userId = _userManager.GetUserId(User);

            OrderToAdd = orders.FirstOrDefault(x => x.BookingReference == ItinerarySearch.ItineraryId);

            if (OrderToAdd != null && !_context.Orders.Any(o => o.BookingReference == OrderToAdd.BookingReference))
            {
                OrderToAdd.OrderItinerary.ApplicationUserId = userId;
                _context.Orders.Update(OrderToAdd);
                _context.SaveChanges();
            }

            return(RedirectToPage("/mytickets"));
        }
예제 #5
0
        public ActionResult OnPost(List <Customer> customers)
        {
            var userId = "";

            if (_signInManager.IsSignedIn(User))
            {
                userId = _userManager.GetUserId(User);
                foreach (var savedTraveler in SavedTravelersIds)
                {
                    var traveler = _context.Customers.FirstOrDefault(x => x.CustomerId == savedTraveler);
                    if (traveler != null)
                    {
                        customers.Add(traveler);
                    }
                }
            }

            if (customers != null & customers?.Count > 0)
            {
                customers       = new List <Customer>(_ticketPurchaseService.CustomerCleanup(customers));
                RandomReference = _ticketPurchaseService.GetRandomBookingRef(6);
                while (_context.Orders.FirstOrDefault(x => x.BookingReference == RandomReference) != null)
                {
                    RandomReference = _ticketPurchaseService.GetRandomBookingRef(6);
                }
                Order.OrderItinerary   = _ticketPurchaseService.GetItineraryTicketData();
                Order.BookingReference = RandomReference;
                _ticketPurchaseService.SetOrderData(Order);
                Order.OrderItinerary.ApplicationUserId = userId;
                _context.Orders.Add(Order);
                Order.Tickets = _ticketPurchaseService.GenerateTickets(customers, Order);
                _context.SaveChanges();
                return(RedirectToPage("OrderSuccess", Order.Id));
            }
            else
            {
                return(RedirectToPage("Index"));
            }
        }