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); }
/// <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); }
/// <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); }
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); }