public async Task <IActionResult> UpdateAsync(Guid id, [FromBody] UpdateMeasureCategoryCommand command)
        {
            bool validCommand = command.Validate();

            if (!validCommand)
            {
                return(CreateErrorResponse(command.ValidationResult));
            }

            MeasureCategory measureCategory = await _measureCategoryRepository.GetDefaultByIdAsync(id);

            if (measureCategory == null)
            {
                return(NotFound());
            }

            measureCategory.Update(
                command.Name,
                command.Description,
                command.IsFavorite
                );

            await _measureCategoryRepository.UpdateAsync(measureCategory);

            return(await CommitAsync());
        }
        public async Task <CommandResult> Handle(UpdateMeasureCategoryCommand request, CancellationToken cancellationToken)
        {
            CustomMeasureCategory customMeasureCategory = await _measureCategoryRepository.GetCustomByIdAsync(request.MeasureCategoryId, _currentProfileId);

            if (customMeasureCategory == null)
            {
                return(FailureDueToCustomMeasureCategoryNotFound());
            }

            customMeasureCategory.Update(
                request.Name,
                request.Description,
                request.IsFavorite
                );

            await _measureCategoryRepository.UpdateAsync(customMeasureCategory);

            return(await CommitAndPublishDefaultAsync());
        }
        public async Task <IActionResult> UpdateAsync(Guid id, [FromBody] UpdateMeasureCategoryCommand command)
        {
            command.MeasureCategoryId = id;

            return(await CreateCommandResponse(command));
        }