public void TestComandoObtenerOpciones()
        {
            bool resultado;

            LogicaTangerine.Comando <Boolean> commandAgregarUsuario = FabricaComandos.agregarUsuario(elUsuario);
            resultado = commandAgregarUsuario.Ejecutar();
            Assert.IsTrue(resultado);
            elUsuario = DominioTangerine.Fabrica.FabricaEntidades.crearUsuarioCompleto("Daniel", "1234", new DateTime(2015, 2, 10),
                                                                                       "Activo", elRol1, 1);
            LogicaTangerine.Comando <DominioTangerine.Entidad> commandObtenerOpciones
                = FabricaComandos.obtenerComandoObtenerOpciones("Gestión de Pagos", 2);
            DominioTangerine.Entidad theResultado = commandObtenerOpciones.Ejecutar();
            DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2> lista
                = (DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2>)theResultado;
            Assert.IsNotEmpty(lista);
        }
Example #2
0
        /// <summary>
        /// Método que obtiene el rol y los menús que poseen opciones prohibidas para el usuario
        /// </summary>
        /// <param name="codigoRol">Recibe el codigo de un rol de un usuario</param>
        /// <returns>El rol del usuario</returns>
        public Entidad ObtenerRolUsuario(int codigoRol)
        {
            Entidad theRol = DominioTangerine.Fabrica.FabricaEntidades.crearRolVacio();

            DominioTangerine.Entidades.M2.RolM2 rol = (DominioTangerine.Entidades.M2.RolM2)theRol;

            Entidad theMenu;
            Entidad theLista = DominioTangerine.Fabrica.FabricaEntidades.crearListaGenericaVaciaMenu();

            DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.MenuM2> lista
                = (DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.MenuM2>)theLista;

            List <Parametro> parametros  = new List <Parametro>();
            Parametro        elParametro = new Parametro();

            bool esAdministrador = true;

            try
            {
                elParametro = new Parametro(ResourceUser.ParametroRolCodigo, SqlDbType.Int, codigoRol.ToString(), false);
                parametros.Add(elParametro);

                DataTable dt = EjecutarStoredProcedureTuplas(ResourceUser.ObtenerRolUsuario, parametros);

                bool rolAgregado = false;

                //Por cada fila de la tabla voy a guardar los datos
                foreach (DataRow row in dt.Rows)
                {
                    string rolNombre = row[ResourceUser.RolNombre].ToString();
                    string menNombre = row[ResourceUser.RolMenu].ToString();

                    if (rolAgregado == false)
                    {
                        rol.nombre  = rolNombre;
                        rolAgregado = true;
                    }

                    Entidad theOpciones = ObtenerOpciones(menNombre, codigoRol);
                    ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2> opciones
                        = (ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2>)theOpciones;

                    theMenu = DominioTangerine.Fabrica.FabricaEntidades.crearMenuCompleto(menNombre, opciones);
                    DominioTangerine.Entidades.M2.MenuM2 menu = (DominioTangerine.Entidades.M2.MenuM2)theMenu;

                    lista.agregarElemento(menu);

                    esAdministrador = false;
                }

                if (esAdministrador)
                {
                    rol.nombre = "Administrador";
                }
                rol.menu = lista;
            }
            catch (ArgumentNullException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Ingreso de un argumento con valor invalido", ex);
            }
            catch (FormatException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Ingreso de datos con un formato invalido", ex);
            }
            catch (ExceptionTGConBD ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error con la base de datos", ex);
            }
            catch (SqlException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error al momento de realizar la conexion", ex);
            }
            catch (Exception ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error al momento de realizar la operacion", ex);
            }

            Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                                ResourceUser.MensajeFinInfoLogger,
                                System.Reflection.MethodBase.GetCurrentMethod().Name);

            return(rol);
        }
Example #3
0
        /// <summary>
        /// Método que devuelve las opciones de un menú prohibidas para un rol
        /// </summary>
        /// <param name="nombreMenu">Es el menu que proporcionara el sistema</param>
        /// <param name="codigoRol">El codigo de un rol de un ususario especifico</param>
        /// <returns>Una lista con las opciones</returns>
        public Entidad ObtenerOpciones(string nombreMenu, int codigoRol)
        {
            Entidad theLista = DominioTangerine.Fabrica.FabricaEntidades.crearListaGenericaVaciaOpcion();

            DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2> lista
                = (DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2>)theLista;
            Entidad          theOpcion;
            List <Parametro> parametros  = new List <Parametro>();
            Parametro        elParametro = new Parametro();

            try
            {
                elParametro = new Parametro(ResourceUser.ParametroMenuNombre, SqlDbType.VarChar, nombreMenu, false);
                parametros.Add(elParametro);

                elParametro = new Parametro(ResourceUser.ParametroRolCodigo, SqlDbType.Int, codigoRol.ToString(), false);
                parametros.Add(elParametro);

                DataTable dt = EjecutarStoredProcedureTuplas(ResourceUser.ObtenerOpciones, parametros);

                //Por cada fila de la tabla voy a guardar los datos
                foreach (DataRow row in dt.Rows)
                {
                    string nombreOpcion = row[ResourceUser.OpcNombre].ToString();
                    string url          = row[ResourceUser.OpcUrl].ToString();

                    theOpcion = DominioTangerine.Fabrica.FabricaEntidades.crearOpcionCompleta(nombreOpcion, url);
                    DominioTangerine.Entidades.M2.OpcionM2 opcion = (DominioTangerine.Entidades.M2.OpcionM2)theOpcion;
                    lista.agregarElemento(opcion);
                }
            }
            catch (ArgumentNullException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Ingreso de un argumento con valor invalido", ex);
            }
            catch (FormatException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Ingreso de datos con un formato invalido", ex);
            }
            catch (ExceptionTGConBD ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error con la base de datos", ex);
            }
            catch (SqlException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error al momento de realizar la conexion", ex);
            }
            catch (Exception ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExceptionM2Tangerine("DS-202", "Error al momento de realizar la operacion", ex);
            }

            Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                                ResourceUser.MensajeFinInfoLogger,
                                System.Reflection.MethodBase.GetCurrentMethod().Name);

            return(lista);
        }
Example #4
0
        public void TestObtenerOpciones()
        {
            IDAOUsuarios daoUsuario = DatosTangerine.Fabrica.FabricaDAOSqlServer.crearDaoUsuario();

            answer    = daoUsuario.Agregar(elUsuario);
            elUsuario = DominioTangerine.Fabrica.FabricaEntidades.crearUsuarioCompleto("Daniel", "1234", new DateTime(2015, 2, 10),
                                                                                       "Activo", elRol1, 1);
            DominioTangerine.Entidades.M2.UsuarioM2 theUsuario = (DominioTangerine.Entidades.M2.UsuarioM2)elUsuario;
            IDAORol daoRol = DatosTangerine.Fabrica.FabricaDAOSqlServer.crearDaoRol();

            DominioTangerine.Entidad theResultado = daoRol.ObtenerOpciones("Gestión de Pagos", 2);
            DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2> lista
                = (DominioTangerine.Entidades.M2.ListaGenericaM2 <DominioTangerine.Entidades.M2.OpcionM2>)theResultado;
            Assert.IsNotEmpty(lista);
        }