//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);
        }
コード例 #2
0
        //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));
        }
コード例 #3
0
        //
        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);
        }
コード例 #4
0
        //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));
        }
コード例 #5
0
        //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);
        }
コード例 #6
0
        //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));
        }
コード例 #7
0
        //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)));
        }
コード例 #8
0
        //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}"));
        }
コード例 #9
0
        //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}");
        }
コード例 #10
0
        //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()}");
        }
コード例 #11
0
        //
        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));
        }
コード例 #12
0
        //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);
        }
コード例 #13
0
        //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);
        }
コード例 #14
0
        //
        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 }
                });
            }
        }