Пример #1
0
        public void RefreshSeats()
        {
            if (binSourceBusStation.Count != 0)
            {
                flight = binSourceBusStation.Current as BusinessFlights;
                if (flight.CityStart != null)
                {
                    DateTime dt = DateTime.Now.Date;
                    cbSeats.DataSource = null;
                    BusStationEntities        conect = new BusStationEntities();
                    BusRepository             busrep = new BusRepository();
                    BusinessTicketsRepository btr    = new BusinessTicketsRepository();
                    string BussName = flight.Bus;
                    dt = flight.DepartureDate;
                    int Busid    = busrep.GetAll().Where(p => p.BusName == BussName).Select(p => p.BusId).First();
                    var notSeats = conect.Tickets.Where(p => p.Flights.DepartureDate == dt && p.Flights.BusId == Busid).Select(p => p.SeatId).ToList();
                    int count    = 0;

                    cbSeats.ValueMember   = "SeatId";
                    cbSeats.DisplayMember = "NumberSeat";
                    var tempSeats = Seatsr.GetAll().Where(p => p.BusId == Busid).ToList();
                    while (count < notSeats.Count)
                    {
                        tempSeats = tempSeats.Where(p => p.SeatId != notSeats[count]).ToList();
                        count++;
                    }
                    cbSeats.DataSource = tempSeats;
                }
                else
                {
                    MessageBox.Show("Выберите рейс");
                }
            }
        }
Пример #2
0
        public void RefreshSeats()
        {
            DateTime dt = DateTime.Now.Date;

            cbSeats.DataSource = null;
            BusStationEntities conect = new BusStationEntities();

            flight = binSourceBusStation.Current as BusinessFlights;
            string BussName = flight.Bus;

            dt = flight.DepartureDate;
            int Busid = conect.Buses.Where(p => p.BusName == BussName).Select(p => p.BusId).First();


            var notSeats = conect.Tickets.Where(p => p.Flights.DepartureDate == dt && p.Flights.BusId == Busid).Select(p => p.SeatId).ToList();
            int count    = 0;

            cbSeats.ValueMember   = "SeatId";
            cbSeats.DisplayMember = "NumberSeat";
            var tempSeats = Seatsr.GetAll().Where(p => p.BusId == Busid).ToList();

            while (count < notSeats.Count)
            {
                tempSeats = tempSeats.Where(p => p.SeatId != notSeats[count]).ToList();
                count++;
            }
            cbSeats.DataSource = tempSeats;
        }
Пример #3
0
 public IEnumerable <BusinessTickets> GetAll(BusinessFlights bflights)
 {
     return
         ((from t in context.Tickets
           where t.FlightId == bflights.FlightId
           select new BusinessTickets
     {
         TicketId = t.TicketId,
         ReleaseDate = t.ReleaseDate,
         FlightId = t.FlightId,
         FlightNumber = t.Flights.FlightNumber,
         CityStart = t.Flights.Cities1.CityName,
         CityEnd = t.Flights.Cities.CityName,
         DepartureDate = t.Flights.DepartureDate,
         DepartureTime = t.Flights.DepartureTime,
         ArrivalDate = t.Flights.ArrivalDate,
         ArrivaTime = t.Flights.ArrivaTime,
         Bus = t.Flights.Buses.BusName,
         SeatId = t.SeatId,
         NumberSeat = t.Seats.NumberSeat,
         Price = t.Flights.Price,
         DiscountId = t.DiscountId,
         DiscountName = t.Discounts.DiscountName,
         PriceWithDiscount = t.Flights.Price - (t.Flights.Price * t.Discounts.Size) / 100,
         Sold = t.Sold,
         Reserve = t.Reserve,
         Canceled = t.Canceled
     }
           ).ToList());
 }
Пример #4
0
        private void MetodClearOldDataBase() // Метод для очистки Базы данных от старых рейсов и проданных билетов
        {
            BusinessFlightsRepository bfr = new BusinessFlightsRepository();
            BusinessTicketsRepository btr = new BusinessTicketsRepository();
            BusinessTickets           tic = new BusinessTickets();
            BusinessFlights           fli = new BusinessFlights();
            DateTime NowDate = DateTime.Now.Date;
            int      flag    = 0;

            while (btr.GetAll(NowDate).Count() > 0)
            {
                tic = btr.GetAll(NowDate).First();
                btr.Delete(tic);
                flag = 1;
            }

            while (bfr.GetAll().Where(p => p.ArrivalDate < NowDate).ToList().Count > 0)
            {
                fli = bfr.GetAll().Where(p => p.DepartureDate < NowDate).First();
                bfr.Delete(fli);
                flag = 1;
            }

            if (flag == 1)
            {
                MessageBox.Show("Old Tickets and Flights Deleted");
            }
        }
