public ActionResult detalle(int? id)
        {
            if (id == null)
            {
                Redirect("Create");
            }
            var rol = _db.Rol.Where(x => x.id_rol == id).FirstOrDefault();
            RolPermiso rolpermiso = new RolPermiso();
            rolpermiso.id_rol = rol.id_rol;
            rolpermiso.nombreRol = rol.nombreRol;
           
            ViewBag.Permisos = new SelectList(_db.Permiso, "id_permiso", "nombrePermiso");
            var PermisoRol = _db.PermisoRol.Where(x => x.id_rol == id).ToList();

            var consulta = (from pr in _db.PermisoRol
                            join r in _db.Rol on pr.id_rol equals r.id_rol
                            join p in _db.Permiso on pr.id_permiso equals p.id_permiso
                            where  pr.id_rol==id
                            select new RolPermiso
                            {
                                id_permiso=p.id_permiso,
                                nombrePermiso= p.nombrePermiso
                            }).ToList();

            ViewBag.consulta = consulta;
            return View(rolpermiso);
        }
예제 #2
0
        public ActionResult Crear(Rol modelo, string[] permisosIds)
        {
            if (permisosIds == null || permisosIds.Length == 0)
            {
                ModelState.AddModelError("", "Debe seleccionar al menos un permiso");
            }

            modelo.Permisos = new List <RolPermiso>();
            for (int i = 0; i < permisosIds.Length; i++)
            {
                RolPermiso Permiso = new RolPermiso();
                Permiso.PermisoId = permisosIds[i];
                modelo.Permisos.Add(Permiso);
            }

            if (ModelState.IsValid)
            {
                string strMensaje = new RolBL().Guardar(modelo);

                if (strMensaje.Contains("OK"))
                {
                    TempData["Rol-Success"] = strMensaje;
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", strMensaje);
                }
            }

            modelo.PermisoIds = Permisos();
            return(View(modelo));
        }
예제 #3
0
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var rolPermisos = new RolPermiso()
            {
                IdRol     = GetIntValue(row, DbColIdRol),
                IdPermiso = GetIntValue(row, DbColIdPermiso),
            };

            return(rolPermisos);
        }
예제 #4
0
 public void CreateRolPermiso(RolPermiso rolPermisos)
 {
     try
     {
         _factory.Create(rolPermisos);
     }
     catch (Exception ex)
     {
         _exMan.ManageException(ex);
     }
 }
예제 #5
0
 public void Delete(RolPermiso rolPermisos)
 {
     try
     {
         _factory.Delete(rolPermisos);
     }
     catch (Exception ex)
     {
         _exMan.ManageException(ex);
     }
 }
        public ActionResult detalle(RolPermiso rolpermiso)
        {
            PermisoRol permisoRol = new PermisoRol();
            permisoRol.id_rol = rolpermiso.id_rol;
            permisoRol.id_permiso = rolpermiso.id_permiso;

            _db.PermisoRol.Add(permisoRol);
            _db.SaveChanges();

            return RedirectToAction("Detalle", new { id = rolpermiso.id_rol });

        }
예제 #7
0
        public RolPermiso Retrieve(RolPermiso rolPermisos)
        {
            var list = new RolPermiso();

            try
            {
                list = _factory.Retrieve <RolPermiso>(rolPermisos);
            }
            catch (Exception ex)
            {
                _exMan.ManageException(ex);
            }
            //como lo que necesito devolver es solo un registro
            // entonces lo devuelto como tipo User que es la clase
            // de la que necesito mostrar los datos en los campos en el form

            return(list);
        }
예제 #8
0
        public async Task <ActionResult> AgregarRolPermiso([FromBody] RolPermiso rolPermiso)
        {
            ObjectResult result;
            long         resultado;

            try
            {
                resultado = await _bsRolPermiso.AgregaRolPermisoJsonAsync(rolPermiso);

                result = Ok(resultado >= 1 ? "Registro exitoso " : "Intente nuevamente");
            }
            catch (Exception ex)
            {
                resultado = 0;
                result    = StatusCode(StatusCodes.Status500InternalServerError, resultado);
                _logger.LogInformation($"Ha ocurrido un error: {ex.Message.ToString()}");
            }
            return(result);
        }
