Beispiel #1
0
        public ActionResult Index()
        {
            var cliente   = new ZRN.Clientes.Clientes();
            var vertentes = cliente.RetornaVertentesAssociada(Configuracoes.idClienteLogado);

            if (vertentes.redessociais == false)
            {
                Session["AcessoRedeSocial"] = false;
                return(RedirectToAction("Index", "Empresa"));
            }

            Session["AcessoRedeSocial"] = true;

            return(View());
        }
Beispiel #2
0
        public ActionResult Editar(int idRelatorio)
        {
            var cliente   = new ZRN.Clientes.Clientes();
            var vertentes = cliente.RetornaVertentesAssociada(Configuracoes.idClienteLogado);

            if (vertentes.redessociais == false)
            {
                Session["AcessoRedeSocial"] = false;
                return(RedirectToAction("Index", "Empresa"));
            }

            Session["AcessoRedeSocial"] = true;

            int IdClienteLogado = Configuracoes.idClienteLogado;

            ViewBag.idCliente   = IdClienteLogado;
            ViewBag.idRelatorio = idRelatorio;

            return(View());
        }
Beispiel #3
0
        // GET: Empresa/Perfil/5
        public ActionResult Perfil(int id)
        {
            int idcliente = ((Usuario)Session["usuario"]).idCliente;

            var RN         = new ZRN.Empresas.Empresas();
            var RNclientes = new ZRN.Clientes.Clientes();

            if (RNclientes.VerificaAcessoEmpresa(id, idcliente) == true)
            {
                var empresaPerfil = new ViewModel.Empresa.EmpresaPerfil();
                empresaPerfil.Empresa          = RN.RetornaPerfilEmpresa(id);
                empresaPerfil.VertentesCliente = RNclientes.RetornaVertentesAssociada(idcliente);

                return(View(empresaPerfil));
            }
            else
            {
                return(RedirectToAction("SemcessoPerfil", "Empresa"));
            }
        }
Beispiel #4
0
        public ActionResult login(FormCollection collection)
        {
            Session["AcessoRedeSocial"] = false;

            try
            {
                var RNUsuario = new ZRN.Usuarios.Usuarios();
                var RNEmail   = new ZRN.Email.Email();

                Usuario usuario = null;

                var resultado = RNUsuario.ValidaLogin(collection["login"], collection["senha"], out usuario);
                Session["usuario"] = usuario;

                // Verifica se o cliente do usuário logado tem empresas associadas
                // ==================================================================================
                var cliente = new ZRN.Clientes.Clientes();

                if (cliente.VerificarDataAcessoTrial(usuario.idCliente) == true)
                {
                    var ClienteUsuario = cliente.retornarUsuarioCliente(usuario.idUsuario);

                    RNEmail.EnviarMensagemAcessoTrial(ClienteUsuario);

                    return(View("index", new ZRN.Mensagem.Mensagem()
                    {
                        Codigo = 0, Texto = "Acesso expirado."
                    }));
                }

                if (cliente.VerificaEmpresasDoCliente(usuario.idCliente) == false)
                {
                    return(RedirectToAction("ConfiguracoesCliente", "Empresa", new { idCliente = usuario.idCliente }));
                }

                // Verifica se o cliente do usuário logado tem acesso a vertente Redes Socias
                // ==================================================================================
                var vertentes = cliente.RetornaVertentesAssociada(usuario.idCliente);
                if (vertentes.redessociais == true)
                {
                    Session["AcessoRedeSocial"] = true;
                }

                if (resultado.Codigo == 1)
                {
                    //this.GerarLog("INFO");
                    return(RedirectToAction("Index", "Empresa"));
                }

                //Se ocorrer erro na senha/usuario ou se os campo estiverem vazios
                if (string.IsNullOrEmpty(collection["login"]) && string.IsNullOrEmpty(collection["senha"]))
                {
                    return(View("index", new ZRN.Mensagem.Mensagem()
                    {
                        Codigo = 0, Texto = "E-mail e senha não informados."
                    }));
                }

                if (string.IsNullOrEmpty(collection["login"]))
                {
                    return(View("index", new ZRN.Mensagem.Mensagem()
                    {
                        Codigo = 0, Texto = "E-mail não informado."
                    }));
                }

                if (string.IsNullOrEmpty(collection["senha"]))
                {
                    return(View("index", new ZRN.Mensagem.Mensagem()
                    {
                        Codigo = 0, Texto = "Senha não informada."
                    }));
                }

                return(View("index", resultado));
            }
            catch (System.Exception e)
            {
                //this.GerarLog("ERRO", "Erro ao efetuar login - " + e.Message + " - " + e.StackTrace);
                return(View("index", new ZRN.Mensagem.Mensagem()
                {
                    Codigo = 0, Texto = "Erro ao efetuar login", MensagemException = e.Message + " - " + e.StackTrace
                }));
            }
        }
