Пример #1
0
 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]);
     }
 }
Пример #2
0
    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);
    }