public async Task <int> Handle(UpsertHabitDifficultyCommand request, CancellationToken cancellationToken)
            {
                var habitVariation = await _context.HabitVariations.FindAsync(request.HabitVariationId);

                if (habitVariation == null)
                {
                    throw new NotFoundException(nameof(HabitVariation), request.HabitVariationId);
                }

                HabitDifficulty entity;

                if (request.Id != 0)
                {
                    entity = await _context.HabitDifficulties.FindAsync(request.Id);

                    await _mediator.Publish(new HabitDifficultyUpdated { HabitDifficultyId = entity.HabitDifficultyId }, cancellationToken);
                }
                else
                {
                    entity = new HabitDifficulty();
                    _context.HabitDifficulties.Add(entity);
                    await _mediator.Publish(new HabitDifficultyCreated { HabitDifficultyId = entity.HabitDifficultyId }, cancellationToken);
                }

                entity.HabitVariationId = request.HabitVariationId;
                entity.Description      = request.Description;
                entity.DifficultyLevel  = request.DifficultyLevel;

                await _context.SaveChangesAsync(cancellationToken);

                return(entity.HabitDifficultyId);
            }
Ejemplo n.º 2
0
        public void ShouldMapHabitDifficultyToHabitCompletionDifficultyDto()
        {
            var entity = new HabitDifficulty();

            var result = _mapper.Map <HabitCompletionDifficultyDto>(entity);

            result.ShouldNotBeNull();
            result.ShouldBeOfType <HabitCompletionDifficultyDto>();
        }
Ejemplo n.º 3
0
        public void ShouldMapHabitDifficultyToHabitDifficultyDetailVm()
        {
            var entity = new HabitDifficulty();

            var result = _mapper.Map <HabitDifficultyDetailVm>(entity);

            result.ShouldNotBeNull();
            result.ShouldBeOfType <HabitDifficultyDetailVm>();
        }