public PriceCalculator(string[] input) { price = decimal.Parse(input[0]); nights = int.Parse(input[1]); season = Enum.Parse <SeasonEnum>(input[2]); discount = DiscountEnum.None; if (input.Length == 4) { discount = Enum.Parse <DiscountEnum>(input[3]); } }
public PriceCalculator(string input) { string[] tokens = input.Split().ToArray(); pricePerDay = decimal.Parse(tokens[0]); numberOfDays = int.Parse(tokens[1]); season = Enum.Parse <SeasonEnum>(tokens[2]); discountType = DiscountEnum.None; if (tokens.Length > 3) { discountType = Enum.Parse <DiscountEnum>(tokens[3]); } }
public ICalcDiscount GetDiscountPerCustomerType(DiscountEnum customerType) { switch (customerType) { case DiscountEnum.hasToGo: return(strategyContext[customerType.ToString()]); //break; case DiscountEnum.gold: return(strategyContext[customerType.ToString()]); // break; default: return(strategyContext[customerType.ToString()]); } }
public static decimal CalculatePrice(string entry) { string[] tokens = entry.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); decimal pricePerDay = decimal.Parse(tokens[0]); int numberOfDays = int.Parse(tokens[1]); var season = Enum.Parse <SeasonEnum>(tokens[2]); DiscountEnum discount = DiscountEnum.None; if (tokens.Length > 3) { discount = Enum.Parse <DiscountEnum>(tokens[3]); } decimal discountPrice = (pricePerDay * numberOfDays * (int)season * (decimal)discount) / 100m; decimal finalPrice = (pricePerDay * (int)season) * numberOfDays - discountPrice; return(finalPrice); }