예제 #9
0
        /// <summary>
        /// Inserta un registro de RolPermiso en base de datos
        /// </summary>
        /// <param name="RolPermiso">Objeto de tipo RolPermiso con la información ingresada</param>
        /// <returns>Variable de tipo entero indicando el identificador de RolPermiso si se insertó correctamente</returns>
        public async Task <long> AgregaRolPermisoJsonAsync(RolPermiso rolPermiso)
        {
            long resultado = 0;

            try
            {
                //Consulta para obtener RolPermiso
                TbRolPermiso objRolPermiso = context.TbRolPermiso.Where(x => x.FKIdRol == rolPermiso.IdRol && x.FKIdPermiso == rolPermiso.IdPermiso).FirstOrDefault();

                if (objRolPermiso == null)
                {
                    var itemRolPermiso = new TbRolPermiso
                    {
                        FKIdRol     = rolPermiso.IdRol,
                        FKIdPermiso = rolPermiso.IdPermiso,
                        Activo      = rolPermiso.Activo
                    };
                    context.TbRolPermiso.Add(itemRolPermiso);
                    await context.SaveChangesAsync();

                    resultado = itemRolPermiso.PKIdRolPermiso;
                }
                else
                {
                    objRolPermiso.FKIdRol     = rolPermiso.IdRol;
                    objRolPermiso.FKIdPermiso = rolPermiso.IdPermiso;
                    objRolPermiso.Activo      = true;

                    await context.SaveChangesAsync();

                    resultado = objRolPermiso.PKIdRolPermiso;
                }
            }
            catch (Exception e)
            {
                var message = $"Ocurrió un error al registrar el RolPermiso";
                throw new IOException(message, e);
            }
            return(resultado);
        }
예제 #10
0
        public List <T> RetrieveByName <T>(RolPermiso rolPermisos)
        {
            var lst = new List <T>();

            try
            {
                var list = _factory.RetrieveByName <RolPermiso>(rolPermisos);
                if (list.Count > 0)
                {
                    foreach (var obj in list)
                    {
                        lst.Add((T)Convert.ChangeType(obj, typeof(T)));
                        //se convierte la lista a un tipo List<T> para que pueda ser retornada
                        //al formulario y reconocida como una lista de una instancia de User's
                    }
                }
            }
            catch (Exception ex)
            {
                _exMan.ManageException(ex);
            }
            return(lst); //se retorna la lista al formulario
        }
예제 #11
0
        /// <summary>
        /// Realiza la actualización de datos de un registro de RolPermiso
        /// </summary>
        /// <param name="RolPermiso">Objeto de tipo RolPermiso con la información actualizada</param>
        /// <returns>Regresa el identificador del registro actualizado en caso exitoso</returns>
        public async Task <long> EditarRolPermisoJsonAsync(RolPermiso rolPermiso)
        {
            long resultado = 0;

            try
            {
                TbRolPermiso objRolPermiso = context.TbRolPermiso.Where(x => x.PKIdRolPermiso == rolPermiso.IdRolPermiso).FirstOrDefault();
                objRolPermiso.PKIdRolPermiso = rolPermiso.IdRolPermiso;
                objRolPermiso.FKIdRol        = rolPermiso.IdRol;
                objRolPermiso.FKIdPermiso    = rolPermiso.IdPermiso;
                objRolPermiso.Activo         = rolPermiso.Activo;

                await context.SaveChangesAsync();

                resultado = objRolPermiso.PKIdRolPermiso;
            }
            catch (Exception e)
            {
                var message = $"Ocurrió un error al actualizar el RolPermiso.";
                throw new IOException(message, e);
            }
            return(resultado);
        }