/// <summary> /// END-POINT: Desde CrudBase.ts /// llama al metodo del controlador CargarLista y en función de la claseElemento obtiene que elementos ha de cargar /// </summary> /// <param name="claseElemento">Indica la lista de elementos que se quiere cargar</param> /// <returns></returns> public JsonResult epCargarLista(string claseElemento, string negocio, string filtro) { var r = new Resultado(); dynamic elementos; try { ApiController.CumplimentarDatosDeUsuarioDeConexion(GestorDeElementos.Contexto, GestorDeElementos.Mapeador, HttpContext); List <ClausulaDeFiltrado> filtros = filtro == null ? new List <ClausulaDeFiltrado>() : JsonConvert.DeserializeObject <List <ClausulaDeFiltrado> >(filtro); elementos = CargarLista(claseElemento, NegociosDeSe.ToEnumerado(negocio, nullValido: true), filtros); r.Datos = elementos; r.Estado = enumEstadoPeticion.Ok; } catch (Exception e) { ApiController.PrepararError(e, r, "No se ha podido leer los datos."); } return(new JsonResult(r)); }
//END-POINT: Desde CrudMantenimiento.ts /// <summary> /// Devuelve el modo de acceso a los datos del negocio del usuario conectado /// </summary> /// <param name="negocio">negocio del que se quiere saber el modo de acceso del usuario conectado</param> /// <returns>modo de acceso a los datos del negocio</returns> public JsonResult epLeerModoDeAccesoAlNegocio(string negocio) { var r = new Resultado(); try { ApiController.CumplimentarDatosDeUsuarioDeConexion(Contexto, Mapeador, HttpContext); var modoDeAcceso = LeerModoAccesoAlNegocio(DatosDeConexion.IdUsuario, NegociosDeSe.ToEnumerado(negocio)); r.ModoDeAcceso = modoDeAcceso.Render(); r.consola = $"El usuario {DatosDeConexion.Login} tiene permisos de {modoDeAcceso}"; r.Estado = enumEstadoPeticion.Ok; } catch (Exception e) { ApiController.PrepararError(e, r, $"Error al obtener los permisos sobre el negocio {negocio} para el usuario {DatosDeConexion.Login}."); } return(new JsonResult(r)); }
public JsonResult epLeerModoDeAccesoAlElemento(string negocio, int id) { var r = new Resultado(); try { var modoDeAcceso = enumModoDeAccesoDeDatos.SinPermiso; ApiController.CumplimentarDatosDeUsuarioDeConexion(GestorDeElementos.Contexto, GestorDeElementos.Mapeador, HttpContext); var opcionesDeMapeo = new Dictionary <string, object>(); opcionesDeMapeo.Add(ltrParametrosDto.DescargarGestionDocumental, false); var elemento = GestorDeElementos.LeerElementoPorId(id, opcionesDeMapeo); modoDeAcceso = GestorDeElementos.LeerModoDeAccesoAlElemento(DatosDeConexion.IdUsuario, NegociosDeSe.ToEnumerado(negocio), id); if (modoDeAcceso == enumModoDeAccesoDeDatos.SinPermiso) { GestorDeErrores.Emitir("El usuario conectado no tiene acceso al elemento solicitado"); } r.Datos = elemento; r.ModoDeAcceso = modoDeAcceso.Render(); r.consola = $"El usuario {DatosDeConexion.Login} tiene permisos de {modoDeAcceso} sobre el elemento seleccionado"; r.Estado = enumEstadoPeticion.Ok; } catch (Exception e) { ApiController.PrepararError(e, r, $"Error al obtener los permisos sobre el elemento {id} del {negocio} para el usuario {DatosDeConexion.Login}."); } return(new JsonResult(r)); }