예제 #1
0
        public async Task <IActionResult> CadastrarMarcaVeiculo(MarcaVeiculoModel marcaVeiculoModel, CancellationToken ctx)
        {
            var result = await _veiculoApplication.CadastrarMarcaVeiculo(marcaVeiculoModel, ctx);

            if (result.Valid)
            {
                return(Created("/veiculos/marcas", result.Object));
            }

            return(UnprocessableEntity(result.Notifications));
        }
        /// <summary>
        /// Realiza o cadastro de uma marca de veiculo
        /// </summary>
        /// <param name="marcaVeiculoModel"></param>
        /// <param name="ctx"></param>
        /// <returns></returns>
        public async Task <Result <MarcaVeiculo> > CadastrarMarcaVeiculo(MarcaVeiculoModel marcaVeiculoModel, CancellationToken ctx)
        {
            var marca = _mapper.Map <MarcaVeiculoModel, MarcaVeiculo>(marcaVeiculoModel);

            if (marca.Valid)
            {
                if (!await _marcaVeiculoRepository.VerificarSeExiste(marca, ctx))
                {
                    await _marcaVeiculoRepository.Salvar(marca, ctx);

                    return(Result <MarcaVeiculo> .Ok(marca));
                }

                marca.AddNotification(nameof(MarcaVeiculo), MensagensInfo.MarcaVeiculo_CodigoExistente);
            }

            return(Result <MarcaVeiculo> .Error(marca.Notifications));
        }