public async Task <IActionResult> Cadastrar([FromBody] CadastrarClienteViewModel cadastrarClienteViewModel) { if (!ModelState.IsValid) { return(Response(cadastrarClienteViewModel)); } await _mediatorHandler.SendCommand(_mapper.Map <CadastrarClienteCommand>(cadastrarClienteViewModel)); if (!OperacaoValida()) { return(Response(cadastrarClienteViewModel)); } var cliente = _clienteRepository.ObterPorId(cadastrarClienteViewModel.Id); var usuarioViewModel = new UsuarioViewModel { Id = cliente.Id, TipoUsuario = TipoUsuario.Cliente }; return(Response(new { token = ConfiguracoesSeguranca.GerarToken(usuarioViewModel), cliente = _mapper.Map <ClienteViewModel>(cliente) })); }
public async Task <IActionResult> CreateCliente([FromBody] CadastrarClienteViewModel cliente) { Cliente _cliente = new Cliente(cliente.Nome, cliente.CPF, cliente.Email); foreach (var endereco in cliente.Enderecos) { _cliente.AdicionarEnderecos(new Endereco( endereco.Rua, endereco.Numero, endereco.Bairro, endereco.Cidade, endereco.Estado, endereco.Pais, endereco.CEP)); } foreach (var telefone in cliente.Telefones) { _cliente.AdicionarTelefones(new Telefone(telefone)); } Cliente _result = await _clienteService.Cadastrar(_cliente); return(Created($"/api/v1/clientes/{_result.Id}", _cliente)); }
public async Task CadastrarClienteCPFDuplicadoAsync_Retorna409Conflict() { //Arrange var _enderecos = new List <EnderecoViewModel>() { new EnderecoViewModel("Av. São Jorge", 50, "Cidade Salvador", "Jacareí", "SP", "Brasil", "12312000") }; var _telefones = new List <long> { 12985654585 }; var _cliente = new CadastrarClienteViewModel( nome: "Joana da Silva", email: "*****@*****.**", cpf: "939.553.610-12", _enderecos, _telefones); HttpRequestMessage _requestOne = new HttpRequestMessage( HttpMethod.Post, "/api/v1/clientes") { Content = new StringContent( JsonConvert.SerializeObject(_cliente), Encoding.UTF8, MediaTypeNames.Application.Json) }; // Executa a primeira vez (await _httpClient.SendAsync(_requestOne)).EnsureSuccessStatusCode(); // Executa a segunda vez (força conflito) _cliente.Email = "*****@*****.**"; // CPF continua o mesmo HttpRequestMessage _requestDuplicated = new HttpRequestMessage( HttpMethod.Post, "/api/v1/clientes") { Content = new StringContent( JsonConvert.SerializeObject(_cliente), Encoding.UTF8, MediaTypeNames.Application.Json) }; HttpResponseMessage _responseDuplicated = await _httpClient.SendAsync(_requestDuplicated); // Assert Assert.Equal(HttpStatusCode.Conflict, _responseDuplicated.StatusCode); }
public async Task <IActionResult> CadastrarCliente([FromBody] CadastrarClienteViewModel cliente) { var consultorId = string.IsNullOrWhiteSpace(_user?.ConsultorId) ? (Guid?)null : Guid.Parse(_user.ConsultorId); var response = await _clienteAppService.CadastrarCliente(cliente.Cpf, cliente.NomeCompleto, cliente.DataNascimento, cliente.Email, cliente.TelefoneFixo, cliente.TelefoneCelular, consultorId, cliente.InssNumeroBeneficio, cliente.InssSalario, cliente.InssEspecie, cliente.OutrosDiaPagamento); return(Response(response)); }
public async Task <IActionResult> Cadastrar( [FromServices] CadastrarCliente cadastrarCliente, CadastrarClienteViewModel cadastrarClienteVm) { if (!ModelState.IsValid) { return(View(cadastrarClienteVm)); } await cadastrarCliente.Executar(cadastrarClienteVm); return(RedirectToAction(nameof(Index))); }
public async Task CadastrarClientesAsync_Retorna201Created() { //Arrange var _enderecos = new List <EnderecoViewModel>() { new EnderecoViewModel("Av. São Jorge", 50, "Cidade Salvador", "Jacareí", "SP", "Brasil", "12312000") }; var _telefones = new List <long> { 12985654585 }; var _cliente = new CadastrarClienteViewModel( nome: "João da Silva", email: "*****@*****.**", cpf: "455.249.280-23", _enderecos, _telefones); var _content = new StringContent( JsonConvert.SerializeObject(_cliente), Encoding.UTF8, MediaTypeNames.Application.Json); HttpRequestMessage _request = new HttpRequestMessage( HttpMethod.Post, "/api/v1/clientes") { Content = _content }; // Act HttpResponseMessage _response = await _httpClient.SendAsync(_request); if (!_response.IsSuccessStatusCode) { // Assert _response.EnsureSuccessStatusCode(); } Assert.Equal(HttpStatusCode.Created, _response.StatusCode); }
public IHttpActionResult Post([FromBody] CadastrarClienteViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest("Erro, campos não preenchidos corretamente")); } try { return(Ok(_appService.Cadastrar(viewModel))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ClienteViewModel Cadastrar(CadastrarClienteViewModel viewModel) { var cliente = _repository.ObterPorFiltro(x => x.Cpf == viewModel.Cpf); if (cliente != null) { throw new Exception("Cliente ja existe. Nome: " + cliente.Nome); } cliente = Mapper.Map <Cliente>(viewModel); _repository.Incluir(cliente); return(Mapper.Map <ClienteViewModel>(cliente)); }
public IActionResult CadastrarCliente([FromBody] CadastrarClienteViewModel viewModel) { try { if (!ModelState.IsValid) { return(BadRequest("Model invalida")); } _clienteAppService.Inserir(viewModel); return(Ok()); } catch (Exception e) { return(BadRequest(e)); } }
public async Task CadastrarClienteCPFBlacklistAsync_Retorna403Forbidden() { //Arrange var _enderecos = new List <EnderecoViewModel>() { new EnderecoViewModel("Av. São Jorge", 50, "Cidade Salvador", "Jacareí", "SP", "Brasil", "12312000") }; var _telefones = new List <long> { 12985654585 }; var _cliente = new CadastrarClienteViewModel( nome: "Manoel da Silva", email: "*****@*****.**", cpf: "775.945.550-07", _enderecos, _telefones); var _content = new StringContent( JsonConvert.SerializeObject(_cliente), Encoding.UTF8, MediaTypeNames.Application.Json); HttpRequestMessage _request = new HttpRequestMessage( HttpMethod.Post, "/api/v1/clientes") { Content = _content }; // Act HttpResponseMessage _response = await _httpClient.SendAsync(_request); // Assert Assert.Equal(HttpStatusCode.Forbidden, _response.StatusCode); }
public async Task Executar(CadastrarClienteViewModel cadastrarCliente) { var clienteExists = await contexto.Clientes.AnyAsync(x => x.Cpf == cadastrarCliente.Cpf || x.Email == cadastrarCliente.Email); if (clienteExists) { Erros.Add("Cliente", "CPF ou Email já cadastrado, por favor insira os dados válidos!"); } var cliente = new Models.Cliente( 0, cadastrarCliente.Nome, cadastrarCliente.Email, cadastrarCliente.Cpf, cadastrarCliente.ProdutoId ); await contexto.AddAsync(cliente); await contexto.SaveChangesAsync(); }
public void Inserir(CadastrarClienteViewModel viewModel) { _clienteService.Inserir(_mapper.Map <Cliente>(viewModel)); }
public async Task ExcluirClientePorIdAsync_Retorna200Ok() { //Arrange #region Pre-arrange var _enderecos = new List <EnderecoViewModel>() { new EnderecoViewModel("Av. São Jorge", 50, "Cidade Salvador", "Jacareí", "SP", "Brasil", "12312000") }; var _telefones = new List <long> { 12985654585 }; var _cliente = new CadastrarClienteViewModel( nome: "Manoel da Silva", email: "*****@*****.**", cpf: "419.696.370-64", _enderecos, _telefones); var _content = new StringContent( JsonConvert.SerializeObject(_cliente), Encoding.UTF8, MediaTypeNames.Application.Json); HttpRequestMessage _requestCreate = new HttpRequestMessage( HttpMethod.Post, "/api/v1/clientes") { Content = _content }; HttpResponseMessage _responseCreate = await _httpClient.SendAsync(_requestCreate); _responseCreate.EnsureSuccessStatusCode(); #endregion #region Arrange string _resultCreate = await _responseCreate.Content.ReadAsStringAsync(); JObject _clienteObject = JObject.Parse(_resultCreate); HttpRequestMessage _requestDeleteById = new HttpRequestMessage(HttpMethod.Delete, $"/api/v1/clientes/{_clienteObject["id"]}"); #endregion // Act HttpResponseMessage _responseGetById = await _httpClient.SendAsync(_requestDeleteById); // Assert _responseGetById.EnsureSuccessStatusCode(); Assert.Equal(HttpStatusCode.OK, _responseGetById.StatusCode); }