public void ShouldMapHabitCompletionToHabitCompletionsListDto() { var entity = new HabitCompletion(); var result = _mapper.Map <HabitCompletionsListDto>(entity); result.ShouldNotBeNull(); result.ShouldBeOfType <HabitCompletionsListDto>(); }
public async Task <int> Handle(UpsertHabitCompletionCommand request, CancellationToken cancellationToken) { var habitCompleted = await _context.Habits.FindAsync(request.HabitId); if (habitCompleted == null) { throw new NotFoundException(nameof(Habit), request.HabitId); } var habitVariationCompleted = _context.HabitVariations.FindAsync(request.HabitVariationId); if (habitVariationCompleted == null) { throw new NotFoundException(nameof(HabitVariation), request.HabitVariationId); } var habitDifficultyCompleted = _context.HabitDifficulties.FindAsync(request.HabitDifficultyId); if (habitDifficultyCompleted == null) { throw new NotFoundException(nameof(HabitDifficulty), request.HabitDifficultyId); } HabitCompletion entity; if (request.Id > 0) { entity = await _context.HabitCompletions.FindAsync(request.Id); await _mediator.Publish(new HabitCompletionUpdated { HabitCompletionId = entity.HabitCompletionId }, cancellationToken); } else { entity = new HabitCompletion(); _context.HabitCompletions.Add(entity); await _mediator.Publish(new HabitCompletionCreated { HabitCompletionId = entity.HabitCompletionId }, cancellationToken); } entity.Date = request.Date; entity.Habit = habitCompleted; entity.HabitVariationId = request.HabitVariationId; entity.HabitDifficultyId = request.HabitDifficultyId; await _context.SaveChangesAsync(cancellationToken); return(entity.HabitCompletionId); }