Пример #5
0
        private List <BusinessTickets> DeleteTicketsFlightsSeats(Buses bus, ref List <BusinessFlights> busFlights, ref List <Seats> listseats)
        {
            List <BusinessTickets>    busTickets    = new List <BusinessTickets>();
            BusinessTickets           obj           = new BusinessTickets();
            BusinessTicketsRepository busTickRep    = new BusinessTicketsRepository();
            BusinessFlights           objFlights    = new BusinessFlights();
            BusinessFlightsRepository busFlightsRep = new BusinessFlightsRepository();
            Seats           seats    = new Seats();
            SeatsRepository seatsrep = new SeatsRepository();

            int countTick   = busTickRep.GetAll(bus).ToList().Count;
            int countFlight = busFlightsRep.GetAll(bus).ToList().Count;
            int countSeat   = seatsrep.GetAll().Where(p => p.BusId == bus.BusId).Count();

            if (countTick > 0)
            {
                while (countTick-- > 0)
                {
                    obj = busTickRep.GetAll(bus).First();
                    busTickets.Add(obj);
                    busTickRep.Delete(obj);
                }

                while (countFlight-- > 0)
                {
                    objFlights = busFlightsRep.GetAll(bus).First();
                    busFlights.Add(objFlights);
                    busFlightsRep.Delete(objFlights);
                }
                flagdelete = 1;
            }

            else
            {
                while (countFlight-- > 0)
                {
                    objFlights = busFlightsRep.GetAll(bus).First();
                    busFlights.Add(objFlights);
                    busFlightsRep.Delete(objFlights);
                }
                flagdelete = 1;
            }

            while (countSeat-- > 0)
            {
                seats = seatsrep.GetAll().Where(p => p.BusId == bus.BusId).First();
                listseats.Add(seats);
                seatsrep.Delete(seats);
            }
            return(busTickets);
        }
Пример #6
0
        private void bSave_Click(object sender, EventArgs e)
        {
            dgvBusStation.EndEdit();
            BusinessFlights           bfl        = binSourceBusStation.Current as BusinessFlights;
            List <BusinessTickets>    busTickets = DeleteTickets(bfl);
            BusinessFlightsRepository bfr        = new BusinessFlightsRepository();

            bfr.Save(bfl);
            if (busTickets.Count > 0)
            {
                BusinessTickets           bustick    = new BusinessTickets();
                BusinessTicketsRepository bustickrep = new BusinessTicketsRepository();
                FlightRepository          newflight  = new FlightRepository();
                for (int i = 0; i < busTickets.Count; i++)
                {
                    bustick.ReleaseDate = busTickets[i].ReleaseDate;
                    bustick.FlightId    = bfl.FlightId /*newflight.GetAll().Select(p => p.FlightId).Last()*/;
                    bustick.SeatId      = busTickets[i].SeatId;
                    bustick.DiscountId  = busTickets[i].DiscountId;
                    bustick.Sold        = busTickets[i].Sold;
                    bustick.Reserve     = busTickets[i].Reserve;
                    bustick.Canceled    = busTickets[i].Canceled;

                    bustickrep.Create(bustick);
                }
            }


            //   Если надо будет изменять все записи этого рейса
            //BusinessFlights bfl2 = bfr.GetAll();
            //int countFlights = bfr.GetAll(bfl1.FlightNumber).ToList().Count();
            //while (countFlights-- > 0)
            //{
            //    bfl2 = bfr.GetAll(bfl1.FlightNumber).First();
            //    listFlights.Add(bfl2);
            //    bfr.Delete(bfl2);
            //}

            //for (int i = 0; i < listFlights.Count; i++)
            //{
            //    bfl2 = listFlights[i];
            //    bfr.Save(GetBusinessFlights(bfl1, bfl2));
            //}

            RefreshBindingSourse();
            MessageBox.Show("Flights Edit");
        }
