//Rotina para recuperacao de senha do usuario public UtilRetorno recuperarSenha(string login) { var OUsuario = (from Usu in this.db.UsuarioSistema where Usu.login == login && Usu.dtExclusao == null select Usu).FirstOrDefault(); if (OUsuario == null) { return(UtilRetorno.newInstance(true, "Nenhum usuário encontrado com os dados informados.")); } if (OUsuario.ativo == "N") { return(UtilRetorno.newInstance(true, "O usuário vinculado à essa conta está desativado no momento, entre em contato com a administração.")); } string novaSenha = UtilString.randomString(8); OUsuario.senha = UtilCrypt.SHA512(novaSenha); OUsuario.flagAlterarSenha = "S"; db.SaveChanges(); IEnvioNovoUsuario OEmail = RecuperacaoSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuario, novaSenha); return(UtilRetorno.newInstance(false, "Uma nova senha foi reenviada para os e-mails vinculados à essa conta.")); }
//Geracao de uma nova senha para o usuario public UtilRetorno criarNovaSenha(int idUsuario) { var OUsuario = (from Usu in this.db.UsuarioSistema where Usu.id == idUsuario && Usu.dtExclusao == null select Usu).FirstOrDefault(); if (OUsuario == null) { return(UtilRetorno.newInstance(true, "Desculpe, esse usuário não pôde ser localizado.")); } string novaSenha = UtilString.randomString(8); OUsuario.senha = UtilCrypt.SHA512(novaSenha); OUsuario.flagAlterarSenha = "S"; db.SaveChanges(); IEnvioNovoUsuario OEmail = ReenvioSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuario, novaSenha); return(UtilRetorno.newInstance(false, "Uma nova senha foi enviada para o e-mail vinculado à conta.")); }
//Persistir e inserir um novo registro //Inserir Empresa, Pessoa e lista de Endereços vinculados private bool inserir(UsuarioSistema OUsuarioSistema) { string senha = UtilString.randomString(8); OUsuarioSistema.senha = UtilCrypt.SHA512(senha); OUsuarioSistema.flagAlterarSenha = "S"; OUsuarioSistema.setDefaultInsertValues(); OUsuarioSistema.Pessoa.setDefaultInsertValues(); OUsuarioSistema.Pessoa.listaEnderecos.ForEach(x => { x.setDefaultInsertValues(); x.idPais = "BRA"; x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL; }); if (OUsuarioSistema.Pessoa.listaEnderecos != null && OUsuarioSistema.Pessoa.listaEnderecos.Count > 0) { OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.setDefaultInsertValues()); OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL); } db.UsuarioSistema.Add(OUsuarioSistema); db.SaveChanges(); bool flagCastrado = OUsuarioSistema.id > 0; if (flagCastrado) { IEnvioNovoUsuario OEmail = EnvioNovoUsuario.factory(OUsuarioSistema.idOrganizacao.toInt(), OUsuarioSistema.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuarioSistema, senha); } return(OUsuarioSistema.id > 0); }