コード例 #1
0
        public override IEnumerable <CredorViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            string _nome = param != null && param.Count() > 0 && param[0] != null ? param[0].ToString() : null;

            return((from cre in db.Credores
                    join gru in db.GrupoCredores on cre.grupoCredorId equals gru.grupoCredorId into GRU
                    from gru in GRU.DefaultIfEmpty()
                    where cre.CondominioID == sessaoCorrente.empresaId &&
                    (_nome == null || String.IsNullOrEmpty(_nome) || cre.nome.Contains(_nome.Trim()) || cre.cpf_cnpj == _nome || (gru != null && gru.nome.Contains(_nome.Trim())))
                    orderby cre.nome
                    select new CredorViewModel
            {
                credorId = cre.credorId,
                CondominioID = cre.CondominioID,
                cpf_cnpj = cre.cpf_cnpj,
                nome = cre.nome,
                nome_grupo = gru.nome,
                fone1 = cre.fone1,
                fone2 = cre.fone2,
                email = cre.email,
                endereco = cre.endereco,
                complemento = cre.complemento,
                PageSize = pageSize,
                TotalCount = 0
                             //TotalCount = (from cre1 in db.Credores
                             //              join gru1 in db.GrupoCredores on cre1.grupoCredorId equals gru1.grupoCredorId into GRU1
                             //              from gru1 in GRU1.DefaultIfEmpty()
                             //              where cre1.CondominioID == sessaoCorrente.CondominioID &&
                             //                    (_nome == null || String.IsNullOrEmpty(_nome) || cre1.nome.Contains(_nome.Trim()) || cre1.cpf_cnpj == _nome || (gru1 != null && gru1.nome.Contains(_nome.Trim())))
                             //              select cre1.credorId).Count()
            }).ToList());
        }
コード例 #2
0
        public override IEnumerable <EmailLogViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            DateTime data1            = param.Count() > 0 && param[0] != null ? (DateTime)param[0] : new DateTime(1980, 1, 1);
            DateTime data2            = param.Count() > 1 && param[1] != null ? (DateTime)param[1] : Funcoes.Brasilia().Date.AddDays(30);
            string   EdificacaoID     = "";
            string   GrupoCondominoID = "";
            string   IsHome           = "N";

            if (param.Count() > 2)
            {
                IsHome = "S";
                if (param[2] != null)
                {
                    int[] GrupoCondomino = (int[])param[2];
                    for (int i = 0; i <= GrupoCondomino.Count() - 1; i++)
                    {
                        GrupoCondominoID += GrupoCondominoID[i].ToString() + ";";
                    }
                }

                if (param[3] != null)
                {
                    IEnumerable <Unidade> Unidades = (IEnumerable <Unidade>)param[3];
                    foreach (var unidade in Unidades)
                    {
                        EdificacaoID += unidade.EdificacaoID + ";";
                    }
                }
            }

            IEnumerable <EmailLogViewModel> foldase = (from info in db.EmailLogs
                                                       join gru in db.GrupoCondominos on info.GrupoCondominoID equals gru.GrupoCondominoID into GRU
                                                       from gru in GRU.DefaultIfEmpty()
                                                       join edi in db.Edificacaos on info.EdificacaoID equals edi.EdificacaoID into EDI
                                                       from edi in EDI.DefaultIfEmpty()
                                                       join eti in db.EmailTipos on info.EmailTipoID equals eti.EmailTipoID
                                                       where info.DataEmail >= data1 && info.DataEmail <= data2 &&
                                                       info.CondominioID == SessaoLocal.empresaId &&
                                                       (IsHome == "N" || info.DataEmail >= SqlFunctions.GetDate()) &&
                                                       (GrupoCondominoID == "" || GrupoCondominoID.Contains(info.GrupoCondominoID.ToString())) &&
                                                       (EdificacaoID == "" || EdificacaoID.Contains(info.EdificacaoID.ToString())) &&
                                                       (eti.CondominioID == SessaoLocal.empresaId)
                                                       orderby info.DataEmail descending
                                                       select new EmailLogViewModel
            {
                empresaId = sessaoCorrente.empresaId,
                EmailLogID = info.EmailLogID,
                CondominioID = info.CondominioID,
                EdificacaoID = info.EdificacaoID,
                Descricao_Edificacao = edi.Descricao,
                GrupoCondominoID = gru.GrupoCondominoID,
                Descricao_GrupoCondomino = gru.Descricao,
                DataEmail = info.DataEmail,
                Assunto = info.Assunto,
                EmailMensagem = info.EmailMensagem,
                EmailTipoID = info.EmailTipoID,
                UnidadeID = info.UnidadeID,
                sessionId = sessaoCorrente.sessaoId,
                Descricao_EmailTipo = eti.Descricao,
            }).ToList();

            int contador = 0;

            foreach (EmailLogViewModel log in foldase)
            {
                if (log.UnidadeID.HasValue)
                {
                    foldase.ElementAt(contador).Codigo = db.Unidades.Find(log.CondominioID, log.EdificacaoID, log.UnidadeID).Codigo;
                }
                contador++;
            }

            return(foldase);
        }
