public List <PriceComponent> CalculatePrice(PlaceInRun placeInRun)
        {
            var components = new List <PriceComponent>();
            var runDate    = placeInRun.Run.Date;

            foreach (Holiday holiday in _holidayRepository.GetHolidaysList())
            {
                if (runDate.Day == holiday.Date.Day && runDate.Month == holiday.Date.Month && runDate.Year == holiday.Date.Year)
                {
                    var HolidayComponent = new PriceComponent()
                    {
                        Name  = $"Holiday service tax for {holiday.Name}",
                        Value = 10000m
                    };
                    components.Add(HolidayComponent);
                    return(components);
                }
            }
            if (runDate.DayOfWeek == DayOfWeek.Saturday || runDate.DayOfWeek == DayOfWeek.Sunday)
            {
                var WeekendComponent = new PriceComponent()
                {
                    Name  = "Weekend service tax",
                    Value = 5000m
                };
                components.Add(WeekendComponent);
            }
            else
            {
                components = null;
            }
            return(components);
        }
예제 #2
0
        public async Task <ICollection <Holiday> > GetHolidayList()
        {
            try
            {
                var res = await _repository.GetHolidaysList();

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }