Ejemplo n.º 1
0
        internal static void AuthorizeAccion(IdAccion idAccion, int idUsuario, TipoPermiso eJECUCION)
        {
            var keyArray = new KeyArray();
            var tpAuth   = CachingManager.Instance.GetAutorizacion(idUsuario, (short)idAccion, eJECUCION).tipoAutorizacion;

            if (tpAuth == TipoAutorizacion.CON_PERMISOS || tpAuth == TipoAutorizacion.CON_DOBLE_CONTROL)
            {
                return;
            }

            AccionEntity accion = CachingManager.Instance.GetAccionById((short)idAccion);

            keyArray.Codigo = CodigosMensajes.FE_ERROR_FALTA_PERMISOS;
            if (accion != null)
            {
                keyArray.Parametros.Add(accion.Descripcion);
            }
            else
            {
                keyArray.Parametros.Add(string.Format("Acción {0} no encontrada", idAccion));
            }
            var fe = new AuthorizationException(001);

            fe.DataValidations.Add(keyArray);
            throw fe;
        }
Ejemplo n.º 2
0
        public static void Authorize(Command command, int idUsuario)
        {
            var   keyArray = new KeyArray();
            short idAccion = Convert.ToInt16(command.GetIdAccion);
            var   tpAuth   = CachingManager.Instance.GetAutorizacion(idUsuario, idAccion, (TipoPermiso)command.GetIdPermiso).tipoAutorizacion;

            if (tpAuth == TipoAutorizacion.CON_PERMISOS || tpAuth == TipoAutorizacion.CON_DOBLE_CONTROL)
            {
                return;
            }

            AccionEntity accion = CachingManager.Instance.GetAccionById(idAccion);

            keyArray.Codigo = CodigosMensajes.FE_ERROR_FALTA_PERMISOS;
            if (accion != null)
            {
                keyArray.Parametros.Add(accion.Descripcion);
            }
            else
            {
                keyArray.Parametros.Add(string.Format("Acción {0} no encontrada", idAccion));
            }
            var fe = new AuthorizationException(001);

            fe.DataValidations.Add(keyArray);
            throw fe;
        }
Ejemplo n.º 3
0
        public override object ExecuteCommand(InCourseRequest inCourseRequest)
        {
            AccionEntity request = new AccionEntity()
            {
                IdAccion          = IdAccion,
                Descripcion       = Descripcion,
                HabilitarPermisos = sumUpPermissions()
            };

            this.AgregarAlContextoParaAlta(request);
            return(null);
        }
        public override object ExecuteCommand(InCourseRequest inCourseRequest)
        {
            var entidad = (from d in context.Acciones where d.IdAccion == r_id select d);

            ValidateExiste(entidad.Count(), r_id, CodigosMensajes.FE_ACTUALIZA_NO_EXISTE);

            AccionEntity request = entidad.FirstOrDefault();

            request.Descripcion       = Descripcion;
            request.HabilitarPermisos = sumUpPermissions();
            return(null);
        }
        public static TipoAutorizacion AuthorizeAccion(int idUsuario, short idAccion, TipoPermiso permisoRequerido)
        {
            Permiso      _permiso = GetByIDPermisos(idUsuario, idAccion);
            AccionEntity accion   = CachingManager.Instance.GetAccionById(idAccion);

            if (_permiso != null & accion != null)
            {
                if (((int)permisoRequerido & _permiso.Permisos & accion.HabilitarPermisos) == (int)permisoRequerido)
                {
                    // INFORMATION OK
                    return(TipoAutorizacion.CON_PERMISOS);
                }
            }
            return(TipoAutorizacion.SIN_PERMISOS);
        }