コード例 #3
0
        public IEnumerable <EmailLogViewModel> List(params object[] param)
        {
            EmailLogViewModel        log    = (EmailLogViewModel)param [0];
            List <EmailLogViewModel> result = new List <EmailLogViewModel>();

            if (log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.INFORMATIVO || log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.OUTROS)
            {
                result = (from con in db.Condominos
                          join und in db.CondominoUnidades on con.CondominoID equals und.CondominoID
                          join gru in db.GrupoCondominoUsuarios on con.CondominoID equals gru.CondominoID into GRU
                          from gru in GRU.DefaultIfEmpty()
                          where con.CondominioID == sessaoCorrente.empresaId &&
                          und.CondominioID == sessaoCorrente.empresaId &&
                          und.DataFim == null && (!log.EdificacaoID.HasValue || (und.EdificacaoID == log.EdificacaoID)) && (!log.UnidadeID.HasValue || und.UnidadeID == log.UnidadeID) &&
                          (!log.GrupoCondominoID.HasValue || gru.GrupoCondominoID == log.GrupoCondominoID)
                          select new EmailLogViewModel()
                {
                    Nome = con.Nome,
                    Email = con.Email
                }).Union(from con in db.Condominos
                         join cre in db.Credenciados on con.CondominoID equals cre.CondominoID
                         join und in db.CondominoUnidades on con.CondominoID equals und.CondominoID
                         join gru in db.GrupoCondominoUsuarios on con.CondominoID equals gru.CondominoID into GRU
                         from gru in GRU.DefaultIfEmpty()
                         where con.CondominioID == sessaoCorrente.empresaId &&
                         und.CondominioID == sessaoCorrente.empresaId &&
                         und.DataFim == null && (!log.EdificacaoID.HasValue || und.EdificacaoID == log.EdificacaoID) && (!log.UnidadeID.HasValue || und.UnidadeID == log.UnidadeID) &&
                         cre.Email != null && cre.Email.Trim() != "" &&
                         (!log.GrupoCondominoID.HasValue || gru.GrupoCondominoID == log.GrupoCondominoID)
                         select new EmailLogViewModel()
                {
                    Nome  = cre.Nome,
                    Email = cre.Email
                }).ToList();
            }
            else if (log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.CADASTRO_CREDENCIADO ||
                     log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.FORGOT ||
                     log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.ATIVACAO_CONDOMINO)
            {
                result.Add(log);
            }
            else if (log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.CHAMADO)
            {
                ChamadoViewModel  r = (ChamadoViewModel)log.Repository;
                EmailLogViewModel l = new EmailLogViewModel()
                {
                    UsuarioID = r.UsuarioID,
                    Nome      = r.NomeUsuario,
                    Email     = r.LoginUsuario
                };

                if (r.FilaAtendimentoID != DWMSessaoLocal.FilaCondominoID(sessaoCorrente, db))
                {
                    if (!r.UsuarioFilaID.HasValue)
                    {
                        // Fila de direcioinamento do chamado
                        result = (from usu in db.FilaAtendimentoUsuarios
                                  where usu.FilaAtendimentoID == r.FilaAtendimentoID
                                  select new EmailLogViewModel()
                        {
                            UsuarioID = usu.UsuarioID,
                            Nome = usu.Nome,
                            Email = usu.Login
                        }).ToList();
                    }
                    else
                    {
                        // Responsável pelo chamado
                        EmailLogViewModel responsavel = new EmailLogViewModel()
                        {
                            UsuarioID = r.UsuarioFilaID,
                            Nome      = r.NomeUsuarioFila,
                            Email     = r.LoginUsuarioFila
                        };
                        result.Add(responsavel);
                    }
                }
                else
                {
                    // Encaminhar para o condômino
                    EmailLogViewModel condomino = new EmailLogViewModel()
                    {
                        UsuarioID = r.UsuarioFilaID,
                        Nome      = r.NomeUsuarioFila,
                        Email     = r.LoginUsuarioFila
                    };

                    result.Add(condomino);

                    // Encaminhar para o credenciado
                    if (r.CredenciadoID.HasValue && r.CredenciadoID > 0)
                    {
                        Credenciado       cred        = db.Credenciados.Find(r.CredenciadoID);
                        EmailLogViewModel credenciado = new EmailLogViewModel()
                        {
                            UsuarioID = cred.UsuarioID,
                            Nome      = cred.Nome,
                            Email     = cred.Email
                        };

                        result.Add(credenciado);
                    }
                }

                result.Add(l);
            }
            else if (log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.FORGOT)
            {
            }
            else if (log.EmailTipoID == (int)Enumeracoes.Enumeradores.EmailTipo.PORTARIA)
            {
                VisitanteAcessoViewModel a = (VisitanteAcessoViewModel)log.Repository;

                #region Condômino
                EmailLogViewModel cond = new EmailLogViewModel()
                {
                    UsuarioID = sessaoCorrente.usuarioId,
                    Nome      = seguranca_db.Usuarios.Find(sessaoCorrente.usuarioId).nome,
                    Email     = sessaoCorrente.login
                };

                result.Add(cond);
                #endregion

                #region Visitante
                if (!String.IsNullOrEmpty(a.Visitante.Email))
                {
                    EmailLogViewModel vis = new EmailLogViewModel()
                    {
                        UsuarioID = 0,
                        Nome      = a.Visitante.Nome,
                        Email     = a.Visitante.Email
                    };

                    result.Add(vis);
                }
                #endregion
            }

            return(result);
        }