Beispiel #5
0
        public IEnumerable <Empresa> RetornaEmpresas(FiltroEmpresas filtro, CampoOrdenacao ordernacao, SentidoOrdenacao sentidoord)
        {
            var RNCliente = new Clientes.Clientes();


            var empresasBD = (from e in _bd.empresas
                              join ea in _bd.cliente_empresas on e.idempresa equals ea.idempresa
                              where !e.excluido && ea.idcliente == filtro.idcliente && ea.excluido == false &&
                              (
                                  e.nome.ToLower() == filtro.pesquisa.ToLower() ||
                                  e.nome.Contains(filtro.pesquisa.ToLower()) ||
                                  filtro.pesquisa == "" ||
                                  filtro.pesquisa == null
                              )
                              select e);


            if (RNCliente.AcessoTodasEmpresas(filtro.idcliente) == true)
            {
                empresasBD = (from e in _bd.empresas
                              where !e.excluido &&
                              (
                                  e.nome.ToLower() == filtro.pesquisa.ToLower() ||
                                  e.nome.Contains(filtro.pesquisa.ToLower()) ||
                                  filtro.pesquisa == "" ||
                                  filtro.pesquisa == null
                              )
                              select e);
            }



            var rncliente = new ZRN.Clientes.Clientes();

            var vertentes = rncliente.RetornaVertentesAssociada(filtro.idcliente);

            switch (ordernacao)
            {
            case CampoOrdenacao.Nome:
                if (sentidoord == SentidoOrdenacao.Crescente)
                {
                    empresasBD = empresasBD.OrderBy(x => x.nome);
                }
                else
                {
                    empresasBD = empresasBD.OrderByDescending(x => x.nome);
                }
                break;

            case CampoOrdenacao.Setor:
                if (sentidoord == SentidoOrdenacao.Crescente)
                {
                    empresasBD = empresasBD.OrderBy(x => x.setoresempresa.nome);
                }
                else
                {
                    empresasBD = empresasBD.OrderByDescending(x => x.setoresempresa.nome);
                }
                break;

            default:
                empresasBD = empresasBD.OrderBy(x => x.nome);
                break;
            }
            _totalEmpresas = empresasBD.Count();
            if (_totalEmpresas > 0)
            {
                empresasBD = empresasBD.Skip(filtro.regInicial).Take(filtro.qtdregistros);

                var dataAnoAnterior = DateTime.Now.AddYears(-1);
                dataAnoAnterior = dataAnoAnterior.AddMonths(1);
                var dataIni = new DateTime(dataAnoAnterior.Year, dataAnoAnterior.Month, 1);

                //  var dataIni = DateTime.Now.AddYears(-1);
                var dataFim = DateTime.Now;

                var RNNoticias  = new ZRN.Empresas.Noticias(_servidorElastic, _indexElastic);
                var RNPromocoes = new ZRN.Empresas.Promocoes();


                var empresas = (from e in empresasBD.ToList()
                                select new Empresa()
                {
                    idempresa = e.idempresa,
                    idsetor = e.idsetor,
                    nomeSetor = e.setoresempresa.nome,
                    nome = e.nome,
                    descricao = e.descricao,
                    urlsite = e.urlsite,
                    imagem = e.imagem,
                    VertenteClientes = new Clientes.ClienteVertentes()
                    {
                        noticias = vertentes.noticias,
                        produtos = vertentes.produtos,
                        promocoes = vertentes.promocoes,
                        redessociais = vertentes.redessociais,
                        presencaonline = vertentes.presencaonline
                    },

                    qtdLancamentos = vertentes.produtos == true ? (from mapaRegistro in _bd.mapa_registros
                                                                   join empresaMapa in _bd.mapa_registro_empresa on mapaRegistro.idregistro equals empresaMapa.idregistro
                                                                   where empresaMapa.idempresa == e.idempresa && mapaRegistro.dataconcessao >= dataIni && mapaRegistro.dataconcessao <= dataFim
                                                                   select mapaRegistro).Count() : 0,

                    qtdNoticias = vertentes.noticias == true ? RNNoticias.RetornaQuantidadeNoticiasMesElastic(e.idempresa, dataIni, dataFim) : 0,

                    qtdPromocoes = vertentes.promocoes == true ? RNPromocoes.RetornaQtdPromocoesUltimosDozeMeses(e.idempresa) : 0,

                    rankBrasil = vertentes.presencaonline == true ? (from pOnline in _bd.presenca_online_capturas
                                                                     where pOnline.datacaptura >= dataIni &&
                                                                     pOnline.datacaptura <= dataFim &&
                                                                     pOnline.idempresa == e.idempresa
                                                                     orderby pOnline.datacaptura descending
                                                                     select pOnline.rankbrasil).FirstOrDefault() : 0,
                }).ToList();

                List <int> listaIds = new List <int>();

                foreach (var e in empresas)
                {
                    listaIds.Add(e.idempresa);
                }

                string listaIdsEmpresa = String.Join(",", listaIds);

                string dataInial = dataIni.ToString("yyyy-MM-dd");
                string dataFinal = dataFim.ToString("yyyy-MM-dd");

                if (vertentes.redessociais == true)
                {
                    string query = "CALL GetTotalPublicacoesRedesSociais('" + listaIdsEmpresa + "', '" + dataInial + "', '" + dataFinal + "');";

                    var resultados = _bd.Database.SqlQuery <TotalInteracoes>(query).ToList();

                    foreach (var empresa in empresas)
                    {
                        if (resultados != null)
                        {
                            var totalPublicacoes = resultados.FirstOrDefault(r => r.idEmpresa == empresa.idempresa);
                            if (totalPublicacoes != null)
                            {
                                empresa.qtdPublicacoes = Convert.ToInt64(totalPublicacoes.totalGeral);
                            }
                        }
                    }
                }


                return(empresas);
            }
            else
            {
                return(null);
            }
        }