Пример #7
0
        private List <BusinessTickets> DeleteTickets(BusinessFlights BFlights)
        {
            List <BusinessTickets>    listbusTickets = new List <BusinessTickets>();
            BusinessTickets           obj            = new BusinessTickets();
            BusinessTicketsRepository busTickRep     = new BusinessTicketsRepository();

            int countTick = busTickRep.GetAll(BFlights, 1).ToList().Count;

            while (countTick-- > 0)
            {
                obj = busTickRep.GetAll(BFlights, 1).First();
                listbusTickets.Add(obj);
                busTickRep.Delete(obj);
            }

            return(listbusTickets);
        }
Пример #8
0
        private BusinessFlights GetBusinessFlights(BusinessFlights bfl1, BusinessFlights bfl2)
        {
            return

                (new BusinessFlights
            {
                FlightId = bfl2.FlightId,
                FlightNumber = bfl1.FlightNumber,
                CityIdStart = bfl1.CityIdStart,
                CityIdEnd = bfl1.CityIdEnd,
                DepartureDate = bfl1.DepartureDate,
                DepartureTime = bfl1.DepartureTime,
                ArrivalDate = bfl1.ArrivalDate,
                ArrivaTime = bfl1.ArrivaTime,
                BusId = bfl1.BusId,
                Price = bfl1.Price
            });
        }
Пример #9
0
        private void bAdd_Click(object sender, EventArgs e)
        {
            if (tbFlight_Number.Text != "" && tbPrice.Text != "" && cbBuses.Text != "")
            {
                BusinessFlights bflightspep = new BusinessFlights();

                DateTime countDepartureDate = dtpDepartureDate.Value.Date;
                DateTime countArrivalDate   = dtpArrivalDate.Value.Date;

                bflightspep.FlightNumber = tbFlight_Number.Text;
                bflightspep.CityIdStart  = Convert.ToInt32(cbCityStart.SelectedValue);
                bflightspep.CityIdEnd    = Convert.ToInt32(cbCityEnd.SelectedValue);

                string[] time  = tbDepartureTime.Text.Split(':');
                TimeSpan Ttime = new TimeSpan(Convert.ToInt32(time[0]), Convert.ToInt32(time[1]), Convert.ToInt32(time[2]));
                bflightspep.DepartureTime = Ttime;

                time  = tbArrivalTime.Text.Split(':');
                Ttime = new TimeSpan(Convert.ToInt32(time[0]), Convert.ToInt32(time[1]), Convert.ToInt32(time[2]));
                bflightspep.ArrivaTime = Ttime;

                bflightspep.BusId = Convert.ToUInt16(cbBuses.SelectedValue);
                bflightspep.Price = Convert.ToDecimal(tbPrice.Text);

                while (countDepartureDate <= dtpFinalDateFlight.Value.Date)
                {
                    bflightspep.DepartureDate = countDepartureDate;
                    bflightspep.ArrivalDate   = countArrivalDate;

                    BusinessFlightsRepository bfr = new BusinessFlightsRepository();
                    bfr.Create(bflightspep);

                    countDepartureDate = countDepartureDate.AddDays(1);
                    countArrivalDate   = countArrivalDate.AddDays(1);
                }
                MessageBox.Show("Flights Add");
                RefreshBindingSourse();
            }
            else
            {
                MessageBox.Show("Fill in all the fields");
            }
            RefreshcbBuses();
        }
Пример #10
0
        private List <BusinessTickets> DeleteTicketsANDFlights(Cities city, ref List <BusinessFlights> busFlights)
        {
            List <BusinessTickets>    busTickets    = new List <BusinessTickets>();
            BusinessTickets           obj           = new BusinessTickets();
            BusinessTicketsRepository busTickRep    = new BusinessTicketsRepository();
            BusinessFlights           objFlights    = new BusinessFlights();
            BusinessFlightsRepository busFlightsRep = new BusinessFlightsRepository();
            int countTick   = busTickRep.GetAll(city).ToList().Count;
            int countFlight = busFlightsRep.GetAll(city).ToList().Count;

            if (countTick > 0)
            {
                while (countTick-- > 0)
                {
                    obj = busTickRep.GetAll(city).First();
                    busTickets.Add(obj);
                    busTickRep.Delete(obj);
                }

                while (countFlight-- > 0)
                {
                    objFlights = busFlightsRep.GetAll(city).First();
                    busFlights.Add(objFlights);
                    busFlightsRep.Delete(objFlights);
                }
                flagdelete = 1;
            }
            else
            {
                while (countFlight-- > 0)
                {
                    objFlights = busFlightsRep.GetAll(city).First();
                    busFlights.Add(objFlights);
                    busFlightsRep.Delete(objFlights);
                }
                flagdelete = 1;
            }
            return(busTickets);
        }
