/// <summary> /// calcul du total des promos pour un véhicule. /// </summary> /// <param name="promo"></param> /// <param name="vMvehicle"></param> /// <returns></returns> public decimal GetTotalPromo(VMPromo promo, VMvehicle vMvehicle) { decimal _promoTotal = 0; List <BO.Promo> _promos = BL.BLPromo.GetPromosForVehicleType(promo.VehicleType_Id, promo.Office_Name); if (_promos.Count != 0) { byte _totalPercentReduc = 0; int _totalCashReduc = 0; foreach (BO.Promo item in _promos) { byte _currentPcReduc = _totalPercentReduc; if (item.PercentReduc != null) { _currentPcReduc += (byte)item.PercentReduc; } if (_currentPcReduc < 100) { _totalPercentReduc = _currentPcReduc; // max 100% de réduction. } if (item.FixedReduc != null) { _totalCashReduc += (int)item.FixedReduc; } } _promoTotal = (vMvehicle.DailyPrice * vMvehicle.Ndays) * _totalPercentReduc / 100 + _totalCashReduc; } return(_promoTotal); }
/// <summary> /// Converti un promo vers un VMvehicle. /// </summary> /// <param name="promo"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public VMPromo ToVmPromo(BO.Promo promo) { VMPromo _vMPromo = new VMPromo(); _vMPromo.PromotionModel_Id = promo.PromotionModel_Id; _vMPromo.VehicleType_Id = promo.VehicleType_Id; _vMPromo.Office_Name = promo.Office_Name; _vMPromo.Name = promo.Name; _vMPromo.StartDate = promo.StartDate; _vMPromo.EndDate = promo.EndDate; _vMPromo.PercentReduc = promo.PercentReduc; _vMPromo.FixedReduc = promo.FixedReduc; return(_vMPromo); }