Esempio n. 1
0
        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.ResponsableDeAtención || gu.IdTipoUsuario == (int)BusinessVariables.EnumTiposGrupos.ResponsableDeInformaciónPublicada
                          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.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 2
0
        public List <int> ObtenerOrganizacionesByIdOrganizacion(int idUbicacion)
        {
            List <int>           result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                Organizacion tmpOrganizacion  = db.Organizacion.SingleOrDefault(s => s.Id == idUbicacion);
                IQueryable <Organizacion> qry = db.Organizacion.Where(w => w.Id != idUbicacion);
                if (tmpOrganizacion != null)
                {
                    if (tmpOrganizacion.IdJefatura.HasValue)
                    {
                        qry = qry.Where(w => w.IdJefatura == tmpOrganizacion.IdJefatura);
                    }
                    else if (tmpOrganizacion.IdSubGerencia.HasValue)
                    {
                        qry = qry.Where(w => w.IdSubGerencia == tmpOrganizacion.IdSubGerencia);
                    }
                    else if (tmpOrganizacion.IdGerencia.HasValue)
                    {
                        qry = qry.Where(w => w.IdGerencia == tmpOrganizacion.IdGerencia);
                    }
                    else if (tmpOrganizacion.IdSubDireccion.HasValue)
                    {
                        qry = qry.Where(w => w.IdSubDireccion == tmpOrganizacion.IdSubDireccion);
                    }
                    else if (tmpOrganizacion.IdDireccion.HasValue)
                    {
                        qry = qry.Where(w => w.IdDireccion == tmpOrganizacion.IdDireccion);
                    }
                    else if (tmpOrganizacion.IdCompania.HasValue)
                    {
                        qry = qry.Where(w => w.IdCompania == tmpOrganizacion.IdCompania);
                    }
                    else
                    {
                        qry = qry.Where(w => w.IdHolding == tmpOrganizacion.IdHolding);
                    }
                }
                result = qry.Select(s => s.Id).ToList();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 3
0
        public List <int> ObtenerUbicacionesByIdUbicacion(int idUbicacion)
        {
            List <int>           result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                Ubicacion tmpUbicacion     = db.Ubicacion.SingleOrDefault(s => s.Id == idUbicacion);
                IQueryable <Ubicacion> qry = db.Ubicacion.Where(w => w.Id != idUbicacion);
                if (tmpUbicacion != null)
                {
                    if (tmpUbicacion.IdSiteRack.HasValue)
                    {
                        qry = qry.Where(w => w.IdSiteRack == tmpUbicacion.IdSiteRack);
                    }
                    else if (tmpUbicacion.IdSubZona.HasValue)
                    {
                        qry = qry.Where(w => w.IdSubZona == tmpUbicacion.IdSubZona);
                    }
                    else if (tmpUbicacion.IdZona.HasValue)
                    {
                        qry = qry.Where(w => w.IdZona == tmpUbicacion.IdZona);
                    }
                    else if (tmpUbicacion.IdPiso.HasValue)
                    {
                        qry = qry.Where(w => w.IdPiso == tmpUbicacion.IdPiso);
                    }
                    else if (tmpUbicacion.IdTorre.HasValue)
                    {
                        qry = qry.Where(w => w.IdTorre == tmpUbicacion.IdTorre);
                    }
                    else if (tmpUbicacion.IdCampus.HasValue)
                    {
                        qry = qry.Where(w => w.IdCampus == tmpUbicacion.IdCampus);
                    }
                    else
                    {
                        qry = qry.Where(w => w.IdPais == tmpUbicacion.IdPais);
                    }
                }
                result = qry.Select(s => s.Id).ToList();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 4
0
        public string ObtenerTipificacion(int idArbol)
        {
            string result           = string.Empty;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.LazyLoadingEnabled = true;
                ArbolAcceso arbol = db.ArbolAcceso.SingleOrDefault(w => w.Habilitado && w.Id == idArbol);
                if (arbol == null)
                {
                    return(null);
                }
                if (arbol.Nivel1 != null)
                {
                    result = arbol.Nivel1.Descripcion;
                }
                if (arbol.Nivel2 != null)
                {
                    result = arbol.Nivel2.Descripcion;
                }
                if (arbol.Nivel3 != null)
                {
                    result = arbol.Nivel3.Descripcion;
                }
                if (arbol.Nivel4 != null)
                {
                    result = arbol.Nivel4.Descripcion;
                }
                if (arbol.Nivel5 != null)
                {
                    result = arbol.Nivel5.Descripcion;
                }
                if (arbol.Nivel6 != null)
                {
                    result = arbol.Nivel6.Descripcion;
                }
                if (arbol.Nivel7 != null)
                {
                    result = arbol.Nivel7.Descripcion;
                }
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 5
0
        private bool CreaTabla(Mascara mascara)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                string queryCamposTabla = string.Empty;
                foreach (CampoMascara campoMascara in mascara.CampoMascara)
                {
                    TipoCampoMascara tmpTipoCampoMascara = db.TipoCampoMascara.SingleOrDefault(f => f.Id == campoMascara.IdTipoCampoMascara);
                    if (tmpTipoCampoMascara == null)
                    {
                        continue;
                    }
                    switch (tmpTipoCampoMascara.TipoDatoSql)
                    {
                    case "NVARCHAR":
                        queryCamposTabla += String.Format("{0} {1}({2}) {3},\n", campoMascara.NombreCampo, tmpTipoCampoMascara.TipoDatoSql, campoMascara.LongitudMaxima, campoMascara.Requerido ? "NOT NULL" : "NULL");
                        break;

                    default:
                        queryCamposTabla += String.Format("{0} {1} {2},\n", campoMascara.NombreCampo, tmpTipoCampoMascara.TipoDatoSql, campoMascara.Requerido ? "NOT NULL" : "NULL");
                        break;
                    }
                }
                string qryCrearTablas = String.Format("CREATE TABLE {0} ( \n" +
                                                      "Id int IDENTITY(1,1) NOT NULL, \n" +
                                                      "IdTicket int NOT NULL," +
                                                      "{1}" +
                                                      "Habilitado BIT \n" +
                                                      (mascara.Random ? ", " + BusinessVariables.ParametrosMascaraCaptura.CampoRandom + " \n" : string.Empty) +
                                                      "CONSTRAINT [PK_{0}] PRIMARY KEY CLUSTERED \n" +
                                                      "( \n" +
                                                      "\t[Id] ASC \n" +
                                                      ")WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] \n" +
                                                      ") ON [PRIMARY] \n" +
                                                      "ALTER TABLE [dbo].[{0}]  WITH CHECK ADD  CONSTRAINT [FK_{0}_Ticket] FOREIGN KEY([IdTicket]) \n" +
                                                      "REFERENCES [dbo].[Ticket] ([Id])\n" +
                                                      "ALTER TABLE [dbo].[{0}] CHECK CONSTRAINT [FK_{0}_Ticket]\n" +
                                                      "ALTER TABLE [dbo].[{0}] ADD  CONSTRAINT [DF_{0}_habilitado]  DEFAULT ((1)) FOR [Habilitado]", mascara.NombreTabla, queryCamposTabla);
                db.ExecuteStoreCommand(qryCrearTablas);
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(true);
        }
Esempio n. 6
0
        public List <TipoArbolAcceso> ObtenerTiposArbolAccesoByGruposTercero(int idUsuarioSolicita, int idUsuarioLevanta, int idArea, bool insertarSeleccion)
        {
            List <TipoArbolAcceso> result;
            DataBaseModelContext   db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                Usuario    usuarioLevanta  = new BusinessUsuarios().ObtenerDetalleUsuario(idUsuarioLevanta);
                Usuario    usuarioSolicita = new BusinessUsuarios().ObtenerDetalleUsuario(idUsuarioLevanta);
                List <int> lstGpos         = usuarioSolicita.UsuarioGrupo.Where(w => w.GrupoUsuario.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.AccesoCentroSoporte).Select(s => s.IdGrupoUsuario).ToList();
                lstGpos.AddRange(usuarioLevanta.UsuarioGrupo.Where(w => w.GrupoUsuario.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.Agente).Select(s => s.IdGrupoUsuario).ToList());
                lstGpos.AddRange(usuarioLevanta.UsuarioGrupo.Where(w => w.GrupoUsuario.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.AgenteUniversal && w.GrupoUsuario.LevantaTicket).Select(s => s.IdGrupoUsuario).ToList());
                lstGpos.AddRange(usuarioLevanta.UsuarioGrupo.Where(w => w.GrupoUsuario.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.AgenteUniversal && w.GrupoUsuario.RecadoTicket).Select(s => s.IdGrupoUsuario).ToList());
                List <int?> lstsubGpos = usuarioLevanta.UsuarioGrupo.Where(w => w.GrupoUsuario.IdTipoGrupo == (int)BusinessVariables.EnumTiposGrupos.Agente).Select(s => s.IdSubGrupoUsuario).ToList();
                lstsubGpos.RemoveAll(r => !r.HasValue);
                var qry = from aa in db.ArbolAcceso
                          join taa in db.TipoArbolAcceso on aa.IdTipoArbolAcceso equals taa.Id
                          join iaa in db.InventarioArbolAcceso on aa.Id equals iaa.IdArbolAcceso
                          join guia in db.GrupoUsuarioInventarioArbol on iaa.Id equals guia.IdInventarioArbolAcceso
                          join ug in db.UsuarioGrupo on new { gpo = guia.IdGrupoUsuario, sgpo = guia.IdSubGrupoUsuario } equals
                new { gpo = ug.IdGrupoUsuario, sgpo = ug.IdSubGrupoUsuario }
                where lstGpos.Contains(guia.IdGrupoUsuario) && aa.IdArea == idArea
                select new { taa, guia };
                if (lstsubGpos.Any())
                {
                    qry = from q in qry
                          where lstsubGpos.Contains(q.guia.IdSubGrupoUsuario)
                          select q;
                }
                result = qry.Where(w => w.taa.Habilitado).Select(s => s.taa).Distinct().OrderBy(o => o.Descripcion).ToList();
                if (insertarSeleccion)
                {
                    result.Insert(BusinessVariables.ComboBoxCatalogo.IndexSeleccione,
                                  new TipoArbolAcceso
                    {
                        Id          = BusinessVariables.ComboBoxCatalogo.ValueSeleccione,
                        Descripcion = BusinessVariables.ComboBoxCatalogo.DescripcionSeleccione
                    });
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 7
0
        public ArbolAcceso ObtenerArbolAcceso(int idArbol)
        {
            ArbolAcceso          result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.ArbolAcceso.SingleOrDefault(w => w.Habilitado && w.Id == idArbol);
                if (result == null)
                {
                    return(null);
                }
                db.LoadProperty(result, "Area");
                db.LoadProperty(result, "TipoUsuario");
                db.LoadProperty(result, "TipoArbolAcceso");
                db.LoadProperty(result, "Nivel1");
                db.LoadProperty(result, "Nivel2");
                db.LoadProperty(result, "Nivel3");
                db.LoadProperty(result, "Nivel4");
                db.LoadProperty(result, "Nivel5");
                db.LoadProperty(result, "Nivel6");
                db.LoadProperty(result, "Nivel7");
                db.LoadProperty(result, "InventarioArbolAcceso");
                db.LoadProperty(result, "TiempoInformeArbol");
                foreach (InventarioArbolAcceso inventarioArbol in result.InventarioArbolAcceso)
                {
                    db.LoadProperty(inventarioArbol, "GrupoUsuarioInventarioArbol");
                    foreach (GrupoUsuarioInventarioArbol gpo in inventarioArbol.GrupoUsuarioInventarioArbol)
                    {
                        db.LoadProperty(gpo, "GrupoUsuario");
                        db.LoadProperty(gpo, "SubGrupoUsuario");
                    }
                    db.LoadProperty(inventarioArbol, "InventarioInfConsulta");
                    foreach (InventarioInfConsulta inventarioInformacion in inventarioArbol.InventarioInfConsulta)
                    {
                        db.LoadProperty(inventarioInformacion, "InformacionConsulta");
                        db.LoadProperty(inventarioInformacion.InformacionConsulta, "TipoInfConsulta");
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 8
0
        public Usuario ObtenerDetalleUsuario(int idUsuario)
        {
            Usuario result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.Usuario.SingleOrDefault(s => s.Id == idUsuario);
                db.LoadProperty(result, "CorreoUsuario");
                db.LoadProperty(result, "TelefonoUsuario");
                db.LoadProperty(result, "PreguntaReto");
                db.LoadProperty(result, "UsuarioRol");
                db.LoadProperty(result, "TipoUsuario");
                db.LoadProperty(result, "UsuarioGrupo");
                if (result != null)
                {
                    result.OrganizacionFinal =
                        new BusinessOrganizacion().ObtenerDescripcionOrganizacionUsuario(result.Id, true);
                    result.OrganizacionCompleta =
                        new BusinessOrganizacion().ObtenerDescripcionOrganizacionUsuario(result.Id, false);
                    result.UbicacionFinal    = new BusinessUbicacion().ObtenerDescripcionUbicacionUsuario(result.Id, true);
                    result.UbicacionCompleta = new BusinessUbicacion().ObtenerDescripcionUbicacionUsuario(result.Id,
                                                                                                          false);
                    foreach (TelefonoUsuario telefono in result.TelefonoUsuario)
                    {
                        db.LoadProperty(telefono, "TipoTelefono");
                    }
                    foreach (var rol in result.UsuarioRol)
                    {
                        db.LoadProperty(rol, "RolTipoUsuario");
                        db.LoadProperty(rol.RolTipoUsuario, "Rol");
                    }
                    foreach (UsuarioGrupo grupo in result.UsuarioGrupo)
                    {
                        db.LoadProperty(grupo, "GrupoUsuario");
                        db.LoadProperty(grupo, "SubGrupoUsuario");
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 9
0
        public void GuardarUsuario(Usuario usuario)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.LazyLoadingEnabled = true;
                string          tmpurl = usuario.Password;
                Guid            g      = Guid.NewGuid();
                ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.AltaUsuario && s.Habilitado);
                usuario.ApellidoPaterno = usuario.ApellidoPaterno.ToUpper();
                usuario.ApellidoMaterno = usuario.ApellidoMaterno.ToUpper();
                usuario.Nombre          = usuario.Nombre.ToUpper();
                usuario.Password        = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" +
                                          usuario.Id + "_" + g;
                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.Confirmacion
                    }
                };
                if (usuario.Id == 0)
                {
                    db.Usuario.AddObject(usuario);
                    db.SaveChanges();
                }
                usuario.Password = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" +
                                   usuario.Id + "_" + g;
                if (correo != null)
                {
                    String body = NamedFormat.Format(correo.Contenido, usuario);
                    foreach (CorreoUsuario correoUsuario in usuario.CorreoUsuario)
                    {
                        BusinessCorreo.SendMail(correoUsuario.Correo, correo.TipoCorreo.Descripcion, body);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 10
0
        private int ObtenerTipoDocumento(string s)
        {
            int result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                string extension = s.Substring(s.Length - 3);
                result = db.TipoDocumento.First(f => f.Extension.Contains(extension)).Id;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return(result);
        }
Esempio n. 11
0
        public List <SubRolEscalacionPermitida> ObtenerEscalacion(int idSubRol, int idEstatusAsignacion, int?nivelActual)
        {
            List <SubRolEscalacionPermitida> result = null;
            DataBaseModelContext             db     = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                if (nivelActual != null)
                {
                    switch (nivelActual)
                    {
                    case 1:
                        idSubRol = (int)BusinessVariables.EnumSubRoles.Supervisor;
                        break;

                    case 2:
                        idSubRol = (int)BusinessVariables.EnumSubRoles.PrimererNivel;
                        break;

                    case 3:
                        idSubRol = (int)BusinessVariables.EnumSubRoles.SegundoNivel;
                        break;

                    case 4:
                        idSubRol = (int)BusinessVariables.EnumSubRoles.TercerNivel;
                        break;

                    case 5:

                        idSubRol = (int)BusinessVariables.EnumSubRoles.CuartoNivel;
                        break;
                    }
                }
                result = db.SubRolEscalacionPermitida.Where(w => w.IdSubRol == idSubRol && w.IdEstatusAsignacion == idEstatusAsignacion && w.Habilitado).ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 12
0
        public List <EstatusAsignacionSubRolGeneralDefault> GeneraEstatusAsignacionGrupoDefault()
        {
            List <EstatusAsignacionSubRolGeneralDefault> result = new List <EstatusAsignacionSubRolGeneralDefault>();
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.EstatusAsignacionSubRolGeneralDefault.ToList();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            finally { db.Dispose(); }
            return(result);
        }
Esempio n. 13
0
        public void ConfirmaCuenta(int idUsuario, string password, Dictionary <int, string> confirmaciones, List <PreguntaReto> pregunta, string link)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.LazyLoadingEnabled   = true;
                db.ContextOptions.ProxyCreationEnabled = true;
                Usuario user = db.Usuario.Single(s => s.Id == idUsuario);
                if (user != null)
                {
                    Guid linkLlave = Guid.Parse(link);
                    user.UsuarioLinkPassword.Single(
                        s =>
                        s.IdTipoLink == (int)BusinessVariables.EnumTipoLink.Confirmacion &&
                        s.IdUsuario == idUsuario && s.Link == linkLlave).Activo = false;
                    user.PreguntaReto = new List <PreguntaReto>();
                    foreach (PreguntaReto reto in pregunta)
                    {
                        reto.Respuesta = SecurityUtils.CreateShaHash(reto.Respuesta);
                        db.PreguntaReto.AddObject(new PreguntaReto
                        {
                            IdUsuario = user.Id,
                            Pregunta  = reto.Pregunta,
                            Respuesta = SecurityUtils.CreateShaHash(reto.Respuesta)
                        });
                    }
                    user.Password = SecurityUtils.CreateShaHash(password);
                    db.SaveChanges();
                    foreach (KeyValuePair <int, string> confirmacion in confirmaciones)
                    {
                        new BusinessDemonioSms().ConfirmaMensaje(user.Id,
                                                                 (int)BusinessVariables.EnumTipoLink.Confirmacion, confirmacion.Key);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        public void GuardarInformacionConsulta(InformacionConsulta informacion)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                informacion.Descripcion = informacion.Descripcion.Trim().ToUpper();
                switch (informacion.IdTipoInfConsulta)
                {
                case (int)BusinessVariables.EnumTiposInformacionConsulta.EditorDeContenido:

                    break;

                case (int)BusinessVariables.EnumTiposInformacionConsulta.Documento:

                    break;

                case (int)BusinessVariables.EnumTiposInformacionConsulta.PaginaHtml:
                    if (!informacion.InformacionConsultaDatos.First().Descripcion.StartsWith("http://"))
                    {
                        informacion.InformacionConsultaDatos.First().Descripcion = "http://" + informacion.InformacionConsultaDatos.First().Descripcion;
                    }
                    break;

                default:
                    throw new Exception("Seleccione un tipo de información");
                }
                //TODO: Cambiar habilitado por el embebido
                informacion.Habilitado = true;
                if (informacion.Id == 0)
                {
                    db.InformacionConsulta.AddObject(informacion);
                }
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 16
0
        public InformacionConsulta GuardarInformacionConsulta(InformacionConsulta informacion, List <string> documentosDescarga)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                if (db.InformacionConsulta.Any(a => a.Descripcion == informacion.Descripcion))
                {
                    throw new Exception("Este Artículo ya existe.");
                }
                informacion.Descripcion = informacion.Descripcion.Trim();
                informacion.Habilitado  = true;
                informacion.FechaAlta   = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture);
                if (informacion.Id == 0)
                {
                    db.InformacionConsulta.AddObject(informacion);
                }
                db.SaveChanges();
                informacion = db.InformacionConsulta.Single(s => s.Id == informacion.Id);
                foreach (string s in documentosDescarga)
                {
                    informacion.InformacionConsultaDocumentos.Add(new InformacionConsultaDocumentos
                    {
                        IdTipoDocumento = ObtenerTipoDocumento(s),
                        Archivo         = informacion.Id + s,
                        FechaAlta       = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture),
                        IdUsuarioAlta   = informacion.IdUsuarioAlta,
                    });
                }
                db.SaveChanges();

                BusinessFile.MoverTemporales(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta, BusinessVariables.Directorios.RepositorioInformacionConsulta, documentosDescarga);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(informacion);
        }
Esempio n. 17
0
        public List <CatalogoGenerico> ObtenerCatalogoCampoMascara(string tabla)
        {
            List <CatalogoGenerico> result;
            DataBaseModelContext    db = new DataBaseModelContext();

            try
            {
                result = db.ExecuteStoreQuery <CatalogoGenerico>("ObtenerCatalogoSistema '" + tabla + "'").ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 18
0
        public void HabilitarRegistroSistema(int idCatalogo, bool habilitado, int idRegistro)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                Catalogos catalogo = db.Catalogos.Single(w => w.Id == idCatalogo);
                string    store    = string.Format("{0} '{1}', '{2}', {3}", BusinessVariables.ParametrosCatalogo.PrefijoComandoHabilitar, catalogo.Tabla, habilitado, idRegistro);
                db.ExecuteStoreCommand(store);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 19
0
        public void AgregarRegistro(int idCatalogo, string descripcion)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                Catalogos catalogo = db.Catalogos.Single(w => w.Id == idCatalogo);
                string    store    = string.Format("{0} '{1}', '{2}'", BusinessVariables.ParametrosCatalogo.PrefijoComandoInsertar, catalogo.Tabla, descripcion.Trim().ToUpper());
                db.ExecuteStoreCommand(store);
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 20
0
        public void GuardarHit(int idArbol, int idUsuario)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                HitConsulta hit = new HitConsulta
                {
                    IdTipoArbolAcceso = new BusinessArbolAcceso().ObtenerArbolAcceso(idArbol).IdTipoArbolAcceso,
                    IdArbolAcceso     = idArbol,
                    IdUsuario         = idUsuario,
                    IdUbicacion       = new BusinessUbicacion().ObtenerUbicacionUsuario(new BusinessUsuarios().ObtenerUsuario(idUsuario).IdUbicacion).Id,
                    IdOrganizacion    = new BusinessOrganizacion().ObtenerOrganizacionUsuario(new BusinessUsuarios().ObtenerUsuario(idUsuario).IdOrganizacion).Id,
                    HitGrupoUsuario   = new List <HitGrupoUsuario>(),
                    FechaHoraAlta     = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture)
                };
                foreach (GrupoUsuarioInventarioArbol guia in new BusinessArbolAcceso().ObtenerGruposUsuarioArbol(idArbol))
                {
                    hit.HitGrupoUsuario.Add(new HitGrupoUsuario
                    {
                        IdRol             = guia.IdRol,
                        IdGrupoUsuario    = guia.IdGrupoUsuario,
                        IdSubGrupoUsuario = guia.IdSubGrupoUsuario
                    });
                }

                if (hit.Id == 0)
                {
                    db.HitConsulta.AddObject(hit);
                }
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 21
0
        public void CrearCatalogo(Catalogos catalogo, bool esMascara, List <CatalogoGenerico> registros)
        {
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                if (db.Catalogos.Any(a => a.Id != catalogo.Id && a.Descripcion == catalogo.Descripcion))
                {
                    throw new Exception("Ya existe un catálogo con este nombre.");
                }
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                catalogo.Descripcion      = catalogo.Descripcion.Trim();
                catalogo.DescripcionLarga = catalogo.DescripcionLarga.Trim();
                catalogo.Tabla            = BusinessCadenas.Cadenas.FormatoBaseDatos((BusinessVariables.ParametrosCatalogo.PrefijoTabla + catalogo.Descripcion.Trim().ToUpper()).Replace(" ", string.Empty));
                catalogo.EsMascaraCaptura = esMascara;
                catalogo.Sistema          = false;
                catalogo.FechaAlta        = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture);
                catalogo.Archivo          = false;
                catalogo.Habilitado       = true;

                ExisteMascara(catalogo.Tabla, true);
                CreaEstructuraBaseDatos(catalogo.Tabla);
                db.Catalogos.AddObject(catalogo);
                db.SaveChanges();
                if (registros.Count <= 0)
                {
                    return;
                }
                foreach (CatalogoGenerico registro in registros)
                {
                    AgregarRegistroSistema(catalogo.Id, registro.Descripcion);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
        }
Esempio n. 22
0
        public TipoCampoMascara TipoCampoMascaraId(int idTipoCampo)
        {
            TipoCampoMascara     result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.TipoCampoMascara.SingleOrDefault(w => w.Id == idTipoCampo);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 23
0
        public SubRol ObtenerSubRolById(int idSubRol)
        {
            SubRol result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.SubRol.SingleOrDefault(w => w.Id == idSubRol && w.Habilitado);
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 24
0
        public List <SubRolEscalacionPermitida> ObtenerEscalacion(int idSubRol)
        {
            List <SubRolEscalacionPermitida> result = null;
            DataBaseModelContext             db     = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.SubRolEscalacionPermitida.Where(w => w.IdSubRol == idSubRol && w.Habilitado).ToList();
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 25
0
        public TipoDocumento ObtenerTiposDocumentoId(int idTipoDocumento)
        {
            TipoDocumento        result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.TipoDocumento.SingleOrDefault(w => w.Id == idTipoDocumento && w.Habilitado);
            }
            catch (Exception ex)
            {
                throw new Exception((ex.InnerException).Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 26
0
        public ParametrosGenerales ObtenerParametrosGenerales()
        {
            ParametrosGenerales  result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.ParametrosGenerales.First();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 27
0
        public List <ArchivosPermitidos> ObtenerArchivosPermitidos()
        {
            List <ArchivosPermitidos> result;
            DataBaseModelContext      db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.ArchivosPermitidos.ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 28
0
        public List <ColoresSla> ObtenerColoresSla()
        {
            List <ColoresSla>    result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.ColoresSla.ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 29
0
        public ParametrosUsuario ObtenerParametrosUsuario(int idTipoUsuario)
        {
            ParametrosUsuario    result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.ParametrosUsuario.SingleOrDefault(s => s.IdTipoUsuario == idTipoUsuario);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }
Esempio n. 30
0
        public GraficosDefault ObtenerParametrosGraficoDefault(int idReporte)
        {
            GraficosDefault      result;
            DataBaseModelContext db = new DataBaseModelContext();

            try
            {
                db.ContextOptions.ProxyCreationEnabled = _proxy;
                result = db.GraficosDefault.SingleOrDefault(s => s.IdMenu == idReporte);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                db.Dispose();
            }
            return(result);
        }