public IActionResult Post(LoginPostRequest request, [FromServices] ClienteDomainService clienteDomainService, [FromServices] TokenService tokenService) { try { //buscar o cliente atraves do email e da senha var cliente = clienteDomainService.ObterCliente(request.Email, request.Senha); //verificar se o cliente foi encontrado if (cliente != null) { //gerar o TOKEN de acesso! var response = new LoginOkResponse { Mensagem = "Cliente autenticado com sucesso", AccessToken = tokenService.GenerateToken(cliente.Email), DataExpiracao = DateTime.Now.AddDays(1) }; return(Ok(response)); } else { //HTTP 401 - Unauthorized return(StatusCode(401, "Acesso não autorizado.")); } } catch (Exception) { return(StatusCode(500, "Erro. Não foi possível realizar a autenticação.")); } }
public void Quando_Adicionar_Um_Cliente_No_Banco_Nao_Permitir_Mesmo_Cpf() { var _clienteDomainService = new ClienteDomainService(_mockClienteRepository.Object); _mockClienteRepository .Setup(x => x.GetByCpf(_cliente.Cpf)) .Returns(new Cliente("x", _cliente.Cpf)); _clienteDomainService.Salvar(_cliente); }
public IActionResult Post(ClientePostRequest request, [FromServices] ClienteDomainService clienteDomainService) { try { var cliente = new Cliente { IdCliente = Guid.NewGuid(), Nome = request.Nome, Email = request.Email, Cpf = request.Cpf, Senha = request.Senha }; var enderecos = new List <Endereco>(); foreach (var item in request.Enderecos) { enderecos.Add(new Endereco { IdEndereco = Guid.NewGuid(), Logradouro = item.Logradouro, Numero = item.Numero, Complemento = item.Complemento, Bairro = item.Bairro, Cidade = item.Cidade, Estado = item.Estado, Cep = item.Cep }); } clienteDomainService.CadastrarCliente(cliente, enderecos); var response = new PostOkResponse { Mensagem = "Cliente cadastrado com sucesso." }; return(Ok(response)); } catch (EmailDeveSerUnicoException e) { return(StatusCode(403, e.Message)); } catch (Exception) { return(StatusCode(500, "Não foi possível realizar o cadastro do cliente.")); } }
public IActionResult Post(PedidoPostRequest request, [FromServices] ClienteDomainService clienteDomainService, [FromServices] PedidoDomainService pedidoDomainService) { try { //obter os dados do cliente autenticado.. //utilizando o email do cliente gravado no TOKEN de autenticação //User.Identity.Name -> retorna o email do cliente gravado no TOKEN var email = User.Identity.Name; //retorna o email do cliente autenticado var cliente = clienteDomainService.ObterCliente(email); //criando uma lista de itens do pedido var itensPedido = new List <ItemPedido>(); foreach (var item in request.ItensPedido) { itensPedido.Add(new ItemPedido { IdItemPedido = Guid.NewGuid(), IdProduto = Guid.Parse(item.IdProduto), Quantidade = item.Quantidade }); } //criando o objeto pedido.. var pedido = new Pedido { IdPedido = Guid.NewGuid(), DataPedido = DateTime.Parse(request.DataPedido), ValorTotal = decimal.Parse(request.ValorPedido) }; //gravar o pedido pedidoDomainService.CadastrarPedido(pedido, itensPedido, cliente); //objeto para retorno da requisição var response = new PostOkResponse { Mensagem = "Pedido cadastrado com sucesso." }; return(Ok(response)); } catch (Exception) { //retornar status de erro HTTP 500 return(StatusCode(500, "Erro ao processar o pedido.")); } }
public ClienteAppService(CotizacionAppDbContext _context, ClienteDomainService clienteDomainService) { _baseDatos = _context; _clienteDomainService = clienteDomainService; }
public ClienteAppService(MyContext context, ClienteDomainService clienteAppService) { _context = context; _clienteAppService = clienteAppService; }