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 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); } }