private static void BucleAgregarPadre(ref Data.USER.Perfil perfil, ref Data.USER.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); } }
public static Perfil Obtener(long ID) { try { using (var BD = new Data.USER.FACTURAUSEREntities()) { 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); } }
//private static string GetNombreFase(int idFase) //{ // try // { // using (var db = new WebGanaderia.Models.Data.USER.GANADERIAUSEREntities()) // { // var fase = db.Fases.Where(s => s.ID == idFase).Select(s => s.Descripcion).FirstOrDefault(); // return fase; // } // } // catch (Exception ex) // { // throw new Exception("Logica:GetnombreFase", ex); // } //} public static Entidades.Usuario DataToEntidad(Data.USER.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 }); }
public static List <Perfil> allPerfils() { try { using (var BD = new Data.USER.FACTURAUSEREntities()) { 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); } }
public static long Guardar(Perfil Entidad) { try { using (var BD = new Data.USER.FACTURAUSEREntities()) { 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.USER.Perfil p = new Data.USER.Perfil() { PerfilDescripcion = Entidad.Descripcion, PerfilHabilitado = Entidad.Habilitado, PerfilNombre = Entidad.Nombre }; p.Permisoes = new List <Data.USER.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); } }