public void Fill(Familia _object) { _object.IdFamiliaElement = (Convert.ToString(this.row["IdFamilia"])); _object.Nombre = (Convert.ToString(this.row["Nombre"])); DataTable relacionesFamilia = FamiliaDAL.GetAccesos(_object.IdFamiliaElement); foreach (DataRow rowAccesos in relacionesFamilia.Rows) { _object.Add(FamiliaFacade.GetAdapted(Convert.ToString(rowAccesos["IdFamiliaHijo"]))); } DataTable relacionesPatentes = Familia_PatenteDAL.GetAccesos(_object.IdFamiliaElement); foreach (DataRow rowAccesos in relacionesPatentes.Rows) { _object.Add(PatenteFacade.GetAdapted(Convert.ToString(rowAccesos["IdPatente"]))); } }
static void Main(string[] args) { #region Usuario_Patente_Familia Patente patenteVentas = new Patente() { Nombre = "Pantalla de ventas" }; Patente patenteCompras = new Patente() { Nombre = "Pantalla de compras" }; Familia familia1 = new Familia(patenteVentas); familia1.Add(patenteCompras); Patente patentePerfilUsuario = new Patente() { Nombre = "Pantalla perfil de usuario" }; Familia familiaCompleta = new Familia(familia1); familiaCompleta.Add(patentePerfilUsuario); Usuario usuario = new Usuario(); usuario.UserName = "******"; usuario.Permisos.Add(familiaCompleta); Patente patenteSoloParaElUsuario = new Patente() { Nombre = "Pantalla de bienvenida" }; usuario.Permisos.Add(patenteSoloParaElUsuario); Console.WriteLine($"El usuario {usuario.UserName} tiene los siguiente permisos: "); foreach (var item in usuario.GetPatentes()) { Console.WriteLine($"Permiso: {item.Nombre}"); } Console.WriteLine($"El usuario {usuario.UserName} tiene las siguientes familias: "); foreach (var item in usuario.GetFamilias()) { Console.WriteLine($"Familia: {item.Nombre}"); } #endregion #region MULTI-IDIOMA CultureInfo[] custom = CultureInfo.GetCultures(CultureTypes.UserCustomCulture); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); string palabra = "hola".Traducir(); Console.WriteLine($"Palabra traducida: {palabra}"); string bienvenido = "bienvenido".Traducir(); #endregion #region SINGLETON + FACTORY //DAL.Contracts.IGenericRepository<Address> addressRepository2 = new AddressRepository(); IGenericRepository <Address> addressRepository = Factory.Current.GetAddressRepository(); //DAL.Contracts.IGenericRepository<Customer> customerRepository2 = new CustomerRepository(); IGenericRepository <Customer> customerRepository = Factory.Current.GetCustomerRepository(); Console.WriteLine(addressRepository.GetType().FullName); Console.ReadLine(); LoggerManager instancia1 = LoggerManager.Current; LoggerManager instancia2 = LoggerManager.Current; if (instancia1 == instancia2) { Console.WriteLine("EFECTIVAMENTE ESTOY EN UN SINGLETON"); } LoggerManager.Current.Write("Bienvenidos al mundo de los patrones", EventLevel.Informational); Address address = addressRepository.GetOne(Guid.Parse("BFB7F9B7-198B-EA11-81A3-E8D8D142D59B")); Console.ReadLine(); //LOS SERVICIOS SON CANDIDATOS A SINGLETON.... //DAL.Contracts.IGenericRepository<Address> addressRepository2 = new AddressRepository(); #endregion }