public List <GrupoUsuario> ObtenerGruposByIdUsuario(int idUsuario, bool insertarSeleccion) { List <GrupoUsuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.UsuarioGrupo.Where(w => w.IdUsuario == idUsuario).Select(s => s.GrupoUsuario).Where(w => w.Habilitado).Distinct().OrderBy(o => o.Descripcion).ToList(); foreach (GrupoUsuario gpo in result) { db.LoadProperty(gpo, "TipoUsuario"); db.LoadProperty(gpo, "TipoGrupo"); } if (insertarSeleccion) { result.Insert(BusinessVariables.ComboBoxCatalogo.IndexSeleccione, new GrupoUsuario { Id = BusinessVariables.ComboBoxCatalogo.ValueSeleccione, Descripcion = BusinessVariables.ComboBoxCatalogo.DescripcionSeleccione }); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <GrupoUsuario> ObtenerGruposUsuarioSistemaNivelArbol() { List <GrupoUsuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; //db.GrupoUsuarioInventarioArbol.Where(w => w.InventarioArbolAcceso.ArbolAcceso.Nivel1.Id == 1); result = db.GrupoUsuario.Where(w => w.Habilitado && w.Sistema && w.IdTipoGrupo != (int)BusinessVariables.EnumTiposGrupos.Administrador) .OrderBy(o => o.Id) .ToList(); foreach (GrupoUsuario grupo in result) { db.LoadProperty(grupo, "TipoGrupo"); db.LoadProperty(grupo.TipoGrupo, "RolTipoGrupo"); db.LoadProperty(grupo, "SubGrupoUsuario"); foreach (SubGrupoUsuario subGrupo in grupo.SubGrupoUsuario) { db.LoadProperty(subGrupo, "SubRol"); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public SubGrupoUsuario ObtenerSubGrupoUsuario(int idGrupoUsuario, int idSubGrupo) { SubGrupoUsuario result = new SubGrupoUsuario(); DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.SubGrupoUsuario.SingleOrDefault(s => s.IdGrupoUsuario == idGrupoUsuario && s.Id == idSubGrupo); if (result != null) { db.LoadProperty(result, "SubRol"); db.LoadProperty(result, "GrupoUsuario"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public Encuesta ObtenerEncuestaByIdTicket(int idTicket) { Encuesta result = null; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; Ticket tk = db.Ticket.Single(s => s.Id == idTicket); if (tk != null) { db.LoadProperty(tk, "Encuesta"); result = tk.Encuesta; if (result != null) { db.LoadProperty(result, "TipoEncuesta"); db.LoadProperty(result, "EncuestaPregunta"); } } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public InformacionConsulta ObtenerInformacionConsultaById(int idInformacion) { InformacionConsulta result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.InformacionConsulta.SingleOrDefault(w => w.Id == idInformacion); if (result != null) { db.LoadProperty(result, "TipoInfConsulta"); db.LoadProperty(result, "InformacionConsultaDatos"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Impacto> ObtenerAll(bool insertarSeleccion) { List <Impacto> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Impacto.OrderBy(o => o.Descripcion).ToList(); foreach (Impacto impacto in result) { db.LoadProperty(impacto, "Prioridad"); db.LoadProperty(impacto, "Urgencia"); } if (insertarSeleccion) { result.Insert(BusinessVariables.ComboBoxCatalogo.IndexSeleccione, new Impacto { Id = BusinessVariables.ComboBoxCatalogo.ValueSeleccione, Descripcion = BusinessVariables.ComboBoxCatalogo.DescripcionSeleccione }); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <InformacionConsulta> ObtenerInformacionConsulta(int?idTipoInformacionConsulta, int?idTipoDocumento) { List <InformacionConsulta> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <InformacionConsulta> qry = db.InformacionConsulta; if (idTipoInformacionConsulta != null) { qry = qry.Where(w => w.IdTipoInfConsulta == idTipoInformacionConsulta); } if (idTipoDocumento != null) { qry = qry.Where(w => w.IdTipoDocumento == idTipoDocumento); } result = qry.ToList(); foreach (InformacionConsulta consulta in result) { db.LoadProperty(consulta, "TipoInfConsulta"); db.LoadProperty(consulta, "TipoDocumento"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <InformacionConsulta> ObtenerInformacionConsulta(string descripcion) { List <InformacionConsulta> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <InformacionConsulta> qry = db.InformacionConsulta; descripcion = descripcion.Trim().ToLower(); qry = qry.Where(w => w.Descripcion.ToLower().Contains(descripcion)); result = qry.ToList(); foreach (InformacionConsulta consulta in result) { db.LoadProperty(consulta, "TipoInfConsulta"); db.LoadProperty(consulta, "UsuarioAlta"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <EstatusAsignacionSubRolGeneral> ObtenerEstatusAsignacionSubRolGeneral() { List <EstatusAsignacionSubRolGeneral> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.EstatusAsignacionSubRolGeneral.ToList(); foreach (EstatusAsignacionSubRolGeneral data in result) { db.LoadProperty(data, "GrupoUsuario"); db.LoadProperty(data, "Rol"); db.LoadProperty(data, "SubRol"); db.LoadProperty(data, "EstatusAsignacionActual"); db.LoadProperty(data, "EstatusAsignacionAccion"); } } catch (Exception e) { throw new Exception(e.Message); } finally { db.Dispose(); } return(result); }
public Impacto ObtenerImpactoById(int idImpacto) { Impacto result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Impacto.SingleOrDefault(w => w.Id == idImpacto); if (result != null) { db.LoadProperty(result, "Prioridad"); db.LoadProperty(result, "Urgencia"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public GrupoUsuario ObtenerGrupoUsuarioById(int idGrupoUsuario) { GrupoUsuario result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.GrupoUsuario.SingleOrDefault(s => s.Id == idGrupoUsuario); if (result != null) { db.LoadProperty(result, "TipoUsuario"); db.LoadProperty(result, "TipoGrupo"); db.LoadProperty(result, "SubGrupoUsuario"); foreach (SubGrupoUsuario sb in result.SubGrupoUsuario) { db.LoadProperty(sb, "HorarioSubGrupo"); db.LoadProperty(sb, "DiaFestivoSubGrupo"); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public Colonia ObtenerDetalleColonia(int idColonia) { Colonia result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Colonia.SingleOrDefault(w => w.Id == idColonia); if (result != null) { db.LoadProperty(result, "Municipio"); db.LoadProperty(result.Municipio, "Estado"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public Mascara ObtenerMascaraCapturaByIdTicket(int idTicket) { DataBaseModelContext db = new DataBaseModelContext(); Mascara result = null; try { db.ContextOptions.ProxyCreationEnabled = _proxy; Ticket ticket = db.Ticket.Single(s => s.Id == idTicket); if (ticket != null) { db.LoadProperty(ticket, "Mascara"); result = ticket.Mascara; if (result != null) { db.LoadProperty(result, "CampoMascara"); foreach (CampoMascara campoMascara in result.CampoMascara) { db.LoadProperty(campoMascara, "TipoCampoMascara"); db.LoadProperty(campoMascara, "Catalogos"); } } } } catch (Exception ex) { throw new Exception(ex.Message); } return(result); }
public Encuesta ObtenerEncuestaById(int idEncuesta) { Encuesta result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Encuesta.SingleOrDefault(w => w.Id == idEncuesta); if (result != null) { db.LoadProperty(result, "TipoEncuesta"); db.LoadProperty(result, "EncuestaPregunta"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <HelperNotasOpcion> ObtenerNotasOpcion(int idUsuario, bool insertarSeleccion) { List <HelperNotasOpcion> result = new List <HelperNotasOpcion>(); DataBaseModelContext db = new DataBaseModelContext(); try { List <int> grupos = new BusinessGrupoUsuario().ObtenerGruposByIdUsuario(idUsuario, false).Select(s => s.Id).Distinct().ToList(); List <int> lstArboles = new BusinessArbolAcceso().ObtenerArbolesAccesoByGrupos(grupos).Select(s => s.Id).Distinct().ToList(); List <NotaOpcionGrupo> lstGeneral = db.NotaOpcionGrupo.Where(w => w.IdUsuario == idUsuario && lstArboles.Contains(w.IdArbolAcceso)).ToList(); foreach (NotaOpcionGrupo nota in lstGeneral) { db.LoadProperty(nota, "TipoNota"); result.Add(new HelperNotasOpcion { Id = nota.Id, IdTipoNota = nota.IdTipoNota, TipoNota = nota.TipoNota.Descripcion, IdArbol = nota.IdArbolAcceso, Nombre = nota.Nombre, Contenido = nota.Contenido }); } lstArboles = new BusinessArbolAcceso().ObtenerArbolesAccesoByIdUsuario(idUsuario).Select(s => s.Id).Distinct().ToList(); List <NotaOpcionUsuario> lstOpcion = db.NotaOpcionUsuario.Where(w => w.IdUsuario == idUsuario && lstArboles.Contains(w.IdArbolAcceso)).ToList(); foreach (NotaOpcionUsuario nota in lstOpcion) { db.LoadProperty(nota, "TipoNota"); result.Add(new HelperNotasOpcion { Id = nota.Id, IdTipoNota = nota.IdTipoNota, TipoNota = nota.TipoNota.Descripcion, IdArbol = nota.IdArbolAcceso, Nombre = nota.Nombre, Contenido = nota.Contenido }); } if (insertarSeleccion) { result.Insert(BusinessVariables.ComboBoxCatalogo.IndexSeleccione, new HelperNotasOpcion { Id = BusinessVariables.ComboBoxCatalogo.ValueSeleccione, Nombre = BusinessVariables.ComboBoxCatalogo.DescripcionSeleccione }); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <GrupoUsuario> ObtenerGruposUsuarioResponsablesByGruposTipoServicio(int idUsuario, List <int> grupos, List <int> tipoServicio) { List <GrupoUsuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; bool supervisor = db.SubGrupoUsuario.Join(db.UsuarioGrupo, sgu => sgu.Id, ug => ug.IdSubGrupoUsuario, (sgu, ug) => new { sgu, ug }) .Any(@t => @t.sgu.IdSubRol == (int)BusinessVariables.EnumSubRoles.Supervisor && @t.ug.IdUsuario == idUsuario); var qry = from t in db.Ticket join tgu in db.TicketGrupoUsuario on t.Id equals tgu.IdTicket join gu in db.GrupoUsuario on tgu.IdGrupoUsuario equals gu.Id join ug in db.UsuarioGrupo on gu.Id equals ug.IdGrupoUsuario where gu.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.Agente || gu.IdTipoUsuario == (int)BusinessVariables.EnumTiposGrupos.ResponsableDeContenido select new { t, gu, ug }; if (!supervisor) { qry = from q in qry where q.ug.IdUsuario == idUsuario select q; } if (grupos.Any()) { qry = from q in qry where grupos.Contains(q.gu.Id) select q; } if (tipoServicio.Any()) { qry = from q in qry where tipoServicio.Contains(q.t.IdTipoArbolAcceso) select q; } result = qry.Select(s => s.gu).Distinct().ToList(); foreach (GrupoUsuario grupo in result) { db.LoadProperty(grupo, "TipoUsuario"); db.LoadProperty(grupo, "TipoGrupo"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <TelefonoUsuario> ObtenerTelefonosParametrosIdTipoUsuario(int idTipoUsuario, bool insertarSeleccion) { List <TelefonoUsuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = new List <TelefonoUsuario>(); foreach (ParametrosTelefonos parametrosTelefonose in db.ParametrosTelefonos.Where(w => w.IdTipoUsuario == idTipoUsuario)) { db.LoadProperty(parametrosTelefonose, "TipoTelefono"); for (int i = 0; i < parametrosTelefonose.NumeroTelefonos; i++) { result.Add(new TelefonoUsuario { IdTipoTelefono = parametrosTelefonose.IdTipoTelefono, TipoTelefono = parametrosTelefonose.TipoTelefono }); } } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <GrupoUsuario> ObtenerGrupos(bool insertarSeleccion) { List <GrupoUsuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.GrupoUsuario.OrderBy(o => o.Descripcion).ToList(); foreach (GrupoUsuario gpo in result) { db.LoadProperty(gpo, "TipoUsuario"); } if (insertarSeleccion) { result.Insert(BusinessVariables.ComboBoxCatalogo.Index, new GrupoUsuario { Id = BusinessVariables.ComboBoxCatalogo.Value, Descripcion = BusinessVariables.ComboBoxCatalogo.Descripcion }); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Encuesta> Consulta(string descripcion) { List <Encuesta> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <Encuesta> qry = db.Encuesta; if (descripcion.Trim() != string.Empty) { qry = qry.Where(w => w.Descripcion.Contains(descripcion)); } result = qry.ToList(); foreach (Encuesta encuesta in result) { db.LoadProperty(encuesta, "TipoEncuesta"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Puesto> ObtenerPuestoConsulta(int?idTipoUsuario) { List <Puesto> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <Puesto> qry = db.Puesto; if (idTipoUsuario != null) { qry = qry.Where(w => w.IdTipoUsuario == idTipoUsuario); } result = qry.OrderBy(o => o.Descripcion).ToList(); foreach (Puesto puesto in result) { db.LoadProperty(puesto, "TipoUsuario"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public List <InformacionConsulta> ObtenerInformacionConsultaArbol(int idArbol) { List <InformacionConsulta> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.InventarioArbolAcceso.Join(db.InventarioInfConsulta, iaa => iaa.Id, iic => iic.IdInventario, (iaa, iic) => new { iaa, iic }) .Join(db.InformacionConsulta, @t => @t.iic.IdInfConsulta, ic => ic.Id, (@t, ic) => new { @t, ic }) .Where(@t => @[email protected] == idArbol) .Select(@t => @t.ic).ToList(); foreach (InformacionConsulta informacionConsulta in result) { db.LoadProperty(informacionConsulta, "TipoInfConsulta"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public GrupoUsuario ObtenerGrupoDefaultRol(int idRol, int idTipoUsuario) { GrupoUsuario result = null; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; RolTipoGrupo rolTipoGrupo = db.RolTipoGrupo.SingleOrDefault(w => w.IdRol == idRol); if (rolTipoGrupo != null) { if (db.GrupoUsuario.Any(f => f.IdTipoGrupo == rolTipoGrupo.IdTipoGrupo && f.IdTipoUsuario == idTipoUsuario && f.Sistema)) { result = db.GrupoUsuario.First(f => f.IdTipoGrupo == rolTipoGrupo.IdTipoGrupo && f.IdTipoUsuario == idTipoUsuario && f.Sistema); db.LoadProperty(result, "SubGrupoUsuario"); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(result); }
public string EnviaCodigoVerificacionCorreo(int idUsuario, int idTipoNotificacion, int idCorreo) { DataBaseModelContext db = new DataBaseModelContext(); string result = null; try { db.ContextOptions.ProxyCreationEnabled = _proxy; Random generator = new Random(); String codigo = generator.Next(0, 99999).ToString("D5"); Guid g = Guid.NewGuid(); ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.RecuperarCuenta && s.Habilitado); if (correo != null) { string to = db.CorreoUsuario.Single(s => s.Id == idCorreo).Correo; db.LoadProperty(correo, "TipoCorreo"); Usuario usuario = db.Usuario.Single(u => u.Id == idUsuario); db.LoadProperty(usuario, "CorreoUsuario"); String body = string.Format(correo.Contenido, usuario.NombreCompleto, ConfigurationManager.AppSettings["siteUrl"] + "/FrmRecuperar.aspx?confirmacionCodigo=" + BusinessQueryString.Encrypt(idUsuario + "_" + g) + "&correo=" + BusinessQueryString.Encrypt(idCorreo.ToString()) + "&code=" + BusinessQueryString.Encrypt(codigo), codigo); BusinessCorreo.SendMail(to, correo.TipoCorreo.Descripcion, body); usuario.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumTipoLink.Reset, Codigo = codigo } }; db.SaveChanges(); result = g.ToString(); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Ubicacion> ObtenerUbicacionesGrupos(List <int> grupos) { List <Ubicacion> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <Ubicacion> qry = from u in db.Ubicacion join gu in db.GrupoUsuario on u.IdTipoUsuario equals gu.IdTipoUsuario where grupos.Contains(gu.Id) select u; result = qry.Distinct().ToList(); foreach (Ubicacion ubicacion in result) { db.LoadProperty(ubicacion, "Pais"); db.LoadProperty(ubicacion, "Campus"); db.LoadProperty(ubicacion, "Torre"); db.LoadProperty(ubicacion, "Piso"); db.LoadProperty(ubicacion, "Zona"); db.LoadProperty(ubicacion, "SubZona"); db.LoadProperty(ubicacion, "SiteRack"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public Ubicacion ObtenerUbicacionById(int idUbicacion) { Ubicacion result = null; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Ubicacion.SingleOrDefault(w => w.Id == idUbicacion); if (result != null) { db.LoadProperty(result, "Pais"); db.LoadProperty(result, "Campus"); db.LoadProperty(result, "Torre"); db.LoadProperty(result, "Piso"); db.LoadProperty(result, "Zona"); db.LoadProperty(result, "SubZona"); db.LoadProperty(result, "SiteRack"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Organizacion> ObtenerOrganizacionesGrupos(List <int> grupos) { List <Organizacion> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; IQueryable <Organizacion> qry = from o in db.Organizacion join gu in db.GrupoUsuario on o.IdTipoUsuario equals gu.IdTipoUsuario where grupos.Contains(gu.Id) select o; result = qry.Distinct().ToList(); foreach (Organizacion organizacion in result) { db.LoadProperty(organizacion, "Holding"); db.LoadProperty(organizacion, "Compania"); db.LoadProperty(organizacion, "Direccion"); db.LoadProperty(organizacion, "SubDireccion"); db.LoadProperty(organizacion, "Gerencia"); db.LoadProperty(organizacion, "SubGerencia"); db.LoadProperty(organizacion, "Jefatura"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public Organizacion ObtenerOrganizacionById(int idOrganizacion) { Organizacion result = null; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.Organizacion.SingleOrDefault(w => w.Id == idOrganizacion); if (result != null) { db.LoadProperty(result, "Holding"); db.LoadProperty(result, "Compania"); db.LoadProperty(result, "Direccion"); db.LoadProperty(result, "SubDireccion"); db.LoadProperty(result, "Gerencia"); db.LoadProperty(result, "SubGerencia"); db.LoadProperty(result, "Jefatura"); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <Usuario> ObtenerAtendedoresEncuesta(int idUsuario, List <int?> encuestas) { List <Usuario> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; bool supervisor = db.SubGrupoUsuario.Join(db.UsuarioGrupo, sgu => sgu.Id, ug => ug.IdSubGrupoUsuario, (sgu, ug) => new { sgu, ug }) .Any( @t => @t.sgu.IdSubRol == (int)BusinessVariables.EnumSubRoles.Supervisor && @t.ug.IdUsuario == idUsuario); var qry = from t in db.Ticket join e in db.Encuesta on t.IdEncuesta equals e.Id join tgu in db.TicketGrupoUsuario on t.Id equals tgu.IdTicket join gu in db.GrupoUsuario on tgu.IdGrupoUsuario equals gu.Id join u in db.Usuario on t.IdUsuarioResolvio equals u.Id where gu.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.ResponsableDeAtención select new { t, e, tgu, u }; if (!supervisor) { qry = from q in qry where q.t.IdUsuarioResolvio == idUsuario select q; } if (encuestas.Any()) { qry = from q in qry where encuestas.Contains(q.e.Id) select q; } result = qry.Select(s => s.u).Distinct().ToList(); foreach (Usuario usuario in result) { db.LoadProperty(usuario, "TipoUsuario"); usuario.OrganizacionFinal = new BusinessOrganizacion().ObtenerDescripcionOrganizacionUsuario(usuario.Id, true); usuario.OrganizacionCompleta = new BusinessOrganizacion().ObtenerDescripcionOrganizacionUsuario(usuario.Id, false); usuario.UbicacionFinal = new BusinessUbicacion().ObtenerDescripcionUbicacionUsuario(usuario.Id, true); usuario.UbicacionCompleta = new BusinessUbicacion().ObtenerDescripcionUbicacionUsuario(usuario.Id, false); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }
public List <EstatusTicketSubRolGeneralDefault> ObtenerEstatusTicketSubRolGeneralDefault() { List <EstatusTicketSubRolGeneralDefault> result = new List <EstatusTicketSubRolGeneralDefault>(); DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; result = db.EstatusTicketSubRolGeneralDefault.ToList(); if (result != null) { foreach (EstatusTicketSubRolGeneralDefault data in result) { db.LoadProperty(data, "EstatusTicketActual"); db.LoadProperty(data, "EstatusTicketAccion"); db.LoadProperty(data, "RolSolicita"); db.LoadProperty(data, "SubSolicita"); db.LoadProperty(data, "RolPertenece"); db.LoadProperty(data, "SubRolPertenece"); } } } catch (Exception e) { throw new Exception(e.Message); } finally { db.Dispose(); } return(result); }
public List <Encuesta> ObtenerEncuestaByGrupos(List <int> grupos, bool insertarSeleccion) { List <Encuesta> result; DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; var qry = from t in db.Ticket join tgu in db.TicketGrupoUsuario on t.Id equals tgu.IdTicket join e in db.Encuesta on t.IdEncuesta equals e.Id where t.EncuestaRespondida && grupos.Contains(tgu.IdGrupoUsuario) select new { t, e }; result = qry.Select(s => s.e).Distinct().ToList(); foreach (Encuesta encuesta in result) { db.LoadProperty(encuesta, "TipoEncuesta"); db.LoadProperty(encuesta, "EncuestaPregunta"); } if (insertarSeleccion) { result.Insert(BusinessVariables.ComboBoxCatalogo.Index, new Encuesta { Id = BusinessVariables.ComboBoxCatalogo.Value, Descripcion = BusinessVariables.ComboBoxCatalogo.Descripcion }); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }