Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        public float ApplyDiscount(Rezervare rezervare, Zbor zbor)
        {
            float sumaMinima     = zbor.Cost - zbor.Cost * discountMaxim;
            var   zborCopie      = (Zbor)zbor.Clone();
            var   rezervareCopie = (Rezervare)rezervare.Clone();

            foreach (IDiscount discount in discounts)
            {
                zborCopie.Cost = discount.ApplyDiscount(rezervareCopie, zborCopie);
            }
            if (zborCopie.Cost < sumaMinima)
            {
                return(sumaMinima);
            }
            else
            {
                return(zborCopie.Cost);
            }
        }