public Models.TbLogin ToTbLogin(Models.Request.AlterarUsuarioRequest req)
        {
            Models.TbLogin resp = new Models.TbLogin();

            resp.DsEmail    = req.Email;
            resp.DsSenha    = req.Senha;
            resp.DtUltLogin = DateTime.Now;

            return(resp);
        }
        public Models.TbUsuario ToTbUsuario(Models.Request.AlterarUsuarioRequest req)
        {
            Models.TbUsuario resp = new Models.TbUsuario();

            resp.NmUsuario      = req.NomeUsuario;
            resp.NmPerfil       = req.NomePerfil;
            resp.BtReceberEmail = req.ReceberEmail;

            return(resp);
        }
        public async Task <ActionResult <Models.Response.AlterarUsuarioResponse> > AlterarUsuarioAsync(Models.Request.AlterarUsuarioRequest req)
        {
            try
            {
                esqueciSenhaBsn.ValidarSenhasIdenticas(req.Senha, req.ConfirmarSenha);

                Models.TbLogin tbLoginAtual = await usuarioBsn.ConsultarLoginPorEmailAsync(req.Email);

                Models.TbLogin tbLoginNovo = usuarioCnv.ToTbLogin(req);

                Models.TbUsuario tbUsuarioNovo  = usuarioCnv.ToTbUsuario(req);
                Models.TbUsuario tbUsuarioAtual = await usuarioBsn.ConsultarUsuarioPorIdLoginAsync(tbLoginAtual.IdLogin);

                tbLoginAtual = await usuarioBsn.AlterarLoginAsync(tbLoginAtual, tbLoginNovo);

                tbUsuarioAtual = await usuarioBsn.AlterarUsuarioAsync(tbUsuarioAtual, tbUsuarioNovo);

                Models.Response.AlterarUsuarioResponse resp = usuarioCnv.ToAlterarUsuarioResponse(tbLoginAtual, tbUsuarioAtual);

                return(resp);
            }
            catch (Exception e)
            {
                return(BadRequest(
                           new Models.Response.ErroResponse(400, e.Message)
                           ));
            }
        }