コード例 #1
0
        private static void BucleAgregarPadre(ref Data.Perfil perfil, ref Data.Permiso permiso)
        {
            var perID = permiso.PermisoID;
            var padre = permiso.Permiso2;

            if (permiso.PermisoPadreID.HasValue)
            {
                LPerfil.BucleAgregarPadre(ref perfil, ref padre);
            }
            if (!perfil.Permisoes.Any(x => x.PermisoID == perID))
            {
                perfil.Permisoes.Add(permiso);
            }
        }
コード例 #2
0
 public static Perfil Obtener(long ID)
 {
     try
     {
         using (var BD = new Data.DB_A3C345_cobranzasEntities())
         {
             var z = (from x in BD.Perfils where x.PerfilID == ID select x).FirstOrDefault();
             if (z != null)
             {
                 return(LPerfil.DataToEntidad(z, false));
             }
         }
         throw new Exception("El perfil no existe");
     }
     catch (Exception ex)
     {
         throw new Exception("Logica obtner", ex);
     }
 }
コード例 #3
0
        public static Entidades.Usuario DataToEntidad(Data.Usuario d, bool Listado = true)
        {
            var perfiles = new List <Entidades.Perfil>();
            var permisos = new List <Entidades.Permiso>();

            if (!Listado)
            {
                foreach (var p in d.Perfils)
                {
                    perfiles.Add(LPerfil.DataToEntidad(p, false));
                }
                foreach (var p in d.Permisoes)
                {
                    permisos.Add(LPermiso.DataToEntidad(p, false));
                }
            }
            else
            {
                foreach (var p in d.Perfils)
                {
                    perfiles.Add(LPerfil.DataToEntidad(p, true));
                }
            }
            return(new Entidades.Usuario()
            {
                Apellido1 = d.UsuarioApellido1,
                Apellido2 = d.UsuarioApellido2,
                Contrasena = "",
                Email = d.UsuarioEmail,
                EsSuperAdmin = d.UsuarioEsSuperAdmin.Value,
                Habilitado = d.UsuarioHabilitado.Value,
                ID = d.UsuarioID,
                Login = d.UsuarioLogin,
                Nombre = d.UsuarioNombre,
                Perfiles = perfiles,
                Permisos = permisos,
                Telefono = d.UsuarioTelefono,
                CambiarContrasena = d.UsuarioCambiarContrasena.Value
            });
        }
コード例 #4
0
 public static List <Perfil> allPerfils()
 {
     try
     {
         using (var BD = new Data.DB_A3C345_cobranzasEntities())
         {
             var list = new List <Perfil>();
             var z    = BD.Perfils.ToList();
             if (z != null)
             {
                 foreach (var item in z)
                 {
                     list.Add(LPerfil.DataToEntidad(item, false));
                 }
                 return(list);
             }
         }
         throw new Exception("El perfil no existe");
     }
     catch (Exception ex)
     {
         throw new Exception("Logica obtner", ex);
     }
 }
コード例 #5
0
 public static long Guardar(Perfil Entidad)
 {
     try
     {
         using (var BD = new Data.DB_A3C345_cobranzasEntities())
         {
             if (Entidad.ID > 0)
             {
                 //editar
                 if (BD.Perfils.Count(x => x.PerfilNombre.ToUpper().Equals(Entidad.Nombre.ToUpper().Trim()) && x.PerfilID != Entidad.ID) > 0)
                 {
                     throw new Exception("El nombre del perfil ya se encuentra registrado en el sistema");
                 }
                 var p = BD.Perfils.FirstOrDefault(x => x.PerfilID == Entidad.ID);
                 if (p == null)
                 {
                     throw new Exception("El perfil no existe");
                 }
                 p.PerfilDescripcion = Entidad.Descripcion;
                 p.PerfilHabilitado  = Entidad.Habilitado;
                 p.PerfilNombre      = Entidad.Nombre;
                 p.Permisoes.Clear();
                 foreach (var m in Entidad.Permisos)
                 {
                     var per = BD.Permisoes.FirstOrDefault(x => x.PermisoID == m.ID);
                     if (per != null)
                     {
                         if (per.PermisoPadreID.HasValue)
                         {
                             var padre = per.Permiso2;
                             LPerfil.BucleAgregarPadre(ref p, ref padre);
                         }
                         if (!p.Permisoes.Any(x => x.PermisoID == per.PermisoID))
                         {
                             p.Permisoes.Add(per);
                         }
                     }
                 }
                 BD.SaveChanges();
                 return(p.PerfilID);
             }
             else
             {
                 //nuevo
                 if (BD.Perfils.Count(x => x.PerfilNombre.ToUpper().Equals(Entidad.Nombre.ToUpper().Trim())) > 0)
                 {
                     throw new Exception("El nombre del perfil ya se encuentra registrado en el sistema");
                 }
                 Data.Perfil p = new Data.Perfil()
                 {
                     PerfilDescripcion = Entidad.Descripcion,
                     PerfilHabilitado  = Entidad.Habilitado,
                     PerfilNombre      = Entidad.Nombre
                 };
                 p.Permisoes = new List <Data.Permiso>();
                 foreach (var m in Entidad.Permisos)
                 {
                     var per = BD.Permisoes.FirstOrDefault(x => x.PermisoID == m.ID);
                     if (per != null)
                     {
                         if (per.PermisoPadreID.HasValue)
                         {
                             var padre = per.Permiso2;
                             LPerfil.BucleAgregarPadre(ref p, ref padre);
                         }
                         if (!p.Permisoes.Any(x => x.PermisoID == per.PermisoID))
                         {
                             p.Permisoes.Add(per);
                         }
                     }
                 }
                 BD.Perfils.Add(p);
                 BD.SaveChanges();
                 return(p.PerfilID);
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Logica guardar", ex);
     }
 }