public static SessaoLocal GetSessaoLocal(Sessao sessaoCorrente, DbContext _db) { ApplicationContext db = (ApplicationContext)_db; SessaoLocal SessaoLocal = new SessaoLocal() { dt_atualizacao = sessaoCorrente.dt_atualizacao, dt_criacao = sessaoCorrente.dt_criacao, dt_desativacao = sessaoCorrente.dt_desativacao, empresaId = sessaoCorrente.empresaId, ip = sessaoCorrente.ip, isOnline = sessaoCorrente.isOnline, login = sessaoCorrente.login, sessaoId = sessaoCorrente.sessaoId, sistemaId = sessaoCorrente.sistemaId, usuarioId = sessaoCorrente.usuarioId, value1 = sessaoCorrente.value1, value2 = sessaoCorrente.value2, value3 = sessaoCorrente.value3, value4 = sessaoCorrente.value4, }; #region É Condômino? if ((from con in db.Condominos join cre in db.Credenciados on con.CondominoID equals cre.CondominoID into CRE from cre in CRE.DefaultIfEmpty() where con.CondominioID == SessaoLocal.empresaId && (con.UsuarioID == SessaoLocal.usuarioId || cre.UsuarioID == SessaoLocal.usuarioId) && con.IndSituacao == "A" select con.CondominoID).Count() > 0) { #region CondominoID SessaoLocal.CondominoID = (from con in db.Condominos join cre in db.Credenciados on con.CondominoID equals cre.CondominoID into CRE from cre in CRE.DefaultIfEmpty() where con.CondominioID == SessaoLocal.empresaId && (con.UsuarioID == SessaoLocal.usuarioId || cre.UsuarioID == SessaoLocal.usuarioId) && con.IndSituacao == "A" select con.CondominoID).FirstOrDefault(); #endregion #region CredenciadoID SessaoLocal.CredenciadoID = (from con in db.Condominos join cre in db.Credenciados on con.CondominoID equals cre.CondominoID where con.CondominioID == SessaoLocal.empresaId && cre.UsuarioID == SessaoLocal.usuarioId && con.IndSituacao == "A" select cre.CredenciadoID).FirstOrDefault(); #endregion #region Grupos do Condômino var _GrupoCondominoID = (from g in db.GrupoCondominoUsuarios where g.CondominoID == SessaoLocal.CondominoID select g.GrupoCondominoID).AsEnumerable(); if (_GrupoCondominoID.Count() > 0) { int i = 0; SessaoLocal.GrupoCondominoID = new int[_GrupoCondominoID.Count()]; foreach (int GrupoCondominoID in _GrupoCondominoID) { SessaoLocal.GrupoCondominoID[i++] = GrupoCondominoID; } } #endregion SessaoLocal.Unidades = (from uni in db.Unidades join con in db.CondominoUnidades on new { uni.CondominioID, uni.EdificacaoID, uni.UnidadeID } equals new { con.CondominioID, con.EdificacaoID, con.UnidadeID } where con.CondominoID == SessaoLocal.CondominoID select uni).ToList(); } else { #region É Fornecedor SessaoLocal.FilaFornecedorID = (from f in db.FilaAtendimentos join u in db.FilaAtendimentoUsuarios on f.FilaAtendimentoID equals u.FilaAtendimentoID where f.CondominioID == SessaoLocal.empresaId && u.UsuarioID == SessaoLocal.usuarioId && u.Situacao == "A" && f.IsFornecedor == "S" select f.FilaAtendimentoID).FirstOrDefault(); #endregion } #endregion return(SessaoLocal); }
public override IEnumerable <ChamadoViewModel> Bind(int?index, int pageSize = 50, params object[] param) { #region parâmetros /* 0. Período: * 007 última semana * 030 últimos 30 dias * 060 últimos 60 dias * 090 Últimos 90 dias * 180 Últimos 180 dias * * 1. Edificação * 2. Unidade * 3. Condômino * 4. Fila de atendimento * 5. Chamado Motivo =>> Null = Todos * 6. Chamado Status =>> Null = Todos * */ #region Param1: Período DateTime _data1 = _data1 = Funcoes.Brasilia().Date.AddDays(-(int)param[0]); DateTime _data2 = Funcoes.Brasilia().Date; #endregion int?_EdificacaoID = (int?)param[1]; int?_UnidadeID = (int?)param[2]; int?_CondominoID = (int?)param[3]; int?_FilaAtendimentoID = (int?)param[4]; int?_ChamadoMotivoID = (int?)param[5]; int?_ChamadoStatusID = (int?)param[6]; #endregion return((from cha in db.Chamados join FilaAtual in db.FilaAtendimentos on cha.FilaAtendimentoID equals FilaAtual.FilaAtendimentoID join con in db.Condominos on cha.CondominoID equals con.CondominoID into CON from con in CON.DefaultIfEmpty() join cre in db.Credenciados on cha.CredenciadoID equals cre.CredenciadoID into CRE from cre in CRE.DefaultIfEmpty() join edi in db.Edificacaos on cha.EdificacaoID equals edi.EdificacaoID into EDI from edi in EDI.DefaultIfEmpty() join uni in db.Unidades on new { CondominioID = cha.CondominioID, EdificacaoID = cha.EdificacaoID.Value, UnidadeID = cha.UnidadeID.Value } equals new { uni.CondominioID, uni.EdificacaoID, uni.UnidadeID } into UNI from uni in UNI.DefaultIfEmpty() join sta in db.ChamadoStatuss on cha.ChamadoStatusID equals sta.ChamadoStatusID join mot in db.ChamadoMotivos on cha.ChamadoMotivoID equals mot.ChamadoMotivoID where cha.CondominioID == SessaoLocal.empresaId && cha.DataChamado >= _data1 && cha.DataChamado <= _data2 && sta.CondominioID == SessaoLocal.empresaId && mot.CondominioID == SessaoLocal.empresaId && (!_EdificacaoID.HasValue || (cha.EdificacaoID == _EdificacaoID && cha.UnidadeID == _UnidadeID)) && (!_CondominoID.HasValue || cha.CondominoID == _CondominoID) && (!_FilaAtendimentoID.HasValue || cha.FilaAtendimentoID == _FilaAtendimentoID) && (!_ChamadoMotivoID.HasValue || cha.ChamadoMotivoID == _ChamadoMotivoID) && (!_ChamadoStatusID.HasValue || cha.ChamadoStatusID == _ChamadoStatusID) orderby cha.DataChamado descending select new ChamadoViewModel { empresaId = SessaoLocal.empresaId, ChamadoID = cha.ChamadoID, ChamadoMotivoID = cha.ChamadoMotivoID, DescricaoChamadoMotivo = mot.Descricao, ChamadoStatusID = cha.ChamadoStatusID, DescricaoChamadoStatus = sta.Descricao, FilaSolicitanteID = cha.FilaSolicitanteID, DescricaoFilaSolicitante = (from fil in db.FilaAtendimentos where fil.CondominioID == SessaoLocal.empresaId && fil.FilaAtendimentoID == cha.FilaSolicitanteID select fil.Descricao).FirstOrDefault(), FilaAtendimentoID = cha.FilaAtendimentoID, DescricaoFilaAtendimento = FilaAtual.Descricao, CondominoID = cha.CondominoID, CredenciadoID = cha.CredenciadoID, NomeCondomino = con != null ? con.Nome : "", NomeCredenciado = cre != null ? cre.Nome : "", EdificacaoID = cha.EdificacaoID, DescricaoEdificacao = edi.Descricao, UnidadeID = cha.UnidadeID, Codigo = uni.Codigo, DataChamado = cha.DataChamado, Assunto = cha.Assunto, UsuarioID = cha.UsuarioID, NomeUsuario = cha.NomeUsuario, LoginUsuario = cha.LoginUsuario, Prioridade = cha.Prioridade, DataUltimaAnotacao = cha.DataUltimaAnotacao, DataRedirecionamento = cha.DataRedirecionamento, UsuarioFilaID = cha.UsuarioFilaID, NomeUsuarioFila = cha.NomeUsuarioFila, LoginUsuarioFila = cha.LoginUsuarioFila }).ToList()); }
public override IEnumerable <ChamadoViewModel> Bind(int?index, int pageSize = 50, params object[] param) { #region parâmetros /* 0. Data1 * 1. Data2 * 2. ChamadoMotivoID * 3. ChamadoStatusID * 4. FilaSolicitanteID * 5. FilaAtendimentoID * 6. EdificacaoID * 7. UnidadeID */ DateTime _data1 = (DateTime)param[0]; DateTime _data2 = (DateTime)param[1]; int? _ChamadoMotivoID = (int?)param[2]; int? _ChamadoStatusID = (int?)param[3]; int? _FilaSolicitanteID = (int?)param[4]; int? _FilaAtendimentoID = (int?)param[5]; int? _EdificacaoID = (int?)param[6]; int? _UnidadeID = (int?)param[7]; #endregion var x = (from cha in db.Chamados join FilaAtual in db.FilaAtendimentos on cha.FilaAtendimentoID equals FilaAtual.FilaAtendimentoID join con in db.Condominos on cha.CondominoID equals con.CondominoID into CON from con in CON.DefaultIfEmpty() join cre in db.Credenciados on cha.CredenciadoID equals cre.CredenciadoID into CRE from cre in CRE.DefaultIfEmpty() join edi in db.Edificacaos on cha.EdificacaoID equals edi.EdificacaoID into EDI from edi in EDI.DefaultIfEmpty() join uni in db.Unidades on new { CondominioID = cha.CondominioID, EdificacaoID = cha.EdificacaoID.Value, UnidadeID = cha.UnidadeID.Value } equals new { uni.CondominioID, uni.EdificacaoID, uni.UnidadeID } into UNI from uni in UNI.DefaultIfEmpty() join sta in db.ChamadoStatuss on cha.ChamadoStatusID equals sta.ChamadoStatusID join mot in db.ChamadoMotivos on cha.ChamadoMotivoID equals mot.ChamadoMotivoID where cha.CondominioID == SessaoLocal.empresaId && cha.DataChamado >= _data1 && cha.DataChamado <= _data2 && sta.CondominioID == SessaoLocal.empresaId && mot.CondominioID == SessaoLocal.empresaId && (!_EdificacaoID.HasValue || (cha.EdificacaoID == _EdificacaoID && cha.UnidadeID == _UnidadeID)) && (!_FilaAtendimentoID.HasValue || cha.FilaAtendimentoID == _FilaAtendimentoID) && (!_FilaSolicitanteID.HasValue || cha.FilaSolicitanteID == _FilaSolicitanteID) && (!_ChamadoMotivoID.HasValue || cha.ChamadoMotivoID == _ChamadoMotivoID) && (!_ChamadoStatusID.HasValue || cha.ChamadoStatusID == _ChamadoStatusID) orderby cha.DataChamado descending select new ChamadoViewModel { empresaId = SessaoLocal.empresaId, ChamadoID = cha.ChamadoID, ChamadoMotivoID = cha.ChamadoMotivoID, DescricaoChamadoMotivo = mot.Descricao, ChamadoStatusID = cha.ChamadoStatusID, DescricaoChamadoStatus = sta.Descricao, FilaSolicitanteID = cha.FilaSolicitanteID, DescricaoFilaSolicitante = (from fil in db.FilaAtendimentos where fil.CondominioID == SessaoLocal.empresaId && fil.FilaAtendimentoID == cha.FilaSolicitanteID select fil.Descricao).FirstOrDefault(), FilaAtendimentoID = cha.FilaAtendimentoID, DescricaoFilaAtendimento = FilaAtual.Descricao, CondominoID = cha.CondominoID, CredenciadoID = cha.CredenciadoID, NomeCondomino = con != null ? con.Nome : "", NomeCredenciado = cre != null ? cre.Nome : "", EdificacaoID = cha.EdificacaoID, DescricaoEdificacao = edi.Descricao, UnidadeID = cha.UnidadeID, Codigo = uni.Codigo, DataChamado = cha.DataChamado, Assunto = cha.Assunto, UsuarioID = cha.UsuarioID, NomeUsuario = cha.NomeUsuario, LoginUsuario = cha.LoginUsuario, Prioridade = cha.Prioridade, DataUltimaAnotacao = cha.DataUltimaAnotacao, DataRedirecionamento = cha.DataRedirecionamento, UsuarioFilaID = cha.UsuarioFilaID, NomeUsuarioFila = cha.NomeUsuarioFila, LoginUsuarioFila = cha.LoginUsuarioFila }).ToList(); return(x); }
public override IEnumerable <ChamadoViewModel> Bind(int?index, int pageSize = 50, params object[] param) { int _FilaCondominoID = DWMSessaoLocal.FilaCondominoID(sessaoCorrente, this.db); return((from cha in db.Chamados join FilaAtual in db.FilaAtendimentos on cha.FilaAtendimentoID equals FilaAtual.FilaAtendimentoID join con in db.Condominos on cha.CondominoID equals con.CondominoID into CON from con in CON.DefaultIfEmpty() join cre in db.Credenciados on cha.CredenciadoID equals cre.CredenciadoID into CRE from cre in CRE.DefaultIfEmpty() join edi in db.Edificacaos on cha.EdificacaoID equals edi.EdificacaoID into EDI from edi in EDI.DefaultIfEmpty() join uni in db.Unidades on new { CondominioID = cha.CondominioID, EdificacaoID = cha.EdificacaoID.Value, UnidadeID = cha.UnidadeID.Value } equals new { uni.CondominioID, uni.EdificacaoID, uni.UnidadeID } into UNI from uni in UNI.DefaultIfEmpty() join sta in db.ChamadoStatuss on cha.ChamadoStatusID equals sta.ChamadoStatusID join mot in db.ChamadoMotivos on cha.ChamadoMotivoID equals mot.ChamadoMotivoID where cha.CondominioID == SessaoLocal.empresaId && sta.CondominioID == SessaoLocal.empresaId && mot.CondominioID == SessaoLocal.empresaId && ((cha.ChamadoStatusID == 3 && (SessaoLocal.CondominoID > 0 || SessaoLocal.CredenciadoID > 0)) || cha.ChamadoStatusID != 3) && // 3-Encerrado (cha.UsuarioID == SessaoLocal.usuarioId || cha.UsuarioFilaID == SessaoLocal.usuarioId || (cha.CondominoID.HasValue && cha.CondominoID == SessaoLocal.CondominoID && SessaoLocal.CondominoID > 0) || (from usu in db.FilaAtendimentoUsuarios where usu.FilaAtendimentoID == cha.FilaAtendimentoID select usu.UsuarioID).Contains(SessaoLocal.usuarioId)) orderby cha.DataChamado descending select new ChamadoViewModel { empresaId = SessaoLocal.empresaId, ChamadoID = cha.ChamadoID, ChamadoMotivoID = cha.ChamadoMotivoID, DescricaoChamadoMotivo = mot.Descricao, ChamadoStatusID = cha.ChamadoStatusID, DescricaoChamadoStatus = sta.Descricao, FilaSolicitanteID = cha.FilaSolicitanteID, DescricaoFilaSolicitante = (from fil in db.FilaAtendimentos where fil.CondominioID == SessaoLocal.empresaId && fil.FilaAtendimentoID == cha.FilaSolicitanteID select fil.Descricao).FirstOrDefault(), FilaAtendimentoID = cha.FilaAtendimentoID, DescricaoFilaAtendimento = FilaAtual.Descricao, FilaCondominoID = _FilaCondominoID, CondominoID = cha.CondominoID, CredenciadoID = cha.CredenciadoID, NomeCondomino = con != null ? con.Nome : "", NomeCredenciado = cre != null ? cre.Nome : "", EdificacaoID = cha.EdificacaoID, DescricaoEdificacao = edi.Descricao, UnidadeID = cha.UnidadeID, Codigo = uni.Codigo, DataChamado = cha.DataChamado, Assunto = cha.Assunto, UsuarioID = cha.UsuarioID, NomeUsuario = cha.NomeUsuario, LoginUsuario = cha.LoginUsuario, Prioridade = cha.Prioridade, DataUltimaAnotacao = cha.DataUltimaAnotacao, DataRedirecionamento = cha.DataRedirecionamento, UsuarioFilaID = cha.UsuarioFilaID, NomeUsuarioFila = cha.NomeUsuarioFila, LoginUsuarioFila = cha.LoginUsuarioFila }).ToList()); }