public async Task <OptionEntity> Create(CreateOptionModel model)
        {
            if (GetQuery().Any(
                    o => o.Code == model.Code.Trim() &&
                    o.Name == model.Name.Trim() &&
                    o.Value == model.Value
                    ))
            {
                throw new BadRequestException("This option combination already exists.");
            }
            var option = new OptionEntity
            {
                Code  = model.Code.Trim(),
                Name  = model.Name.Trim(),
                Value = model.Value.Trim(),
                ManufacturerEntityId = model.ManufacturerEntityId,
                Price        = model.Price,
                QtyStock     = model.QtyStock,
                CreateUserId = model.CreateUserId,
                CreateDate   = DateTime.UtcNow.ToLocalTime(),
                ModifyUserId = model.ModifyUserId,
                ModifyDate   = DateTime.UtcNow.ToLocalTime(),
                StatusId     = 1
            };

            _unitOfWork.Add(option);
            await _unitOfWork.CommitAsync();

            return(option);
        }
        public async Task <IActionResult> Create([FromBody] CreateOptionModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var dto       = _mapper.Map <OptionDto>(model);
            var optionDto = await _mediator.Send(new AddOptionCommand(dto));

            var result = _mapper.Map <OptionModel>(optionDto);

            return(Ok(result));
        }