//Verificar limite de emails informados public bool verificarLimiteEmails(AssociadoEnvioCadastroEmailForm ViewModel) { var emails = UtilString.notNull(ViewModel.emailsDestino).Split(';').Where(x => !String.IsNullOrEmpty(x)).ToList(); var emailsValidos = emails.Where(x => UtilValidation.isEmail(x)).ToList(); return(emailsValidos.Count <= 5); }
//Salvar um novo registro ou atualizar um existente public virtual bool salvar(UsuarioSistema OUsuarioSistema) { OUsuarioSistema.Pessoa.nome = OUsuarioSistema.Pessoa.nome.TrimEnd().TrimStart(); OUsuarioSistema.nome = OUsuarioSistema.Pessoa.nome; OUsuarioSistema.login = OUsuarioSistema.login.TrimEnd().TrimStart(); OUsuarioSistema.Pessoa.emailPrincipal = UtilString.notNull(OUsuarioSistema.Pessoa.emailPrincipal).ToLower(); OUsuarioSistema.email = OUsuarioSistema.Pessoa.emailPrincipal; OUsuarioSistema.Pessoa.emailSecundario = UtilString.notNull(OUsuarioSistema.Pessoa.emailSecundario).ToLower(); OUsuarioSistema.Pessoa.idTipoDocumento = TipoDocumentoConst.CPF; OUsuarioSistema.Pessoa.nroDocumento = UtilString.onlyAlphaNumber(OUsuarioSistema.Pessoa.nroDocumento); OUsuarioSistema.Pessoa.nroTelPrincipal = UtilString.onlyNumber(UtilString.notNull(OUsuarioSistema.Pessoa.nroTelPrincipal)); OUsuarioSistema.Pessoa.nroTelSecundario = UtilString.onlyNumber(UtilString.notNull(OUsuarioSistema.Pessoa.nroTelSecundario)); OUsuarioSistema.Pessoa.nroTelTerciario = UtilString.onlyNumber(UtilString.notNull(OUsuarioSistema.Pessoa.nroTelTerciario)); OUsuarioSistema.Pessoa.idTipoDocumento = TipoDocumentoConst.CPF; if (OUsuarioSistema.id == 0) { return(this.inserir(OUsuarioSistema)); } return(this.atualizar(OUsuarioSistema)); }
// public static string pathImagem(this Produto OProduto, string localThumb = "") { string pathImagemPadrao = "default/sem-imagem.gif"; if (OProduto.listaFotos.Count == 0) { return(pathImagemPadrao); } ArquivoUpload OFoto = OProduto.listaFotos.FirstOrDefault(); string pathImagem = OFoto.path; if (!string.IsNullOrEmpty(localThumb)) { pathImagem = Path.Combine(UtilString.notNull(OFoto.pathThumb), localThumb, UtilString.notNull(OFoto.nomeArquivo)); } if (!File.Exists(Path.Combine(UtilConfig.pathAbsUploadFiles, pathImagem))) { return(pathImagemPadrao); } return(pathImagem); }
//Metodos de validacao do login //public JsonMessage autenticarUsuario(string username, string password) { // var ValidacaoLogin = OUsuarioSistemaBL.logar(username, password); // if (ValidacaoLogin.error) { // return ValidacaoLogin; // } // var Usuario = ValidacaoLogin.extraInfo as UsuarioSistemaVW; // //setSessions(Usuario); // return ValidacaoLogin; //} //Verificar a autenticacao //public bool isAuthenticate() { // var User = SessionSistema.getUser(); // if (User != null){ // return true; // } // if(UtilConfig.flagProducao == "N"){ // UsuarioDesenvolvimento(); // return true; // } // return false; //} //Verificar permissao para acessar a área em questão public bool verificarAutorizacao(HttpContextBase httpContext) { int idOrganizacaoLogada = HttpContextFactory.Current.User.idOrganizacao(); var listaRecursos = CacheService.getInstance.carregarSemOrganizacao <List <RecursoSistemaVW> >(CacheService.LISTA_RECURSOS); var listaPermissoes = CacheService.getInstance.carregar <List <RecursoPermissaoVW> >(CacheService.LISTA_PERMISSOES, idOrganizacaoLogada); if (listaRecursos == null) { listaRecursos = capturarRecursos(httpContext); } if (listaPermissoes == null || HttpContextFactory.Current.User.flagMultiOrganizacao()) { listaPermissoes = capturarPermissoes(httpContext); } if (listaPermissoes == null || listaRecursos == null) { //this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Seu login não possui configuração de permissões ou a sessão expirou."); return(false); } string areaName = UtilString.notNull(httpContext.Request.RequestContext.RouteData.DataTokens["area"]).ToLower(); string controllerName = httpContext.Request.RequestContext.RouteData.Values["controller"].ToString().ToLower(); string actionName = httpContext.Request.RequestContext.RouteData.Values["action"].ToString().ToLower(); int idPerfilLogado = httpContext.User.idPerfil(); return(verificarAutorizacao(idPerfilLogado, areaName, controllerName, actionName, listaRecursos, listaPermissoes)); }
//Excluir através do ID do registro public virtual JsonMessageStatus excluir(int id) { var ORetorno = new JsonMessageStatus(); var Objeto = this.carregar(id); if (Objeto == null) { ORetorno.error = true; ORetorno.message = "O registro informado não foi encontrado."; return(ORetorno); } string basePath = Objeto.idOrganizacao > 0 ? UtilConfig.pathAbsUpload(Objeto.idOrganizacao.toInt()) : UtilConfig.pathAbsUploadFiles; string pathFile = Path.Combine(basePath, UtilString.notNull(Objeto.path)); if (File.Exists(pathFile)) { File.Delete(pathFile); } string folderThumb = Path.Combine(basePath, UtilString.notNull(Objeto.pathThumb)); if (Directory.Exists(folderThumb)) { string [] listaDiretorios = Directory.GetDirectories(folderThumb); foreach (string nomeDiretorio in listaDiretorios) { string diretorioArquivoThumb = Path.Combine(nomeDiretorio, UtilString.notNull(Objeto.nomeArquivo)); if (File.Exists(diretorioArquivoThumb)) { File.Delete(diretorioArquivoThumb); } } } Objeto.dtExclusao = DateTime.Now; Objeto.idUsuarioExclusao = HttpContextFactory.Current.User.id(); db.SaveChanges(); //db.ArquivoUpload.Where(x => x.id == id).Delete(); ORetorno.error = false; ORetorno.message = "O arquivo foi removido com sucesso."; return(ORetorno); }
//Customizado para essa classe especifica public UtilRetorno enviar(Associado OAssociado) { Dictionary <string, object> infos = new Dictionary <string, object>(); infos["nome"] = OAssociado.Pessoa.flagTipoPessoa == "F" ? "Nome: " + OAssociado.Pessoa.nome : "Razão Social: " + OAssociado.Pessoa.razaoSocial + "<br>Nome Fantasia: " + OAssociado.Pessoa.nome; infos["descDocumento"] = OAssociado.Pessoa.TipoDocumento != null ? OAssociado.Pessoa.TipoDocumento.nome : "Documento"; infos["nroDocumento"] = UtilString.formatCPFCNPJ(OAssociado.Pessoa.nroDocumento); //Lista de e-mail var email = OAssociado.Pessoa.emailPrincipal(); email = String.IsNullOrEmpty(OAssociado.Pessoa.emailSecundario()) ? email : String.Concat(email, " / ", OAssociado.Pessoa.emailSecundario()); infos["email"] = email; //Lista de telefones var telefone = OAssociado.Pessoa.formatarTelPrincipal(); telefone = String.IsNullOrEmpty(OAssociado.Pessoa.formatarTelSecundario()) ? telefone : String.Concat(telefone, " / ", OAssociado.Pessoa.formatarTelSecundario()); telefone = String.IsNullOrEmpty(OAssociado.Pessoa.formatarTelTerciario()) ? telefone : String.Concat(telefone, " / ", OAssociado.Pessoa.formatarTelTerciario()); infos["telefone"] = telefone; var nroAssociado = UtilString.notNull(OAssociado.nroAssociado); infos["id"] = !String.IsNullOrEmpty(nroAssociado) ? nroAssociado : OAssociado.id.ToString(); infos["descricaoTipoAssociado"] = (OAssociado.TipoAssociado == null? "-": OAssociado.TipoAssociado.descricao); var OEndereco = OAssociado.Pessoa.listaEnderecos.Count > 0 ? OAssociado.Pessoa.listaEnderecos.Where(x => x.idTipoEndereco == TipoEnderecoConst.PRINCIPAL).FirstOrDefault() : new PessoaEndereco(); infos["endereco"] = OEndereco.id > 0 ? String.Concat( OEndereco.logradouro, " ", OEndereco.numero, " ", OEndereco.complemento, " - ", OEndereco.bairro, " - ", (OEndereco.Cidade != null ? OEndereco.Cidade.nome : OEndereco.nomeCidade), "/", (OEndereco.Cidade != null && OEndereco.Cidade.Estado != null ? OEndereco.Cidade.Estado.sigla : OEndereco.uf) ) : "-"; infos["link"] = String.Concat(UtilConfig.linkAbsSistema, "Associados/associadoimpressao/visualizar-admissao/", UtilCrypt.toBase64Encode(OAssociado.id)); ConfiguracaoNotificacao OConfiguracao = ConfiguracaoNotificacaoBL.getInstance.carregar(this.idOrganizacao); var assuntoEmail = OConfiguracao.assuntoEmailFichaAssociado.Replace("#NOME#", OAssociado.Pessoa.nome); return(this.enviar(infos, assuntoEmail)); }
//Customizado para essa classe especifica public UtilRetorno enviar(Associado OAssociado) { Dictionary <string, object> infos = new Dictionary <string, object>(); var nroAssociado = UtilString.notNull(OAssociado.nroAssociado); infos["id"] = !String.IsNullOrEmpty(nroAssociado) ? nroAssociado : OAssociado.id.ToString(); infos["descricaoTipoAssociado"] = (OAssociado.TipoAssociado == null? "-": OAssociado.TipoAssociado.descricao); infos["nome"] = OAssociado.Pessoa.nome; return(this.enviar(infos, String.Format("Seja bem vindo à {0}", OConfiguracaoSistema.tituloSistema))); }
//Customizado para essa classe especifica public UtilRetorno enviar(Associado OAssociado) { idOrganizacao = OAssociado.idOrganizacao; Dictionary <string, object> infos = new Dictionary <string, object>(); var nroAssociado = UtilString.notNull(OAssociado.nroAssociado); infos["id"] = !String.IsNullOrEmpty(nroAssociado) ? nroAssociado : OAssociado.id.ToString(); infos["descricaoTipoAssociado"] = (OAssociado.TipoAssociado == null? "-": OAssociado.TipoAssociado.descricao); infos["nome"] = OAssociado.Pessoa.nome; OConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OAssociado.idOrganizacao); return(this.enviar(infos, $"Seja bem vindo à {OConfiguracaoSistema.tituloSistema}")); }
//Recuperar o caminho de um arquivo a partir da pasta "upload" public static string srcImg(this ArquivoUpload OArquivo) { if (OArquivo == null) { return(pathImgPadrao); } int idOrganizacao = OArquivo.idOrganizacao.toInt(); string basePath = idOrganizacao > 0 ? UtilConfig.pathAbsUpload(idOrganizacao) : UtilConfig.pathAbsUploadFiles; string fullPath = Path.Combine(basePath, UtilString.notNull(OArquivo.path)); if (!File.Exists(fullPath)) { return(pathImgPadrao); } return($"upload/{UtilConfig.pathOrganizacao(idOrganizacao)}/{OArquivo.path}"); }
//Recuperar o caminho de um arquivo a partir da pasta "upload", considerando thumb public static string srcImgThumb(this ArquivoUpload OArquivo, string subPasta = "sistema") { if (OArquivo == null) { return(pathImgPadrao); } int idOrganizacao = OArquivo.idOrganizacao.toInt(); string basePath = idOrganizacao > 0 ? UtilConfig.pathAbsUpload(idOrganizacao) : UtilConfig.pathAbsUploadFiles; string fullPath = Path.Combine(basePath, UtilString.notNull(OArquivo.pathThumb), subPasta, OArquivo.nomeArquivo.stringOrEmpty()); if (!File.Exists(fullPath)) { return(pathImgPadraoThumb); } return($"upload/{UtilConfig.pathOrganizacao(idOrganizacao)}/{UtilString.notNull(OArquivo.pathThumb)}/{subPasta}/{OArquivo.nomeArquivo.stringOrEmpty()}"); }
// public static MvcHtmlString pathImagem(this DiretoriaMembro ODiretoriaMembro, bool flagThumb = false) { string pathImagemPadrao = "default/sem-imagem.gif"; if (ODiretoriaMembro.Arquivo == null) { return(new MvcHtmlString(pathImagemPadrao)); } string pathImagem = ODiretoriaMembro.Arquivo.path; if (flagThumb) { pathImagem = Path.Combine(UtilString.notNull(ODiretoriaMembro.Arquivo.pathThumb), "sistema", UtilString.notNull(ODiretoriaMembro.Arquivo.nomeArquivo)); } if (!File.Exists(Path.Combine(UtilConfig.pathAbsUploadFiles, pathImagem))) { return(new MvcHtmlString(pathImagemPadrao)); } return(new MvcHtmlString(pathImagem)); }
//Carregar o caminho onde a imagem foi salva public static string pathImagem(this ArquivoUpload OArquivo, string localThumb = "") { if (OArquivo == null) { return(pathImagemPadrao); } string pathImagem = OArquivo.path.stringOrEmpty(); if (!String.IsNullOrEmpty(localThumb)) { pathImagem = String.Concat(UtilString.notNull(OArquivo.pathThumb), localThumb, "/", UtilString.notNull(OArquivo.nomeArquivo)); } string pathUpload = OArquivo.idOrganizacao.toInt() == 0? UtilConfig.pathAbsUploadFiles : UtilConfig.pathAbsUpload(OArquivo.idOrganizacao.toInt()); if (!File.Exists(Path.Combine(pathUpload, pathImagem))) { return(pathImagemPadrao); } return(pathImagem); }
//Excluir através do ID do registro public bool excluir(int id) { ArquivoUpload OArquivo = db.ArquivoUpload.FirstOrDefault(x => x.id == id); if (OArquivo == null) { return(false); } string pathFile = Path.Combine(UtilConfig.pathAbsUploadFiles, UtilString.notNull(OArquivo.path)); if (File.Exists(pathFile)) { File.Delete(pathFile); } string folderThumb = Path.Combine(UtilConfig.pathAbsUploadFiles, UtilString.notNull(OArquivo.pathThumb)); if (Directory.Exists(folderThumb)) { string [] listaDiretorios = Directory.GetDirectories(folderThumb); foreach (string nomeDiretorio in listaDiretorios) { string diretorioArquivoThumb = Path.Combine(nomeDiretorio, UtilString.notNull(OArquivo.nomeArquivo)); if (File.Exists(diretorioArquivoThumb)) { File.Delete(diretorioArquivoThumb); } } } db.ArquivoUpload.Where(x => x.id == id).Delete(); return(true); }
// public override void OnAuthorization(AuthorizationContext filterContext) { var OUser = filterContext.HttpContext.User; int idPerfilLogado = OUser.idPerfil(); // if (idPerfilLogado == PerfilAcessoConst.DESENVOLVEDOR) { return; } //Se houver filtro de anônimo na action if (filterContext.ActionDescriptor.GetCustomAttributes(typeof(AllowAnonymousAttribute), true).Any()) { return; } //Se houver filtro de anônimo na controller if (filterContext.ActionDescriptor.ControllerDescriptor.GetCustomAttributes(typeof(AllowAnonymousAttribute), true).Any()) { return; } //Caso seja uma action filha liberar o acesso if (filterContext.IsChildAction) { base.OnAuthorization(filterContext); return; } string areaName = UtilString.notNull(filterContext.RouteData.DataTokens["area"]); string controllerName = filterContext.RouteData.Values["controller"].ToString(); string actionName = filterContext.RouteData.Values["action"].ToString(); string method = filterContext.HttpContext.Request.HttpMethod; if (controllerName.StartsWith("login") || controllerName.StartsWith("erro")) { base.OnAuthorization(filterContext); return; } if (!SecurityExtensions.hasLogin(OUser)) { base.OnAuthorization(filterContext); if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "area", "Erros" }, { "controller", "Erro" }, { "action", "login-expirado" }, { "ReturnUrl", filterContext.HttpContext.Request.RawUrl } }); return; } filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "area", "permissao" }, { "controller", "login" }, { "action", "index" }, { "ReturnUrl", filterContext.HttpContext.Request.RawUrl } }); return; } if (!filterContext.HttpContext.Request.IsAjaxRequest() && OUser.flagAlterarSenha() == "S" && (controllerName != "usuariosistemaacesso" && actionName != "alterar-senha")) { base.OnAuthorization(filterContext); filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "area", "permissao" }, { "controller", "usuariosistemaacesso" }, { "action", "alterar-senha" }, { "ReturnUrl", filterContext.HttpContext.Request.RawUrl } }); return; } bool flagAutorizado = SecurityConfig.getInstance.verificarAutorizacao(filterContext.HttpContext); if (!flagAutorizado) { UtilLog.accessDenied(areaName, controllerName, actionName); base.OnAuthorization(filterContext); filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "area", "Erros" }, { "controller", "erro" }, { "action", "error403" }, { "ReturnUrl", filterContext.HttpContext.Request.RawUrl } }); } }