public AnuncioAdicionarResponse Adicionar(AnuncioAdicionarRequest request)
        {
            // Criei o UnitOfWork para mostrar um controle de transação com o dapper quando for preciso
            using (_unitOfWork)
            {
                // Inicia a transação
                _unitOfWork.BeginTransaction();

                // Faz o mapeamento para a model e chama a service
                Anuncio requestModel  = _mapper.Map <Anuncio>(request);
                Anuncio responseModel = _anuncioService.Adicionar(requestModel);

                // Commit ou RollBack
                if (responseModel.Erros != null && responseModel.Erros.Any())
                {
                    _unitOfWork.RollBack();
                }
                else
                {
                    _unitOfWork.CommitTransaction();
                }

                // Mapemento do response e retorna para a api
                AnuncioAdicionarResponse response = _mapper.Map <AnuncioAdicionarResponse>(responseModel);
                return(response);
            }
        }
예제 #2
0
        public IActionResult Post([FromBody] Anuncio anuncio)
        {
            if (anuncio == null)
            {
                return(BadRequest(new Exception("Nao foi possivel identificar o anuncio na requisicao")));
            }

            if (anuncio.Id > 0)
            {
                _anuncioService.Atualizar(anuncio);
            }
            else
            {
                _anuncioService.Adicionar(anuncio);
            }

            return(Ok("Anuncio cadastrado com sucesso"));
        }
예제 #3
0
        public async Task <IActionResult> Adicionar(AnuncioViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var anuncio = new Anuncio
            {
                Nome               = model.Nome,
                DataInicio         = model.DataInicio,
                DataFim            = model.DataFim,
                InvestimentoPorDia = model.InvestimentoPorDia,
                ClienteId          = model.ClienteId,
                Ativo              = model.Ativo,
            };

            await _servico.Adicionar(anuncio);

            return(RedirectToAction("Index"));
        }