//-------------------------------- ctors -------------------------------------------------------

        void init()
        {
            perCallCost      = decimal.Zero;
            perCallTimeLimit = 0;

            regularDay = new DayTypeDto(new DayTimeDto[0], TimeOfDayPolicy.Flat, false, false);
            weekend    = new DayTypeDto(new DayTimeDto[0], TimeOfDayPolicy.Flat, false, false);
            holiday    = new DayTypeDto(new DayTimeDto[0], TimeOfDayPolicy.Flat, false, false);

            regularDayRateEntry = new TypeOfDayRateEntryDto();

            weekendRateEntry = new TypeOfDayRateEntryDto {
                TypeOfDayChoice = TypeOfDayChoice.Weekend
            };
            foreach (var _rate in weekendRateEntry.Rates)
            {
                _rate.TypeOfDayChoice = weekendRateEntry.TypeOfDayChoice;
            }

            holidayRateEntry = new TypeOfDayRateEntryDto {
                TypeOfDayChoice = TypeOfDayChoice.Holiday
            };
            foreach (var _rate in holidayRateEntry.Rates)
            {
                _rate.TypeOfDayChoice = holidayRateEntry.TypeOfDayChoice;
            }

            holidayList = new HolidayListDto();

            badRouteLines = new ArrayList();
        }
        public RatingInfoDto(int pRateInfoId, DayTypeDto[] pDayTypes, TypeOfDayRateEntryDto[] pTypeOfDayRateEntries)
        {
            perCallCost      = decimal.Zero;
            perCallTimeLimit = 0;

            rateInfoId = pRateInfoId;

            regularDay = pDayTypes[0];
            weekend    = pDayTypes[1];
            holiday    = pDayTypes[2];

            regularDayRateEntry = pTypeOfDayRateEntries[0];
            weekendRateEntry    = pTypeOfDayRateEntries[1];
            holidayRateEntry    = pTypeOfDayRateEntries[2];

            holidayList = new HolidayListDto();

            badRouteLines = new ArrayList();
        }