public static TimeSpan OraAjungAvionStatie(string Avion, string Statie) { var context = new AvioaneDataContext(); var RutaAvion = StatiiRutaAvion(Avion); int total = 0; if (RutaAvion.ToList().ElementAt(0) != Statie) { for (var i = 1; i < RutaAvion.Count; i++) { total += GetDistantaIntreStatii(RutaAvion.ToList().ElementAt(i), RutaAvion.ToList().ElementAt(i - 1)); if (RutaAvion.ToList().ElementAt(i) == Statie) { break; } } } var viteza_ora = from c in context.Avioanes where c.Nume.Equals(Avion) select new { c.Viteza_medie, c.Ora_inceput }; TimeSpan ajung = (TimeSpan)viteza_ora.ToList().ElementAt(0).Ora_inceput; ajung = ajung + TimeSpan.FromHours((double)total / (double)viteza_ora.ToList().ElementAt(0).Viteza_medie); return(ajung); }
public static int NumarLocuriLibereLaDestinatie(string NumeAvion, string Data, string Destinatie) { var context = new AvioaneDataContext(); int LocuriOcupate = 0; var RutaAvion = StatiiRutaAvion(NumeAvion); foreach (var statie in RutaAvion) { var SeUrcaStatiaX = from c in context.Biletes join v in context.Avioanes on c.ID_Avion equals v.ID_Avion where (v.Nume.Equals(NumeAvion)) && (c.Data.Equals(Data)) && (c.Destinatie_1.Equals(statie)) select c.ID_Bilet; var SeDauJosStatiaX = from c in context.Biletes join v in context.Avioanes on c.ID_Avion equals v.ID_Avion where (v.Nume.Equals(NumeAvion)) && (c.Data.Equals(Data)) && (c.Destinatie_2.Equals(statie)) select c.ID_Bilet; LocuriOcupate += SeUrcaStatiaX.Count(); LocuriOcupate -= SeDauJosStatiaX.Count(); if (statie == Destinatie) { break; } } return(CapacitateAvion(NumeAvion) - LocuriOcupate); }
public static List <int> AvioaneCeTrecPrinStatie(string NumeStatie) { var context = new AvioaneDataContext(); List <int> result = new List <int>(); var RuteCuStX = from c in context.Rutes join o in context.Compozitie_Rutes on c.ID_Ruta equals o.ID_Ruta join w in context.Destinatiis on o.ID_Destinatie equals w.ID_Destinatie where w.Nume.Equals(NumeStatie) select c.ID_Ruta; foreach (var i in RuteCuStX) { var AvioaneInX = from c in context.Avioanes where c.ID_Ruta.Equals(i) select c.ID_Avion; foreach (var avi in AvioaneInX) { if (!result.Contains(avi)) { result.Add(avi); } } } return(result); }
private void button1_Click(object sender, EventArgs e) { var contex = new AvioaneDataContext(); string optiuni = ""; var calator = (from c in contex.Calatoris where c.ID_Calator.Equals(this.ClientId) select c).First(); calator.Adresa = this.textBox1.Text; calator.Telefon = this.textBox2.Text; calator.Detalii_Buletin = this.textBox3.Text; var bilete = from c in contex.Biletes where c.ID_Calator.Equals(this.ClientId) select c; foreach (var item in bilete) { item.Checkin = 1; foreach (var itemChecked in checkedListBox1.CheckedItems) { optiuni += itemChecked.ToString(); optiuni += " "; } item.Optiuni = optiuni; var id_avion = (from c in contex.Biletes where c.ID_Bilet.Equals(item.ID_Bilet) select c.ID_Avion).First(); item.Loc = get_loc(Convert.ToInt32(id_avion), item.Data.ToString()); contex.SubmitChanges(); } this.Close(); }
public static string GetNumeAvion(int ID) { var context = new AvioaneDataContext(); var id = from c in context.Avioanes where c.ID_Avion.Equals(ID) select c.Nume; return((string)id.ToList().ElementAt(0)); }
public static string GetStatieName(int ID) { var context = new AvioaneDataContext(); var id = from c in context.Destinatiis where c.ID_Destinatie.Equals(ID) select c.Nume; return((string)id.ToList().ElementAt(0)); }
public static int GetIdStatie(string statiei) { var context = new AvioaneDataContext(); var statie = (from c in context.Destinatiis where c.Nume.Equals(statiei) select c).First(); return(statie.ID_Destinatie); }
private int get_loc(int avion_id, string data) { var context = new AvioaneDataContext(); var max_loc_avion = (from c in context.Avioanes join v in context.Biletes on c.ID_Avion equals v.ID_Avion where v.Data.Equals(Convert.ToDateTime(data)) orderby v.Loc select v.Loc); return(Convert.ToInt32(max_loc_avion.ToList().Last()) + 1); }
public static List <string> StatiiRutaAvion(string Avion) { var context = new AvioaneDataContext(); var RutaAvion = from c in context.Avioanes join v in context.Rutes on c.ID_Ruta equals v.ID_Ruta join b in context.Compozitie_Rutes on v.ID_Ruta equals b.ID_Ruta join n in context.Destinatiis on b.ID_Destinatie equals n.ID_Destinatie where c.Nume.Equals(Avion) select n.Nume; return(RutaAvion.ToList()); }
public static int CapacitateAvion(string Avion) { var context = new AvioaneDataContext(); var Capacitate = from c in context.Avioanes where c.Nume.Equals(Avion) select c.Capacitate; if (Capacitate.ToList().ElementAt(0).HasValue) { return((int)Capacitate.ToList().ElementAt(0)); } else { return(-1); } }
public int Calcul_Pret() { var context = new AvioaneDataContext(); preturi = new List <int>(); int result = 0; foreach (DataRow item in BileteF2.Rows) { var viteza = (from c in context.Avioanes where c.ID_Avion.Equals(Convert.ToInt32(item["Zbor_Nr"].ToString())) select c.Viteza_medie).First(); int dist = Utility.GetDistantaIntreStatii(item["Destinatie1"].ToString(), item["Destinetie2"].ToString()); result = result + Convert.ToInt32(viteza) * dist; this.preturi.Add(Convert.ToInt32(viteza) * dist); } return(result); }
//alfa= tabel ce va tine biletele pentru a le transmite altui form public Form1() { InitializeComponent(); this.dataGridView1.ReadOnly = true; var context = new AvioaneDataContext(); var results = from c in context.Destinatiis select c.Nume; foreach (var result in results) { this.Dest1C.Items.Add(result); this.Dest2C.Items.Add(result); } alfa.Columns.Add("Zbor_Nr"); alfa.Columns.Add("Destinatie1"); alfa.Columns.Add("Ora1"); alfa.Columns.Add("Destinetie2"); alfa.Columns.Add("Ora2"); }
private void button1_Click(object sender, EventArgs e) { Utility.Adauga_Bilete(grafF2.StatiiFinale, Data, this.textBox1.Text, this.textBox3.Text, this.textBox2.Text); var contex = new AvioaneDataContext(); var bilete = from c in contex.Calatoris join v in contex.Biletes on c.ID_Calator equals v.ID_Calator where c.CNP.Equals(this.textBox2.Text) select v; int i = 0; foreach (var item in bilete) { item.Pret = preturi.ElementAt(i); item.Loc = 0; contex.SubmitChanges(); i++; } this.Close(); }
private void button1_Click(object sender, EventArgs e) { var context = new AvioaneDataContext(); int ok = 1; var client = from c in context.Calatoris where (c.CNP == this.textBox3.Text && c.Nume == this.textBox1.Text && c.Prenume == this.textBox2.Text) select c; if (client.ToList().Count != 0) { var bileteok = from c in context.Biletes where (c.ID_Calator == client.ToList().First().ID_Calator&& (c.Data > Convert.ToDateTime(this.textBox4.Text))) select c; foreach (var item in bileteok) { if (TimeSpan.Compare((DateTime)item.Data - Convert.ToDateTime(this.textBox4.Text), new TimeSpan(24 * 3, 0, 0)) < 0) { ok = 0; break; } } if (ok == 0) { MessageBox.Show("Nu se poate face checkin mai devreme de 3 zi"); } else { var id = from c in context.Calatoris where c.CNP.Equals(this.textBox3.Text) select c; Form form4 = new Form4(Convert.ToInt32(id.ToList().First().ID_Calator)); form4.ShowDialog(); this.Close(); } } else { MessageBox.Show("Data Gresite"); this.Close(); } }
public Graf() { StatiiFinale = new List <Tuple <int, int, int, TimeSpan> >(); ok = 0; var context = new AvioaneDataContext(); var Destinatii = from c in context.Destinatiis select c.ID_Destinatie; var Rute = from c in context.Rutes select c.ID_Ruta; Compozitie = new List <List <List <int> > >(); for (int i = 0; i <= Destinatii.ToList().Count; i++) { Compozitie.Add(new List <List <int> >()); for (int j = 0; j <= Destinatii.ToList().Count; j++) { Compozitie.ElementAt(i).Add(new List <int>()); } } foreach (var indruta in Rute) { var PeUndeTrece = from c in context.Rutes join v in context.Compozitie_Rutes on c.ID_Ruta equals v.ID_Ruta where v.ID_Ruta.Equals(indruta) select v.ID_Destinatie; var AvioaneCuRutaX = from c in context.Avioanes join v in context.Rutes on c.ID_Ruta equals v.ID_Ruta where v.ID_Ruta.Equals(indruta) select c.ID_Avion; for (int i = 1; i < PeUndeTrece.ToList().Count; i++) { for (int j = 0; j < AvioaneCuRutaX.ToList().Count; j++) { if (!Compozitie.ElementAt(PeUndeTrece.ToList().ElementAt(i - 1)).ElementAt(PeUndeTrece.ToList().ElementAt(i)).Contains(AvioaneCuRutaX.ToList().ElementAt(j))) { Compozitie.ElementAt(PeUndeTrece.ToList().ElementAt(i - 1)).ElementAt(PeUndeTrece.ToList().ElementAt(i)).Add(AvioaneCuRutaX.ToList().ElementAt(j)); } } } } }
private void CautaB_Click(object sender, EventArgs e) { this.alfa.Clear(); this.CumparaB.Enabled = true; var context = new AvioaneDataContext(); graf = new Graf(); string statie1 = this.Dest1C.Text; string statie2 = this.Dest2C.Text; graf.Dijkstra_Modificat(Utility.GetIdStatie(statie1), Utility.GetIdStatie(statie2), Convert.ToDateTime(this.dateTimePicker1.Text).ToString()); List <Bilete> Posibile = Utility.Afiseaza_posibile_bilete(graf.StatiiFinale, Convert.ToDateTime(this.dateTimePicker1.Text).ToString()); for (int i = 0; i < Posibile.Count; i++) { alfa.Rows.Add(Posibile.ElementAt(i).ID_Avion.ToString(), Posibile.ElementAt(i).Destinatie_1.ToString(), Posibile.ElementAt(i).Ora_Decolare.ToString(), Posibile.ElementAt(i).Destinatie_2.ToString(), Posibile.ElementAt(i).Ora_Aterizare.ToString()); } this.dataGridView1.DataSource = alfa; int nok = 0; foreach (var item in Posibile) { var dateREV = from c in context.Avioanes where (c.Data_Reciclare < (item.Data) && c.ID_Avion.Equals(item.ID_Avion)) select c; if (dateREV.ToList().Count != 0) { nok = 1; break; } } if (nok == 1) { this.CumparaB.Enabled = false; MessageBox.Show("Exista avioane in service la acea data. Reprogramati"); } }
public static int Verif_data_reciclare(string date, int avion) { var context = new AvioaneDataContext(); var data = from c in context.Avioanes where c.ID_Avion.Equals(avion) select c.Data_Reciclare; DateTime DataBilet = Convert.ToDateTime(date); // DateTime DataBilet = new DateTime(Int32.Parse (date.Split(new char[] { '-'}).ElementAt(0)), // Int32.Parse( date.Split(new char[] { '-'}).ElementAt(1)) // ,Int32.Parse(date.Split(new char[] { '-'}).ElementAt(2)) // ); if (DataBilet >= data.ToList().ElementAt(0)) { return(0); } else { return(1); } }
public static int GetDistantaIntreStatii(string statie1, string statie2) { int distance = 0; var context = new AvioaneDataContext(); var c1 = from c in context.Destinatiis where c.Nume.Equals(statie1) select new { c.Pozitie_x, c.Pozitie_y }; var c2 = from c in context.Destinatiis where c.Nume.Equals(statie2) select new { c.Pozitie_x, c.Pozitie_y }; double dx = (double)c1.ToList().ElementAt(0).Pozitie_x - (double)c2.ToList().ElementAt(0).Pozitie_x; double dy = (double)c1.ToList().ElementAt(0).Pozitie_y - (double)c2.ToList().ElementAt(0).Pozitie_y; distance = (int)Math.Floor(Math.Sqrt(dx * dx + dy * dy)); return(distance); }
public static void Adauga_Bilete(List <Tuple <int, int, int, TimeSpan> > statii, string data, string NumeClient, string Prenume, string CNPclient) { statii.Reverse(); var context = new AvioaneDataContext(); int OkBilet = 1; for (int j = 0; j < statii.Count; j++) { if (Verif_data_reciclare(data, statii.ElementAt(j).Item3) == 0) { OkBilet = 0; break; } } if (OkBilet == 1) { //fac un client nou cu numele si prenumele //daca acesta nu si-a cumparad deja bilete pentru o a alta data var Cnp_De_Cautat = from c in context.Calatoris where c.CNP.Equals(CNPclient) select c.CNP; if (Cnp_De_Cautat.ToList().Count == 0) { var client1 = new Calatori { Nume = NumeClient, Prenume = Prenume, CNP = CNPclient }; context.Calatoris.InsertOnSubmit(client1); context.SubmitChanges(); } var IDulCalatorIntrodus = from c in context.Calatoris where c.CNP.Equals(CNPclient) select c.ID_Calator; using (var scope = new TransactionScope()) { try { int i = 0; int sc1 = 0; int sc2 = 0; while (i < statii.Count - 1) { if (statii.ElementAt(i).Item3 != statii.ElementAt(i + 1).Item3&&i != 0) { sc2 = i; //fac bilet var bilet1 = new Bilete { ID_Avion = statii.ElementAt(sc2).Item3, Data = Convert.ToDateTime(data), Cod = Utility.GetRandomNumber(), Destinatie_1 = Utility.GetStatieName(statii.ElementAt(sc1).Item1), Destinatie_2 = Utility.GetStatieName(statii.ElementAt(sc2).Item1), Ora_Decolare = statii.ElementAt(sc1).Item4, Ora_Aterizare = statii.ElementAt(sc2).Item4, ID_Calator = Convert.ToInt32(IDulCalatorIntrodus.First()) }; context.Biletes.InsertOnSubmit(bilet1); sc1 = sc2; } if (i == statii.Count - 2) { //fac bilet var bilet1 = new Bilete { ID_Avion = statii.ElementAt(i + 1).Item3, Data = Convert.ToDateTime(data), Cod = Utility.GetRandomNumber(), Destinatie_1 = Utility.GetStatieName(statii.ElementAt(sc1).Item1), Destinatie_2 = Utility.GetStatieName(statii.ElementAt(i + 1).Item1), Ora_Decolare = statii.ElementAt(sc1).Item4, Ora_Aterizare = statii.ElementAt(i + 1).Item4, ID_Calator = Convert.ToInt32(IDulCalatorIntrodus.First()) }; context.Biletes.InsertOnSubmit(bilet1); //context.SubmitChanges(); } i++; } context.SubmitChanges(); scope.Complete(); } catch { scope.Dispose(); var client = from c in context.Calatoris where c.CNP.Equals(CNPclient) select c; context.Calatoris.DeleteOnSubmit(client.First()); context.SubmitChanges(); } } } statii.Reverse(); //daca a m ok la bilete fac un client cu numele si prenumele //asignez la bilete clientul acela //dau submit // altfel dau rollbak }