public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }
            if (this.GetHashCode() != obj.GetHashCode())
            {
                return(false);
            }
            // System.Diagnostics.Debug.Assert(base.GetType() != typeof(object)); // check base.Equals() if base overides Equals()
            //if (!base.Equals(obj))
            //   return false;
            RutaAeriana ruta = obj as RutaAeriana;

            return(this.AeroportAterizare.Equals(ruta.AeroportAterizare) &&
                   this.AeroportDecolare.Equals(ruta.AeroportDecolare));
        }
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            RutaAeriana ruta         = null;
            TreeNode    selectedNode = tvDiscounts.SelectedNode;

            if (selectedNode == null)
            {
                return;
            }
            while (tvDiscounts.SelectedNode.Parent != null)
            {
                tvDiscounts.SelectedNode = tvDiscounts.SelectedNode.Parent;
            }
            ruta = (RutaAeriana)tvDiscounts.SelectedNode.Tag;
            if (selectedNode.Tag is IDiscount)
            {
                if (companie.StergeDiscount(ruta, (IDiscount)selectedNode.Tag))
                {
                    tvDiscounts.Nodes.Clear();
                    InitDiscountTree();
                }
            }
            else if (selectedNode.Tag is RutaAeriana)
            {
                if (companie.StergeDiscounturi(ruta))
                {
                    tvDiscounts.Nodes.Clear();
                    InitDiscountTree();
                }
            }
        }
Exemple #3
0
 public Rezervare(RutaAeriana ruta, ZborBasic zbor, int nrBilete,
                  Persoana persoana)
 {
     RutaAeriana = ruta;
     Zbor        = zbor;
     NumarBilete = nrBilete;
     Rezervant   = persoana;
 }
        public object Clone()
        {
            RutaAeriana ruta = new RutaAeriana();

            ruta.AeroportDecolare  = (Aeroport)this.AeroportDecolare.Clone();
            ruta.AeroportAterizare = (Aeroport)this.AeroportAterizare.Clone();
            return(ruta);
        }
Exemple #5
0
        public object Clone()
        {
            Rezervare rez = (Rezervare)this.MemberwiseClone();

            rez.RutaAeriana = (RutaAeriana)RutaAeriana.Clone();
            rez.Zbor        = (Zbor)Zbor.Clone();
            rez.Rezervant   = (Persoana)Rezervant.Clone();
            return(rez);
        }
        public void SetRuta(RutaAeriana ruta)
        {
            cbTaraDec.SelectedIndex  = cbTaraDec.Items.IndexOf(ruta.AeroportDecolare.Tara);
            cbOrasDec.SelectedIndex  = cbOrasDec.Items.IndexOf(ruta.AeroportDecolare.Oras);
            cbAeropDec.SelectedIndex = cbAeropDec.Items.IndexOf(ruta.AeroportDecolare);

            cbTaraAter.SelectedIndex  = cbTaraAter.Items.IndexOf(ruta.AeroportAterizare.Tara);
            cbOrasAter.SelectedIndex  = cbOrasAter.Items.IndexOf(ruta.AeroportAterizare.Oras);
            cbAeropAter.SelectedIndex = cbAeropAter.Items.IndexOf(ruta.AeroportAterizare);
        }
Exemple #7
0
        public int CompareTo(object obj)
        {
            if (obj == null)
            {
                return(1);
            }
            Rezervare rezervare = obj as Rezervare;

            if (rezervare != null)
            {
                if (numarBilete == rezervare.numarBilete)
                {
                    if (Rezervant.CompareTo(rezervare.Rezervant) == 0)
                    {
                        if (RutaAeriana.CompareTo(rezervare.RutaAeriana) == 0)
                        {
                            if (Zbor.CompareTo(rezervare.Zbor) == 0)
                            {
                                return(0);
                            }
                            else
                            {
                                return(Zbor.CompareTo(rezervare.Zbor));
                            }
                        }
                        else
                        {
                            return(RutaAeriana.CompareTo(rezervare.RutaAeriana));
                        }
                    }
                    else
                    {
                        return(Rezervant.CompareTo(rezervare.Rezervant));
                    }
                }
                else
                {
                    return(numarBilete.CompareTo(rezervare.numarBilete));
                }
            }
            else
            {
                throw new ArgumentException("Object is not a " + this.GetType());
            }
        }
        private void btnAdauga_Click(object sender, EventArgs e)
        {
            RutaAeriana ruta = dateRutaUsrControl1.GetRutaAeriana();

            if (ruta == null)
            {
                MessageBox.Show("Selectați două aeroporturi valide", "Rută Invalidă",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                if (companie.AdaugaRuta(ruta) == false)
                {
                    MessageBox.Show("Această rută există deja", "Eroare la adăugarea rutei",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public int CompareTo(object obj)
        {
            if (obj == null)
            {
                return(1);
            }
            RutaAeriana ruta = obj as RutaAeriana;

            if (ruta != null)
            {
                if (this.AeroportAterizare == null || this.AeroportDecolare == null)
                {
                    return(-1);
                }
                if (ruta.AeroportAterizare == null || ruta.AeroportDecolare == null)
                {
                    return(1);
                }
                if (this.AeroportDecolare.CompareTo(ruta.AeroportDecolare) == 1)
                {
                    return(1);
                }
                else if (this.AeroportDecolare.CompareTo(ruta.AeroportDecolare) == -1)
                {
                    return(-1);
                }
                else
                {
                    return(this.AeroportAterizare.CompareTo(ruta.AeroportAterizare));
                }
            }
            else
            {
                throw new ArgumentException("Object is not a " + this.GetType().ToString());
            }
        }
        private void btnModifica_Click(object sender, EventArgs e)
        {
            if (rbModifAerop.Checked == true)
            {
                var rutaModificata = dateRutaUsrControl1.GetRutaAeriana();
                if (companie.Rute.ContainsKey(rutaModificata))
                {
                    MessageBox.Show("Această rută modificată este deja deservită de către companie",
                                    "Eroare modificare rută", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                RutaAeriana rutaVeche;
                if ((rutaVeche = cbRute.SelectedItem as RutaAeriana) != null &&
                    companie.Rute[rutaVeche].Count == 0)
                {
                    //ruta veche o avem deja
                    SortedDictionary <DateTime, SortedDictionary <Zbor, Hashtable> > zboruriVechi = null;
                    try
                    {
                        zboruriVechi = companie.Rute[rutaVeche];
                    }
                    catch (KeyNotFoundException ex)
                    { File.WriteAllText("debug.txt", ex.Message); }
                    //stergem ruta veche din dictionar
                    companie.Rute.Remove(rutaVeche);
                    //introducem ruta modificata
                    companie.AdaugaRuta(rutaModificata, zboruriVechi);
                    //reactulizam data sources
                    cbRute.DataSource = null;
                    cbRute.Items.Clear();
                    cbRute.DataSource = companie.Rute.Keys.ToList();
                }
                else
                {
                    MessageBox.Show("Această rută nu poate fi modificată,deoarece pentru dinsa deja au fost " +
                                    "înregistrate zboruri,pentru care la rîndul lor au fost înregistrate rezervări",
                                    "Eroare modificare rută", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (rbModifZboruri.Checked == true)
            {
                var zborModificat = adaugaZboruriUsrControl1.GetZbor();
                if (zborModificat != null)
                {
                    cbRute.Enabled       = false;
                    cbDateZbor.Enabled   = false;
                    cbZboruri.Enabled    = false;
                    rbModifAerop.Enabled = false;
                    btnCancel.Enabled    = false;

                    RutaAeriana rutaAeriana = cbRute.SelectedItem as RutaAeriana;

                    try
                    {
                        if (companie.Rute[rutaAeriana]
                            [CompanieAeriana.ExtractDate(zborModificat.TimpDecolare)].
                            ContainsKey(zborModificat))
                        {
                            MessageBox.Show("Aceast zbor deja există în cadrul acestei rute",
                                            "Eroare modificare zbor", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            btnModifica.Enabled = false;

                            cbRute.Enabled       = true;
                            cbDateZbor.Enabled   = true;
                            cbZboruri.Enabled    = true;
                            rbModifAerop.Enabled = true;
                            btnCancel.Enabled    = true;

                            return;
                        }
                    }
                    catch (KeyNotFoundException)
                    {
                        //daca data nu a fost gasita atunci sigur asa ruta nu exista in dictionar
                    }
                    //datele vechi
                    var zborVechi   = cbZboruri.SelectedItem as Zbor;
                    var rezervVechi = companie.Rute[rutaAeriana]
                                      [CompanieAeriana.ExtractDate(zborVechi.TimpDecolare)][zborVechi];
                    companie.Rute[rutaAeriana]
                    [CompanieAeriana.ExtractDate(zborVechi.TimpDecolare)].Remove(zborVechi);
                    //modificare date vechi
                    zborVechi.TimpAterizare = zborModificat.TimpAterizare;
                    zborVechi.TimpDecolare  = zborModificat.TimpDecolare;
                    //reinserare date noi
                    companie.AdaugaZbor(rutaAeriana, zborVechi, rezervVechi);
                    //reactualizare data sources
                    try
                    {
                        cbDateZbor.DataSource = null;
                        cbDateZbor.Items.Clear();
                        cbZboruri.DataSource = null;
                        cbZboruri.Items.Clear();


                        cbDateZbor.DataSource = companie.Rute[rutaAeriana].Keys.ToList();
                        cbZboruri.DataSource  = companie.Rute[rutaAeriana]
                                                [(DateTime)cbDateZbor.SelectedItem].Keys.ToList();
                    }
                    catch { }
                    btnModifica.Enabled = false;
                    adaugaZboruriUsrControl1.dateAterizare.Enabled = false;
                    adaugaZboruriUsrControl1.dateDecolare.Enabled  = false;

                    cbRute.Enabled       = true;
                    cbDateZbor.Enabled   = true;
                    cbZboruri.Enabled    = true;
                    rbModifAerop.Enabled = true;
                    btnCancel.Enabled    = true;
                }
            }
        }
 public RutaAeriana(RutaAeriana ruta)
 {
     AeroportDecolare  = (Aeroport)ruta.AeroportDecolare.Clone();
     AeroportAterizare = (Aeroport)ruta.AeroportAterizare.Clone();
 }
 public DiscountEntry(RutaAeriana ruta, DiscountManager manager)
 {
     Key   = ruta;
     Value = manager;
 }