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("Выберите рейс"); } } }
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; }
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()); }
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"); } }
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); }
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"); }
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); }
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 }); }
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(); }
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); }
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(); } } }
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"); }
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"); }