private static decimal GetPercentageByDayOfWeek(ConfigCashback configCashback)
        {
            switch (DateTime.Now.DayOfWeek)
            {
            case DayOfWeek.Sunday:
                return(configCashback.PercentageSunday);

            case DayOfWeek.Monday:
                return(configCashback.PercentageMonday);

            case DayOfWeek.Tuesday:
                return(configCashback.PercentageTuesday);

            case DayOfWeek.Wednesday:
                return(configCashback.PercentageWednesday);

            case DayOfWeek.Thursday:
                return(configCashback.PercentageThursday);

            case DayOfWeek.Friday:
                return(configCashback.PercentageFriday);

            case DayOfWeek.Saturday:
                return(configCashback.PercentageSaturday);

            default:
                return(0);
            }
        }
コード例 #2
0
        public async Task <decimal> GetPercentage(int musicGenreId)
        {
            var configCashback = await _configCashbackDapperRepository.GetById(musicGenreId);

            if (ConfigCashback.Exists(configCashback))
            {
                return(GetPercentageByDayOfWeek(configCashback));
            }

            Notify($"ConfigCashback with music genre id: {musicGenreId} not exists");
            return(0);
        }
        public async Task ConfigCashback_Get_Success()
        {
            // Arrange
            const int musicGenreId          = (int)MusicGenreEnum.Rock;
            var       configCashBack        = new ConfigCashback(1, 10M, 20M, 15M, 8M, 3M, 5M, 4M);
            var       mocker                = new AutoMocker();
            var       configCashbackService = mocker.CreateInstance <ConfigCashbackService>();

            mocker.GetMock <IConfigCashbackDapperRepository>().Setup(c => c.GetById(musicGenreId))
            .Returns(Task.FromResult(configCashBack));

            // Act
            var percentageResult = await configCashbackService.GetPercentage(musicGenreId);

            // Assert
            Assert.Equal(GetPercentageByDayOfWeek(configCashBack), percentageResult);
            mocker.GetMock <IConfigCashbackDapperRepository>().Verify(c => c.GetById(musicGenreId), Times.Once);
        }
コード例 #4
0
 public static bool Exists(ConfigCashback configCashback)
 {
     return((configCashback?.MusicGenreId ?? 0) > 0);
 }