Example #1
0
        public async Task <ActionResult <Models.Response.SucessoResponse> > AgendarTestDrive(Models.Request.AgendarNovoRequest request)
        {
            try
            {
                Models.TbAgendamento agendamento = conversor.ParaAgendamentoTabela(request);

                string email = business.AgendarNovo(agendamento);

                string corpo = $"Olá, {agendamento.IdClienteNavigation.NmCliente}. O seu test drive para o dia {agendamento.DtAgendamento}, com o carro {agendamento.IdCarroNavigation.DsMarca} {agendamento.IdCarroNavigation.DsModelo} - {agendamento.IdCarroNavigation.DsCor} foi agendado. Agora basta esperar que um funcionário aceite.";

                await _mailer.EnviarEmailAsync(email, "Novo Agendamento", corpo);

                return(new Models.Response.SucessoResponse(200, "Agendado com sucesso."));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
Example #2
0
        public async Task <ActionResult <string> > EnviarCodigo(string email)
        {
            try
            {
                string codigo = business.GerarCodigo();

                string corpo = $"O código para a redefinição da senha é: {codigo}";

                await _mailer.EnviarEmailAsync(email, "Codigo Para Alterar Senha", corpo);

                return(codigo);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
Example #3
0
        public async Task <ActionResult <long> > EnviarEmail(string email)
        {
            try
            {
                long codigo = business.GerarCodigo();

                string corpo = "Olá. O código para a troca de senha é: " + codigo;

                await _mailer.EnviarEmailAsync(email, "Alteração da Senha", corpo);

                return(codigo);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
Example #4
0
        public async Task <ActionResult <Models.Response.LoginResponse> > CadastrarFuncionario([FromForm] Models.Request.CadastroFuncionarioRequest cadastroFuncionario)
        {
            try
            {
                validador.VerSeSenhasSaoIguais(cadastroFuncionario.Senha1, cadastroFuncionario.Senha2);

                Models.TbLogin       login       = cadastroConversor.ParaTbLogin(cadastroFuncionario);
                Models.TbFuncionario funcionario = cadastroConversor.ParaTbFuncionario(cadastroFuncionario);

                if (cadastroFuncionario.ImagemUsuario != null)
                {
                    funcionario.DsFoto = gerenciadorFoto.GerarNovoNome(cadastroFuncionario.ImagemUsuario.FileName);
                }

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

                login = business.CadastrarFuncionario(login, funcionario);

                if (cadastroFuncionario.ImagemUsuario != null)
                {
                    gerenciadorFoto.SalvarFoto(funcionario.DsFoto, cadastroFuncionario.ImagemUsuario);
                }

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

                string corpo = $"Olá {funcionario.NmFuncionario}. Agora você faz parte da familía AgendaCar.";

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

                return(loginResponse);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.ErroResponse(
                                      400, ex.Message
                                      )));
            }
        }
        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
                                      )));
            }
        }