Exemple #1
0
 public static void DeleteFlight(TripModel flight)
 {
     foreach (var p in flight.PassengersList)
     {
         PassengersViewModel.DeletePassenger(p, flight);
     }
 }
 private void DeletePassenger()
 {
     if (SelectedPassenger != null)
     {
         PassengersViewModel.DeletePassenger(SelectedPassenger, SelectedFlight);
         if (SelectedFlight.DepOrArrFlag.Equals("departure"))
         {
             int n = Departures.IndexOf(SelectedFlight);
             Departures[n].PassengersList.Remove(SelectedPassenger);
             ShowFlightDetails("departure");
         }
         else
         {
             int n = Arrivals.IndexOf(SelectedFlight);
             Arrivals[n].PassengersList.Remove(SelectedPassenger);
             ShowFlightDetails("arrival");
         }
     }
 }
        private void AddPassenger()
        {
            PassengersInFlightModel NewPassenger = PassengersViewModel.AddNewPassenger(SelectedFlight, " ");

            if (NewPassenger != null)
            {
                if (SelectedFlight.DepOrArrFlag.Equals("departure"))
                {
                    int n = Departures.IndexOf(SelectedFlight);
                    Departures[n].PassengersList.Add(NewPassenger);
                    ShowFlightDetails("departure");
                }
                else
                {
                    int n = Arrivals.IndexOf(SelectedFlight);
                    Arrivals[n].PassengersList.Add(NewPassenger);
                    ShowFlightDetails("arrival");
                }
            }
        }
        public MainWindow()
        {
            InitializeComponent();
            PassengersVM = new PassengersViewModel();
            FlightsVM    = new FlightsViewModel();

            // Загрузка с файла
            FileService.Load((TicketsVM as TicketsViewModel).Tickets,
                             (PassengersVM as PassengersViewModel).Passengers,
                             (FlightsVM as FlightsViewModel).Flights);

            // Для поиска
            foreach (var p in (PassengersVM as PassengersViewModel).Passengers)
            {
                (PassengersVM as PassengersViewModel).InvertedList.Add(p.FIO, p.Passport);
            }

            // Связь событий с другими станицами
            (FlightsVM as FlightsViewModel).AddFlight    += (TicketsVM as TicketsViewModel).OnAddFlight;
            (FlightsVM as FlightsViewModel).DeleteFlight += (TicketsVM as TicketsViewModel).OnDeleteFlight;
            (FlightsVM as FlightsViewModel).ClearFlight  += (TicketsVM as TicketsViewModel).OnClearFlight;
        }
        private void EditPassengerData()
        {
            PassengersInFlightModel newData = PassengersViewModel.EditPassengerData(SelectedPassenger, SelectedFlight, "");

            if (newData != null)
            {
                newData.Id   = SelectedPassenger.Id;
                newData.Date = SelectedPassenger.Date;
                if (SelectedFlight.DepOrArrFlag.Equals("departure"))
                {
                    int n = Departures.IndexOf(SelectedFlight);
                    int m = Departures[n].PassengersList.IndexOf(SelectedPassenger);
                    Departures[n].PassengersList.RemoveAt(m);
                    Departures[n].PassengersList.Insert(m, newData);
                }
                else
                {
                    int n = Arrivals.IndexOf(SelectedFlight);
                    int m = Arrivals[n].PassengersList.IndexOf(SelectedPassenger);
                    Arrivals[n].PassengersList.RemoveAt(m);
                    Arrivals[n].PassengersList.Insert(m, newData);
                }
            }
        }
Exemple #6
0
        //private static List<string> Cities { get; set; } = new List<string>(GetAllDepCities());

        public static void GetFlights(string city, string company, ref List <TripModel> deps, ref List <TripModel> arrs)
        {
            List <Trip> flights = new List <Trip>(DAL.GetData.GetTripsInTripTable(city, company));

            flightsModels = new List <TripModel>();
            List <Company> companies = new List <Company>(GetAllCompanies());

            foreach (var t in flights)
            {
                ObservableCollection <PassengersInFlightModel> passList = new ObservableCollection <PassengersInFlightModel>(PassengersViewModel.GetPassengersInTrip(t.trip_no));
                List <string> tripDates = new List <string>();
                foreach (var p in passList)
                {
                    tripDates.Add(p.Date);
                }
                tripDates.Distinct().ToList().ForEach(tripDate =>
                {
                    if ((city != null && company == null) || (city != null && company != null))
                    {
                        if (t.town_from.Trim() == city)
                        {
                            flightsModels.Add(new TripModel(t.trip_no, tripDate, new CompanyModel(GetAllCompanies().Where(c => c.ID_comp == t.ID_comp).FirstOrDefault()), t.plane.Trim(), t.town_from.Trim(), t.town_to.Trim(), t.time_out, t.time_in, "departure", passList));
                        }
                        else if (t.town_to.Trim() == city)
                        {
                            flightsModels.Add(new TripModel(t.trip_no, tripDate, new CompanyModel(GetAllCompanies().Where(c => c.ID_comp == t.ID_comp).FirstOrDefault()), t.plane.Trim(), t.town_from.Trim(), t.town_to.Trim(), t.time_out, t.time_in, "arrival", passList));
                        }
                    }
                    else if (city == null && company != null || city == null && company == null)
                    {
                        flightsModels.Add(new TripModel(t.trip_no, tripDate, new CompanyModel(GetAllCompanies().Where(c => c.ID_comp == t.ID_comp).FirstOrDefault()), t.plane.Trim(), t.town_from.Trim(), t.town_to.Trim(), t.time_out, t.time_in, null, passList));
                    }
                });
            }

            foreach (TripModel f in flightsModels)
            {
                if (f.DepOrArrFlag.Equals("departure"))
                {
                    deps.Add(f);
                }
                else
                {
                    arrs.Add(f);
                }
            }
        }
 public PassengersView()
 {
     InitializeComponent();
     DataContext = new PassengersViewModel();
 }
        public ActionResult RequestRide(PassengersViewModel model)
        {
            if (ModelState.IsValid)
            {
                User user = System.Web.HttpContext.Current.GetOwinContext()
                            .GetUserManager <ApplicationUserManager>()
                            .FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());

                Passenger passenger = _passengerRepository.GetPassengerByUser(user.Id);


                Payment payment = new Payment()
                {
                    PassengerId   = passenger.Id,
                    PaymentTypeId = _paymentTypeRepository.Find(p => p.Name == model.PaymentType).SingleOrDefault().Id,
                };
                //will be changed in the future for Debit and Credit Cards
                if (!model.PaymentType.Equals("Cash"))
                {
                    payment.Payed = true;
                }

                payment.Amount = model.Distance * _vehicleTypeRepository.Find(p => p.Name == model.VehicleType).SingleOrDefault().FareRate;

                Ride ride = new Ride()
                {
                    StartLocation = model.StartLocation,
                    EndLocation   = model.EndLocation,
                    PassengerId   = passenger.Id,
                    RideStatus    = RideStatus.NotAccepted,
                    Payment       = payment,
                    VehicleTypeId = _vehicleTypeRepository.Find(v => v.Name == model.VehicleType).SingleOrDefault().Id
                };

                _paymentRepository.Add(payment);
                _rideRepository.Add(ride);

                return(RedirectToAction("RideOnGoing"));
            }

            else
            {
                var VehicleTypesList = new List <SelectListItem>();
                var vehicleTypes     = _vehicleTypeRepository.GetAll();

                foreach (var vT in vehicleTypes)
                {
                    VehicleTypesList.Add(new SelectListItem()
                    {
                        Value = vT.Name, Text = vT.Name
                    });
                }

                ViewBag.VehicleTypes = VehicleTypesList;


                var PaymentTypesList = new List <SelectListItem>();
                var paymentTypes     = _paymentTypeRepository.GetAll();
                foreach (var pT in paymentTypes)
                {
                    PaymentTypesList.Add(new SelectListItem()
                    {
                        Value = pT.Name, Text = pT.Name
                    });
                }

                string Error = "";

                //add model error here

                ViewBag.PaymentTypes = PaymentTypesList;
                ModelState.AddModelError("", Error);
            }
            return(View(model));
        }