Пример #11
0
        private void bDelete_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Удалить   запись?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (result.ToString() == "Yes")
            {
                BusinessFlights bflights = binSourceBusStation.Current as BusinessFlights;

                BusinessTicketsRepository btr = new BusinessTicketsRepository();
                BusinessTickets           tic = new BusinessTickets();
                if (btr.GetAll(bflights).Count() > 0)
                {
                    result = MessageBox.Show("На этот рейс проданы билеты, билеты будут удалены, УДАЛИТЬ ЗАПИСЬ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                    if (result.ToString() == "Yes")
                    {
                        while (btr.GetAll(bflights).Count() > 0)
                        {
                            tic = btr.GetAll(bflights).First();
                            btr.Delete(tic);
                        }
                        BusinessFlightsRepository bfr = new BusinessFlightsRepository();
                        bfr.Delete(bflights);
                        MessageBox.Show("Flight Delete");
                        RefreshBindingSourse();
                        RefreshcbBuses();
                    }
                }

                else
                {
                    BusinessFlightsRepository bfr = new BusinessFlightsRepository();
                    bfr.Delete(bflights);
                    MessageBox.Show("Flight Delete");
                    RefreshBindingSourse();
                    RefreshcbBuses();
                }
            }
        }
Пример #12
0
        private void EditBus()
        {
            listSeats.Clear();
            Buses                  bus           = binSourceBusStation.Current as Buses;
            BusRepository          busrep        = new BusRepository();
            List <TempFlightId>    listFlightId2 = new List <TempFlightId>();
            List <TempSeatId>      listSeatId    = new List <TempSeatId>();
            List <BusinessTickets> busTicketsB   = DeleteTicketsFlightsSeats(bus, ref listbusFlights, ref listSeats);

            busrep.Delete(bus);

            Buses newbus = new Buses();

            newbus.BusName     = bus.BusName;
            newbus.CountSeats  = bus.CountSeats;
            newbus.Information = bus.Information;
            busrep.Create(newbus);

            if (listbusFlights.Count > 0)
            {
                BusinessFlights           busFlight;
                BusinessFlightsRepository busFlightrep = new BusinessFlightsRepository();
                TempFlightId ekz;
                for (int i = 0; i < listbusFlights.Count; i++)
                {
                    busFlight = new BusinessFlights();
                    ekz       = new TempFlightId();
                    busFlight.FlightNumber  = listbusFlights[i].FlightNumber;
                    busFlight.CityIdStart   = listbusFlights[i].CityIdStart;
                    busFlight.CityIdEnd     = listbusFlights[i].CityIdEnd;
                    busFlight.DepartureDate = listbusFlights[i].DepartureDate;
                    busFlight.DepartureTime = listbusFlights[i].DepartureTime;
                    busFlight.ArrivalDate   = listbusFlights[i].ArrivalDate;
                    busFlight.ArrivaTime    = listbusFlights[i].ArrivaTime;
                    busFlight.BusId         = listbusFlights[i].BusId == bus.BusId ? newbus.BusId : listbusFlights[i].BusId;
                    busFlight.Price         = listbusFlights[i].Price;
                    busFlightrep.Create(busFlight);

                    FlightRepository newflight = new FlightRepository();
                    ekz.oldId = listbusFlights[i].FlightId;
                    ekz.newId = newflight.GetAll().Select(p => p.FlightId).Last();
                    listFlightId2.Add(ekz);
                }
            }


            SeatsRepository seatrep = new SeatsRepository();
            TempSeatId      ekzseat;

            for (int i = 0; i < newbus.CountSeats; i++)
            {
                Seats seat = new Seats();
                ekzseat         = new TempSeatId();
                seat.BusId      = newbus.BusId;
                seat.NumberSeat = i + 1;
                seatrep.Create(seat);

                SeatsRepository newSeat = new SeatsRepository();
                ekzseat.oldId = i < listSeats.Count ? listSeats[i].SeatId : 0;
                ekzseat.newId = newSeat.GetAll().Select(p => p.SeatId).Last();
                listSeatId.Add(ekzseat);
            }

            if (busTicketsB.Count > 0)
            {
                BusinessTickets           bustick;
                BusinessTicketsRepository bustickrep = new BusinessTicketsRepository();
                for (int i = 0; i < busTicketsB.Count; i++)
                {
                    bustick = new BusinessTickets();
                    for (int j = 0; j < listFlightId2.Count; j++)
                    {
                        if (busTicketsB[i].FlightId == listFlightId2[j].oldId)
                        {
                            bustick.FlightId = listFlightId2[j].newId;
                            break;
                        }
                    }
                    for (int k = 0; k < listSeatId.Count; k++)
                    {
                        if (busTicketsB[i].SeatId == listSeatId[k].oldId)
                        {
                            bustick.SeatId = listSeatId[k].newId;
                            break;
                        }
                    }
                    bustick.ReleaseDate = busTicketsB[i].ReleaseDate;
                    bustick.DiscountId  = busTicketsB[i].DiscountId;
                    bustick.Sold        = busTicketsB[i].Sold;
                    bustick.Reserve     = busTicketsB[i].Reserve;
                    bustick.Canceled    = busTicketsB[i].Canceled;

                    bustickrep.Create(bustick);
                }
            }

            MessageBox.Show("Bus Edit");
        }
