예제 #1
0
        public Models.TbLogin ParaTbLogin(Models.Request.CadastroClienteRequest request)
        {
            Models.TbLogin login = new Models.TbLogin();
            login.DsEmail  = request.Email;
            login.DsSenha  = request.Senha1;
            login.DsPerfil = "Cliente";

            return(login);
        }
예제 #2
0
        public Models.TbCliente ParaTbCliente(Models.Request.CadastroClienteRequest request)
        {
            Models.TbCliente cliente = new Models.TbCliente();
            cliente.DsCnh        = request.CNH;
            cliente.DsCpf        = request.CPF;
            cliente.DsTelefone   = request.Telefone;
            cliente.DtNascimento = request.DataNascimento;
            cliente.NmCliente    = request.Nome;

            return(cliente);
        }
        public Models.Response.CadastroClienteResponse Salvar(Models.Request.CadastroClienteRequest request)
        {
            Models.veterinarioContext ctx = new Models.veterinarioContext();

            Models.TbLogin login = new Models.TbLogin();

            login.DsEmail = request.Email;
            login.DsSenha = request.Senha;

            ctx.TbLogin.Add(login);
            ctx.SaveChanges();

            Models.TbCliente cliente = new Models.TbCliente();

            cliente.NmCliente     = request.Nome;
            cliente.DsEmail       = request.Email;
            cliente.DsRg          = request.Rg;
            cliente.DsCpf         = request.Cpf;
            cliente.DsTelefone    = request.Telefone;
            cliente.DsEndereco    = request.Endereco;
            cliente.DsComplemento = request.Complemento;
            cliente.DsCep         = request.Cep;
            cliente.DtNascimento  = request.Nascimento;
            cliente.DsSexo        = request.Sexo;
            cliente.IdLogin       = login.IdLogin;

            ctx.TbCliente.Add(cliente);
            ctx.SaveChanges();

            Models.Response.CadastroClienteResponse response = new Models.Response.CadastroClienteResponse();

            response.Nome        = cliente.NmCliente;
            response.Email       = cliente.DsEmail;
            response.Senha       = login.DsSenha;
            response.Rg          = cliente.DsRg;
            response.Cpf         = cliente.DsCpf;
            response.Telefone    = cliente.DsTelefone;
            response.Endereco    = cliente.DsEndereco;
            response.Complemento = cliente.DsComplemento;
            response.Cep         = cliente.DsCep;
            response.Nascimento  = cliente.DtNascimento;
            response.Sexo        = cliente.DsSexo;
            response.IdLogin     = login.IdLogin;
            response.IdCliente   = cliente.IdCliente;

            return(response);
        }
        public async Task <ActionResult <Models.Response.LoginResponse> > CadastrarCliente([FromForm] Models.Request.CadastroClienteRequest cadastroCliente)
        {
            try
            {
                validador.VerSeSenhasSaoIguais(cadastroCliente.Senha1, cadastroCliente.Senha2);

                Models.TbLogin   login   = cadastroConversor.ParaTbLogin(cadastroCliente);
                Models.TbCliente cliente = cadastroConversor.ParaTbCliente(cadastroCliente);

                if (cadastroCliente.ImagemUsuario != null)
                {
                    cliente.DsFoto = gerenciadorFoto.GerarNovoNome(cadastroCliente.ImagemUsuario.FileName);
                }

                else
                {
                    cliente.DsFoto = "user.png";
                }

                login = business.CadastrarCliente(login, cliente);

                if (cadastroCliente.ImagemUsuario != null)
                {
                    gerenciadorFoto.SalvarFoto(cliente.DsFoto, cadastroCliente.ImagemUsuario);
                }

                Models.Response.LoginResponse loginResponse = loginConversor.ParaLoginResponse(login);

                string corpo = $"Olá {cliente.NmCliente}. Nós da AgendaCar ficamos muito felizes por você se juntar a nós. Que tal agendar seu primeiro Test Drive?";

                await _mailer.EnviarEmailAsync(login.DsEmail, "Cadastro no AgendaCar", corpo);

                return(loginResponse);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }