public async Task <CommandResult> Handle(UpdateMealCommand request, CancellationToken cancellationToken) { Meal meal = await _mealRepository.GetByIdAsync(request.MealId); if (!FoundValidMeal(meal)) { return(FailureDueToMealNotFound()); } meal.Update( request.Name, request.Description, _mapper.Map <Time>(request.TimeOfDay) ); await _mealRepository.UpdateAsync(meal); return(await CommitAndPublishDefaultAsync()); }