Пример #13
0
        private void EditCity()
        {
            listbusFlights.Clear();
            Cities                 city         = binSourceBusStation.Current as Cities;
            CitiRepository         cityrep      = new CitiRepository();
            List <TempFlightId>    listFlightId = new List <TempFlightId>();
            List <BusinessTickets> busTicketsC  = DeleteTicketsANDFlights(city, ref listbusFlights);

            cityrep.Delete(city);

            Cities newcity = new Cities();

            newcity.CityName    = city.CityName;
            newcity.Information = city.Information;
            cityrep.Create(newcity);

            if (listbusFlights.Count > 0)
            {
                BusinessFlights           busFlight;
                BusinessFlightsRepository busFlightrep = new BusinessFlightsRepository();
                TempFlightId ekz;
                for (int i = 0; i < listbusFlights.Count; i++)
                {
                    busFlight = new BusinessFlights();
                    ekz       = new TempFlightId();
                    busFlight.FlightNumber  = listbusFlights[i].FlightNumber;
                    busFlight.CityIdStart   = listbusFlights[i].CityIdStart == city.CityId ? newcity.CityId : listbusFlights[i].CityIdStart;
                    busFlight.CityIdEnd     = listbusFlights[i].CityIdEnd == city.CityId ? newcity.CityId : listbusFlights[i].CityIdEnd;
                    busFlight.DepartureDate = listbusFlights[i].DepartureDate;
                    busFlight.DepartureTime = listbusFlights[i].DepartureTime;
                    busFlight.ArrivalDate   = listbusFlights[i].ArrivalDate;
                    busFlight.ArrivaTime    = listbusFlights[i].ArrivaTime;
                    busFlight.BusId         = listbusFlights[i].BusId;
                    busFlight.Price         = listbusFlights[i].Price;
                    busFlightrep.Create(busFlight);

                    FlightRepository newflight = new FlightRepository();
                    ekz.oldId = listbusFlights[i].FlightId;
                    ekz.newId = newflight.GetAll().Select(p => p.FlightId).Last();
                    listFlightId.Add(ekz);
                }
            }
            if (busTicketsC.Count > 0)
            {
                BusinessTickets           bustick;
                BusinessTicketsRepository bustickrep = new BusinessTicketsRepository();
                for (int i = 0; i < busTicketsC.Count; i++)
                {
                    bustick = new BusinessTickets();
                    for (int j = 0; j < listFlightId.Count; j++)
                    {
                        if (busTicketsC[i].FlightId == listFlightId[j].oldId)
                        {
                            bustick.FlightId = listFlightId[j].newId;
                            break;
                        }
                    }
                    bustick.ReleaseDate = busTicketsC[i].ReleaseDate;
                    bustick.SeatId      = busTicketsC[i].SeatId;
                    bustick.DiscountId  = busTicketsC[i].DiscountId;
                    bustick.Sold        = busTicketsC[i].Sold;
                    bustick.Reserve     = busTicketsC[i].Reserve;
                    bustick.Canceled    = busTicketsC[i].Canceled;

                    bustickrep.Create(bustick);
                }
            }

            MessageBox.Show("City Edit");
        }