Ejemplo n.º 6
0
        public static void AuthorizeQuery(string query, int idUsuario, int tipo_permiso)
        {
            bool sinPermisos = false;
            // hasta que no se carguen todas las grillas tiene el try/catch
            var         keyArray = new KeyArray();
            QRYIdAccion?idAccion = null;

            try
            {
                idAccion = (QRYIdAccion)Enum.Parse(typeof(QRYIdAccion), query.ToUpper());
            }
            catch
            {
                sinPermisos = true;
            }

            if (!sinPermisos)
            {
                var tpAuth = CachingManager.Instance.GetAutorizacion(idUsuario, (short)idAccion.Value.GetHashCode(), (TipoPermiso)tipo_permiso).tipoAutorizacion;

                if (tpAuth == TipoAutorizacion.CON_PERMISOS || tpAuth == TipoAutorizacion.CON_DOBLE_CONTROL)
                {
                    return;
                }

                keyArray.Codigo = CodigosMensajes.FE_ERROR_FALTA_PERMISOS;
                AccionEntity accion = CachingManager.Instance.GetAccionById((short)idAccion.Value);

                if (accion != null)
                {
                    keyArray.Parametros.Add(accion.Descripcion);
                }
                else
                {
                    keyArray.Parametros.Add(string.Format("Acción {0} no encontrada", idAccion.Value));
                }
            }
            else
            {
                keyArray.Parametros.Add(string.Format("No se encontró el QueryName {0}", query));
            }
            keyArray.Codigo = CodigosMensajes.FE_ERROR_FALTA_PERMISOS;

            var fe = new AuthorizationException(001);

            fe.DataValidations.Add(keyArray);
            throw fe;
        }
        private static Permiso GetByIDPermisos(int idUsuario, short idAccion)
        {
            var permiso = CachingManager.Instance.GetByIdPermisos(idUsuario, idAccion);

            if (permiso == null)
            {
                string       mensaje = string.Empty;
                AccionEntity accion  = CachingManager.Instance.GetAccionById(idAccion);
                if (accion == null)
                {
                    mensaje = string.Format(CodeMensajes.GetDescripcionMensaje(CodeMensajes.ERR_ACCION_NO_EXISTE), idAccion);
                    throw new M4TraderApplicationException(CodeMensajes.ERR_ACCION_NO_EXISTE, mensaje);
                }
                mensaje = string.Format(CodeMensajes.GetDescripcionMensaje(CodeMensajes.ERR_SINPERMISOS), accion.Descripcion, accion.Descripcion);
                throw new M4TraderApplicationException(CodeMensajes.ERR_SINPERMISOS, mensaje);
            }
            VerificarPermiso(ref permiso);
            return(permiso);
        }
Ejemplo n.º 8
0
        public ProcessResult <object> Registrar(AccionRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            try
            {
                if (data.CodigoAccion > 0)
                {
                    AccionEntity Entity = EntityRepository.GetById(data.CodigoAccion);

                    if (Entity != null)
                    {
                        Entity.CodigoAccion = data.CodigoAccion;
                        Entity.Nombre       = data.Nombre;
                        Entity.Descripcion  = data.Descripcion;

                        EntityRepository.Editar(Entity);
                        resultado.IsSuccess = true;
                        EntityRepository.GuardarCambios();
                    }
                }
                else
                {
                    AccionEntity Entity = new AccionEntity();
                    Entity.Nombre      = data.Nombre;
                    Entity.Descripcion = data.Descripcion;

                    EntityRepository.Insertar(Entity);
                    resultado.IsSuccess = true;
                    EntityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <AccionService>(ex.Message);
            }
            return(resultado);
        }
Ejemplo n.º 9
0
        public ProcessResult <object> Eliminar(AccionRequest filtro)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = string.Empty;

            try
            {
                AccionEntity Entity = EntityRepository.GetById(filtro.CodigoAccion);

                if (Entity != null)
                {
                    EntityRepository.Eliminar(Entity.CodigoAccion);

                    resultado.IsSuccess = true;
                    EntityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <AccionService>(ex.Message);
            }
            return(resultado);
        }
        public override ExecutionResult ExecuteCommand(InCourseRequest inCourseRequest)
        {
            AccionEntity accion = CachingManager.Instance.GetAccionById(IdAccion);

            return(ExecutionResult.ReturnInmediatelyAndQueueOthers(new { permisos = accion.HabilitarPermisos }));
        }