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()); }
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); }
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); }
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); }
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()); }