Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
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));
        }
Esempio n. 7
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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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());
        }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        //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");
        }
Esempio n. 13
0
        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();
        }
Esempio n. 14
0
        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();
            }
        }
Esempio n. 15
0
        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));
                        }
                    }
                }
            }
        }
Esempio n. 16
0
        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");
            }
        }
Esempio n. 17
0
        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);
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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
        }