public ParityOfTheWeekModel GenerateDataOfTheWeek(DateTimeOffset dateTimeOffsetParam) { try { var dateTimeOffsetRequest = dateTimeOffsetParam; var parityOfTheWeekModel = new ParityOfTheWeekModel { DateTimeRequest = dateTimeOffsetRequest, ParityOfWeekToday = GetParityOfTheWeekByDateTime(dateTimeOffsetRequest), ParityOfWeekCount = GetCountParityOfWeek(dateTimeOffsetRequest), PartOfSemester = GetPartOfSemester(dateTimeOffsetRequest), NumberOfSemester = GetNumberOfSemester(dateTimeOffsetRequest, _parityOfTheWeekConfigurationModel.StartLearningYear), DayOfName = new CultureInfo("ru-RU").DateTimeFormat.GetDayName(dateTimeOffsetRequest.DayOfWeek), StatusDay = GetStatusDay(dateTimeOffsetRequest) }; return(parityOfTheWeekModel); } catch (Exception ex) { //log throw new NotSupportedException($"Ошибка во время выполнения. {ex}"); } }
public void GenerateDataOfTheWeek_ReturnsCorrectModel_ShouldBeReturns_ParityOfTheWeekModel() { // Arrange var fixture = new Fixture(); fixture.Customize(new AutoMoqCustomization()); var mapper = fixture.Freeze <Mock <IMapper> >(); var parityOfTheWeekConfigurationModel = fixture.Freeze <Mock <ParityOfTheWeekConfigurationModel> >(); var dateTimeTest = new DateTime(2018, 11, 11); var expectedModel = new ParityOfTheWeekModel { DateTimeRequest = dateTimeTest, DayOfName = "воскресенье", NumberOfSemester = 5, ParityOfWeekCount = 10, ParityOfWeekToday = true, PartOfSemester = 1 }; // Act var service = new ParityOfTheWeekService(mapper.Object, parityOfTheWeekConfigurationModel.Object); var result = service.GenerateDataOfTheWeek(dateTimeTest); // Assert Assert.AreEqual(expectedModel.DateTimeRequest, result.DateTimeRequest); }
public ParityOfTheWeekViewModel PrepareParityOfTheWeekViewModel(ParityOfTheWeekModel input) { var resultViewModel = _mapper.Map <ParityOfTheWeekViewModel>(input); resultViewModel.ParityOfWeekToday = input.ParityOfWeekToday ? "Чётная" : "Нечётная"; resultViewModel.DateTimeRequest = input.DateTimeRequest.ToString("D"); return(resultViewModel); }
public void GenerateDataOfTheWeek_ParityOfTheWeekModel_ReturnsExpectedValue( DateTime dateTime, IOptions <ParityOfTheWeekConfigurationModel> parityOfTheWeekConfigurationModel, ParityOfTheWeekModel expected) { // Arrange var dateTimeTest = dateTime; // Act var service = new ParityOfTheWeekService(parityOfTheWeekConfigurationModel, _mapper); var result = service.GenerateDataOfTheWeek(dateTimeTest); _testOutputHelper.WriteLine(result.ToJson()); _testOutputHelper.WriteLine(expected.ToJson()); var isCompare = Compare(result, expected); // Assert Assert.True(isCompare); }
public void PrepareViewModel_ViewModel_ReturnsExpectedValue( IOptions <ParityOfTheWeekConfigurationModel> parityOfTheWeekConfigurationModel, ParityOfTheWeekModel parityOfTheWeekModelParam, ParityOfTheWeekViewModel expected ) { // Arrange var parityOfTheWeekModel = parityOfTheWeekModelParam; // Act var service = new ParityOfTheWeekService(parityOfTheWeekConfigurationModel, _mapper); var result = service.PrepareViewModel(parityOfTheWeekModel); _testOutputHelper.WriteLine(result.ToJson()); _testOutputHelper.WriteLine(expected.ToJson()); var isCompare = Compare(result, expected); // Assert Assert.True(isCompare); }
public ParityOfTheWeekViewModel PrepareViewModel(ParityOfTheWeekModel input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } var resultViewModel = _mapper.Map <ParityOfTheWeekViewModel>(input); resultViewModel.ParityOfWeekToday = input.ParityOfWeekToday ? "Чётная" : "Нечётная"; resultViewModel.DateTimeRequest = input.DateTimeRequest.ToString("D", new CultureInfo("ru-RU")); resultViewModel.StatusDay = input.StatusDay.Humanize(); resultViewModel.IsParity = input.ParityOfWeekToday; // тестовый вариант resultViewModel.SelectedDateStringValue = input.DateTimeRequest.Date == DateTimeOffset.UtcNow.Date ? "Сегодня" : "Выбрано"; // return(resultViewModel); }
public ParityOfTheWeekModel GenerateDataOfTheWeek(DateTime timeNowParam) { if (timeNowParam == null) { throw new NotSupportedException($"{typeof(DateTime)} timeNowParam равен null"); } var timeNow = timeNowParam; var parityOfTheWeekModel = new ParityOfTheWeekModel { DateTimeRequest = timeNow, ParityOfWeekToday = GetParityOfTheWeekByDateTime(timeNow), ParityOfWeekCount = GetCountParityOfWeek(timeNow), PartOfSemester = GetPartOfSemester(timeNow), NumberOfSemester = GetNumberOfSemester(timeNow, _config.StartLearningYear), DayOfName = CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(timeNow.DayOfWeek) }; return(parityOfTheWeekModel); }