コード例 #4
0
        public override IEnumerable <ArquivoViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            System.DateTime _data1            = (DateTime)param[0];
            System.DateTime _data2            = (DateTime)param[1];
            int             _EdificacaoID     = (int)param[2];
            int             _UnidadeID        = (int)param[3];
            int             _CondominoID      = (int)param[4];
            int             _GrupoCondominoID = (int?)param[5] ?? 0;
            string          _Nome             = (string)param[6];

            IEnumerable <ArquivoViewModel> archive = new List <ArquivoViewModel>();

            if (_CondominoID > 0)
            {
                string _EdificacaoCondomino = "";

                foreach (Unidade unidade in SessaoLocal.Unidades)
                {
                    _EdificacaoCondomino += unidade.EdificacaoID.ToString() + "|";
                }

                // arquivos do condômino
                archive = (from arq in db.Arquivos
                           join edi in db.Edificacaos on arq.EdificacaoID equals edi.EdificacaoID into EDI
                           from edi in EDI.DefaultIfEmpty()
                           join gru in db.GrupoCondominos on arq.GrupoCondominoID equals gru.GrupoCondominoID into GRU
                           from gru in GRU.DefaultIfEmpty()
                           join con in db.Condominos on arq.CondominoID equals con.CondominoID into CON
                           from con in CON.DefaultIfEmpty()
                           where arq.CondominioID == sessaoCorrente.empresaId &&
                           ((arq.Data >= _data1 && arq.Data <= _data2) || arq.IndSempreVisivel == "S") &&
                           (arq.CondominoID == _CondominoID) &&
                           (_Nome == null || _Nome == "" || arq.Nome.Contains(_Nome))
                           select new ArquivoViewModel()
                {
                    empresaId = SessaoLocal.empresaId,
                    CondominioID = SessaoLocal.empresaId,
                    FileID = arq.FileID,
                    EdificacaoID = arq.EdificacaoID,
                    EdificacaoDescricao = edi.Descricao,
                    UnidadeID = arq.UnidadeID,
                    CondominoID = arq.CondominoID,
                    CondominoNome = con.Nome,
                    GrupoCondominoID = arq.GrupoCondominoID,
                    GrupoCondominoDescricao = gru.Descricao,
                    Nome = arq.Nome,
                    Data = arq.Data,
                    IndSempreVisivel = arq.IndSempreVisivel
                }).Union(from arq in db.Arquivos            // arquivos com visibilidade pública
                         join edi in db.Edificacaos on arq.EdificacaoID equals edi.EdificacaoID into EDI
                         from edi in EDI.DefaultIfEmpty()
                         join gru in db.GrupoCondominos on arq.GrupoCondominoID equals gru.GrupoCondominoID into GRU
                         from gru in GRU.DefaultIfEmpty()
                         join con in db.Condominos on arq.CondominoID equals con.CondominoID into CON
                         from con in CON.DefaultIfEmpty()
                         where arq.CondominioID == sessaoCorrente.empresaId &&
                         ((arq.Data >= _data1 && arq.Data <= _data2) || arq.IndSempreVisivel == "S") &&
                         (!arq.EdificacaoID.HasValue || _EdificacaoCondomino.Contains(arq.EdificacaoID.ToString()) &&
                          !arq.UnidadeID.HasValue) &&
                         !arq.CondominoID.HasValue &&
                         (_GrupoCondominoID == 0 || arq.GrupoCondominoID == _GrupoCondominoID) &&
                         (_Nome == null || _Nome == "" || arq.Nome.Contains(_Nome))
                         select new ArquivoViewModel()
                {
                    empresaId               = SessaoLocal.empresaId,
                    CondominioID            = SessaoLocal.empresaId,
                    FileID                  = arq.FileID,
                    EdificacaoID            = arq.EdificacaoID,
                    EdificacaoDescricao     = edi.Descricao,
                    UnidadeID               = arq.UnidadeID,
                    CondominoID             = arq.CondominoID,
                    CondominoNome           = con.Nome,
                    GrupoCondominoID        = arq.GrupoCondominoID,
                    GrupoCondominoDescricao = gru.Descricao,
                    Nome             = arq.Nome,
                    Data             = arq.Data,
                    IndSempreVisivel = arq.IndSempreVisivel
                });

                archive = (from arch in archive
                           orderby arch.IndSempreVisivel descending, arch.Data descending
                           select new ArquivoViewModel()
                {
                    empresaId = arch.empresaId,
                    CondominioID = arch.empresaId,
                    FileID = arch.FileID,
                    EdificacaoID = arch.EdificacaoID,
                    EdificacaoDescricao = arch.EdificacaoDescricao,
                    UnidadeID = arch.UnidadeID,
                    CondominoID = arch.CondominoID,
                    CondominoNome = arch.Nome,
                    GrupoCondominoID = arch.GrupoCondominoID,
                    GrupoCondominoDescricao = arch.GrupoCondominoDescricao,
                    Nome = arch.Nome,
                    Data = arch.Data,
                    IndSempreVisivel = arch.IndSempreVisivel,
                    PageSize = pageSize,
                    TotalCount = archive.Count()
                }
                           ).Skip((index ?? 0) * pageSize).Take(pageSize).ToList();
            }
            else
            {
                archive = (from arq in db.Arquivos
                           join edi in db.Edificacaos on arq.EdificacaoID equals edi.EdificacaoID into EDI
                           from edi in EDI.DefaultIfEmpty()
                           join gru in db.GrupoCondominos on arq.GrupoCondominoID equals gru.GrupoCondominoID into GRU
                           from gru in GRU.DefaultIfEmpty()
                           join con in db.Condominos on arq.CondominoID equals con.CondominoID into CON
                           from con in CON.DefaultIfEmpty()
                           where arq.CondominioID == sessaoCorrente.empresaId &&
                           ((arq.Data >= _data1 && arq.Data <= _data2) || arq.IndSempreVisivel == "S") &&
                           (_EdificacaoID == 0 || arq.EdificacaoID == _EdificacaoID) &&
                           (_UnidadeID == 0 || arq.UnidadeID == _UnidadeID) &&
                           (_GrupoCondominoID == 0 || arq.GrupoCondominoID == _GrupoCondominoID) &&
                           (_Nome == null || _Nome == "" || arq.Nome.Contains(_Nome))
                           orderby arq.IndSempreVisivel descending, arq.Data descending
                           select new ArquivoViewModel()
                {
                    empresaId = SessaoLocal.empresaId,
                    CondominioID = SessaoLocal.empresaId,
                    FileID = arq.FileID,
                    EdificacaoID = arq.EdificacaoID,
                    EdificacaoDescricao = edi.Descricao,
                    UnidadeID = arq.UnidadeID,
                    CondominoID = arq.CondominoID,
                    CondominoNome = con.Nome,
                    GrupoCondominoID = arq.GrupoCondominoID,
                    GrupoCondominoDescricao = gru.Descricao,
                    Nome = arq.Nome,
                    Data = arq.Data,
                    IndSempreVisivel = arq.IndSempreVisivel,
                    PageSize = pageSize,
                    TotalCount = ((from arq1 in db.Arquivos
                                   join edi1 in db.Edificacaos on arq1.EdificacaoID equals edi1.EdificacaoID into EDI1
                                   from edi1 in EDI1.DefaultIfEmpty()
                                   join gru1 in db.GrupoCondominos on arq1.GrupoCondominoID equals gru1.GrupoCondominoID into GRU1
                                   from gru1 in GRU1.DefaultIfEmpty()
                                   join con1 in db.Condominos on arq1.CondominoID equals con1.CondominoID into CON1
                                   from con1 in CON1.DefaultIfEmpty()
                                   where arq1.CondominioID == sessaoCorrente.empresaId &&
                                   ((arq1.Data >= _data1 && arq1.Data <= _data2) || arq1.IndSempreVisivel == "S") &&
                                   (_EdificacaoID == 0 || arq1.EdificacaoID == _EdificacaoID) &&
                                   (_UnidadeID == 0 || arq1.UnidadeID == _UnidadeID) &&
                                   (_GrupoCondominoID == 0 || arq1.GrupoCondominoID == _GrupoCondominoID) &&
                                   (_Nome == null || _Nome == "" || arq1.Nome.Contains(_Nome))
                                   orderby arq1.IndSempreVisivel descending, arq1.Data descending
                                   select arq1).Count())
                }).Skip((index ?? 0) * pageSize).Take(pageSize).ToList();
            }

            return(archive);
        }
コード例 #5
0
        public override IEnumerable <InformativoViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            DateTime data1            = param.Count() > 0 && param[0] != null ? (DateTime)param[0] : new DateTime(1980, 1, 1);
            DateTime data2            = param.Count() > 1 && param[1] != null ? (DateTime)param[1] : Funcoes.Brasilia().Date.AddDays(30);
            string   EdificacaoID     = "";
            string   GrupoCondominoID = "";
            string   IsHome           = "N";

            if (param.Count() > 2)
            {
                IsHome = "S";
                if (param[2] != null)
                {
                    int[] GrupoCondomino = (int[])param[2];
                    for (int i = 0; i <= GrupoCondomino.Count() - 1; i++)
                    {
                        GrupoCondominoID += GrupoCondomino[i].ToString() + ";";
                    }
                }

                if (param[3] != null)
                {
                    IEnumerable <Unidade> Unidades = (IEnumerable <Unidade>)param[3];
                    foreach (var unidade in Unidades)
                    {
                        EdificacaoID += unidade.EdificacaoID.ToString().Trim() + ";";
                    }
                }
            }

            return((from info in db.Informativos
                    join gru in db.GrupoCondominos on info.GrupoCondominoID equals gru.GrupoCondominoID into GRU
                    from gru in GRU.DefaultIfEmpty()
                    join edi in db.Edificacaos on info.EdificacaoID equals edi.EdificacaoID into EDI
                    from edi in EDI.DefaultIfEmpty()
                    where info.DataPublicacao <= SqlFunctions.GetDate() &&
                    info.CondominioID == sessaoCorrente.empresaId &&
                    (IsHome == "N" || info.DataExpiracao >= SqlFunctions.GetDate()) &&
                    (GrupoCondominoID == "" || !info.GrupoCondominoID.HasValue || (info.GrupoCondominoID.HasValue && GrupoCondominoID.Contains(SqlFunctions.StringConvert((double)info.GrupoCondominoID).Trim()))) &&
                    (EdificacaoID == "" || !info.EdificacaoID.HasValue || (info.EdificacaoID.HasValue && EdificacaoID.Contains(SqlFunctions.StringConvert((double)info.EdificacaoID).Trim())))
                    orderby info.DataPublicacao descending
                    select new InformativoViewModel
            {
                empresaId = sessaoCorrente.empresaId,
                InformativoID = info.InformativoID,
                CondominioID = info.CondominioID,
                EdificacaoID = info.EdificacaoID,
                descricao_edificacao = edi.Descricao,
                GrupoCondominoID = gru.GrupoCondominoID,
                descricao_GrupoCondomino = gru.Descricao,
                DataExpiracao = info.DataExpiracao,
                DataInformativo = info.DataInformativo,
                DataPublicacao = info.DataPublicacao,
                Cabecalho = info.Cabecalho,
                Resumo = info.Resumo,
                MensagemDetalhada = info.MensagemDetalhada,
                InformativoAnuncio = info.InformativoAnuncio,
                Comentarios = (from com in db.InformativoComentarios
                               join con in db.Condominos on com.CondominoID equals con.CondominoID
                               join cu in db.CondominoUnidades on new { con.CondominioID, con.CondominoID } equals new { cu.CondominioID, cu.CondominoID }
                               join ed in db.Edificacaos on cu.EdificacaoID equals ed.EdificacaoID
                               where com.InformativoID == info.InformativoID &&
                               cu.DataFim == null
                               select new InformativoComentarioViewModel()
                {
                    InformativoID = info.InformativoID,
                    DataComentario = com.DataComentario,
                    CondominoID = com.CondominoID,
                    Nome = con.Nome,
                    EdificacaoID = ed.EdificacaoID,
                    DescricaoEdificacao = ed.Descricao,
                    UnidadeID = cu.UnidadeID,
                    Descricao = com.Descricao,
                    DataDesativacao = com.DataDesativacao,
                    Motivo = com.Motivo
                }).ToList(),
                PageSize = pageSize,
                TotalCount = (from info1 in db.Informativos
                              join gru1 in db.GrupoCondominos on info1.GrupoCondominoID equals gru1.GrupoCondominoID into GRU1
                              from gru1 in GRU1.DefaultIfEmpty()
                              join edi1 in db.Edificacaos on info1.EdificacaoID equals edi1.EdificacaoID into EDI1
                              from edi1 in EDI1.DefaultIfEmpty()
                              where info.DataPublicacao <= SqlFunctions.GetDate() &&
                              info1.CondominioID == sessaoCorrente.empresaId &&
                              (IsHome == "N" || info1.DataExpiracao >= SqlFunctions.GetDate()) &&
                              (GrupoCondominoID == "" || !info1.GrupoCondominoID.HasValue || (info1.GrupoCondominoID.HasValue && GrupoCondominoID.Contains(SqlFunctions.StringConvert((double)info1.GrupoCondominoID).Trim()))) &&
                              (EdificacaoID == "" || !info1.EdificacaoID.HasValue || (info1.EdificacaoID.HasValue && EdificacaoID.Contains(SqlFunctions.StringConvert((double)info1.EdificacaoID).Trim())))
                              orderby info1.DataPublicacao descending
                              select info1).Count()
            }).Skip((index ?? 0) * pageSize).Take(pageSize).ToList());
        }