示例#1
0
        public async Task AddTrainingAsync_VerifyTotalTrainingDays()
        {
            //Arrange
            var actual = new WDSTraining
            {
                Name      = "Test Training",
                StartDate = DateTime.Parse("20/04/2020"),
                EndDate   = DateTime.Parse("30/04/2020")
            };
            //Act
            var result = await _sut.AddTrainingAsync(actual);

            //Assert
            Assert.Equal(10, result.TrainingDays);
        }
示例#2
0
        public async Task AddTrainingAsync_GetSameAttributesAfterCall()
        {
            //Arrange
            var actual = new WDSTraining
            {
                Name      = "Test Training",
                StartDate = DateTime.Parse("12/04/2020"),
                EndDate   = DateTime.Parse("28/04/2020")
            };
            //Act
            var result = await _sut.AddTrainingAsync(actual);

            //Assert
            Assert.Equal(actual.Name, result.Name);
            Assert.Equal(actual.StartDate, result.StartDate);
            Assert.Equal(actual.EndDate, result.EndDate);
        }
示例#3
0
        /// <summary>
        /// Async method to add new training
        /// </summary>
        /// <param name="iTraining"></param>
        /// <returns></returns>
        public async Task <WDSTraningViewModel> AddTrainingAsync(WDSTraining iTraining)
        {
            if (iTraining == null)
            {
                throw new NullReferenceException();
            }

            _context.Trainings.Add(iTraining);
            var _task   = _context.SaveChangesAsync();
            var _result = new WDSTraningViewModel
            {
                Id           = iTraining.Id,
                Name         = iTraining.Name,
                StartDate    = iTraining.StartDate,
                EndDate      = iTraining.EndDate,
                TrainingDays = Convert.ToInt32((iTraining.EndDate - iTraining.StartDate).TotalDays)
            };
            await Task.WhenAll(_task);

            _result.Id = iTraining.Id;
            return(_result);
        }