public DocumentosServicio(IPushNewsUnitOfWork db, Aplicacion aplicacion) : base(db) { this.aplicacion = aplicacion; if (aplicacion != null) { RestrictFilter = d => d.AplicacionID == aplicacion.AplicacionID; } }
public TerminalesServicio(IPushNewsUnitOfWork db, Aplicacion aplicacion) : base(db) { this.aplicacion = aplicacion; if (this.aplicacion != null) { RestrictFilter = t => t.AplicacionID == aplicacion.AplicacionID; } }
public LocalizacionesServicio(IPushNewsUnitOfWork db, Aplicacion aplicacion) : base(db) { this.aplicacion = aplicacion; if (this.aplicacion != null) { RestrictFilter = c => c.AplicacionID == aplicacion.AplicacionID; } }
public CategoriasServicio(IPushNewsUnitOfWork db, Aplicacion aplicacion) : base(db) { this.aplicacion = aplicacion; CamposEvitarDuplicados = new[] { "Nombre" }; if (this.aplicacion != null) { RestrictFilter = c => c.AplicacionID == aplicacion.AplicacionID; } }
public ServiciosFactoria(IPushNewsUnitOfWork dbContext, Aplicacion aplicacion) { if (dbContext == null) { throw new ArgumentNullException(paramName: "dbContext"); } db = dbContext; this.aplicacion = aplicacion; }
public static string Absoluta(string relativa, Aplicacion aplicacion) { IPushNewsUnitOfWork uow = HttpContext.Current.Request.GetOwinContext().Get <IPushNewsUnitOfWork>(); var servicios = new ServiciosFactoria(uow, aplicacion); IParametrosServicio srv = servicios.ParametrosServicio(); Parametro paramRaizDocumentos = srv.GetByName(nombreParametro: "RaizDocumentos"); string rutaRaiz = paramRaizDocumentos.Valor; string rutaAbsoluta = System.IO.Path.Combine(rutaRaiz, relativa); return(rutaAbsoluta); }
public static ApplicationUserManager Create(IdentityFactoryOptions <ApplicationUserManager> options, IOwinContext context) { IPushNewsUnitOfWork pushNewsModel = context.Get <IPushNewsUnitOfWork>(); var manager = new ApplicationUserManager(new UserStore(pushNewsModel)); // Configure la lógica de validación de nombres de usuario manager.UserValidator = new UserValidator <Usuario, long>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = false, }; // Configure la lógica de validación de contraseñas manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, //RequireNonLetterOrDigit = true, //RequireDigit = true, //RequireLowercase = true, //RequireUppercase = true, }; // Configurar valores predeterminados para bloqueo de usuario manager.UserLockoutEnabledByDefault = true; //manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); //manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Registre proveedores de autenticación en dos fases. Esta aplicación usa los pasos Teléfono y Correo electrónico para recibir un código para comprobar el usuario // Puede escribir su propio proveedor y conectarlo aquí. manager.RegisterTwoFactorProvider( twoFactorProvider: "Código telefónico", provider: new PhoneNumberTokenProvider <Usuario, long> { MessageFormat = "Su código de seguridad es {0}" }); manager.RegisterTwoFactorProvider( twoFactorProvider: "Código de correo electrónico", provider: new EmailTokenProvider <Usuario, long> { Subject = "Código de seguridad", BodyFormat = "Su código de seguridad es {0}" }); manager.EmailService = new EmailService(); manager.SmsService = new SmsService(); IDataProtectionProvider dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <Usuario, long>( dataProtectionProvider.Create(purposes: new string[] { "ASP.NET Identity" })); } return(manager); }
public static IEnumerable <ElementoMenu> GenerarMenu(long usuarioID, Aplicacion aplicacion) { IPushNewsUnitOfWork uow = HttpContext.Current.Request.GetOwinContext().Get <IPushNewsUnitOfWork>(); var servicios = new ServiciosFactoria(uow, aplicacion); IAplicacionesServicio appSrv = servicios.AplicacionesServicio(); Aplicacion app = appSrv.GetSingle(a => a.AplicacionID == aplicacion.AplicacionID); IUsuariosServicio srv = servicios.UsuariosServicio(); // Flags para ocultar categorías, teléfonos y localizaciones en el menú. // Los tres elementos se mostrarán siempre si el usuario es administrador, independientemente de // si tiene o no tiene categorías asignadas. // Si el usuario no es administrador, los tres elementos se mostrarán si no tiene ninguna // categoría asignada en la aplicación acutal. Si tiene al menos una categoría asignada en la // aplicación acutal, los tres elementos se ocultan. IUsuariosServicio usuariosServicio = servicios.UsuariosServicio(); Usuario usuario = usuariosServicio.GetSingle(u => u.UsuarioID == usuarioID); bool usuarioEsAdmin = usuario.Rol.Nombre == "Administrador"; bool ocultarCategorias = false; bool ocultarTelefonos = false; bool ocultarLocalizaciones = false; IEnumerable <Dominio.Enums.AplicacionCaracteristica> caracteristicas = app.Caracteristicas .Where(c => c.Activo) .Select(c => (Dominio.Enums.AplicacionCaracteristica)c.AplicacionCaracteristicaID); List <ElementoMenu> menuCompleto = Elementos(caracteristicas, ocultarCategorias, ocultarTelefonos, ocultarLocalizaciones); var menuFiltrado = new List <ElementoMenu>(); if (usuarioEsAdmin) { menuFiltrado = menuCompleto; } else { foreach (var eActual in menuCompleto) { if (eActual.Roles.Any(r => r.Length == 0 || usuario.Rol.Nombre == r)) { if (eActual.TieneHijos) { QuitarHijos(eActual, new[] { "Editor" }); } menuFiltrado.Add(eActual); } } } return(menuFiltrado); }
public ComunicacionesAccesosServicio(IPushNewsUnitOfWork db, Aplicacion aplicacion) : base(db) { this.aplicacion = aplicacion; if (this.aplicacion != null) { RestrictFilter = ca => ca.Terminal.AplicacionID == aplicacion.AplicacionID; } IParametrosServicio pSrv = new ParametrosServicio(db); Parametro paramPeriodoNoConteo = pSrv.GetByName("PeriodoNoConteoMinutos"); int minutosNoConteo = int.Parse(paramPeriodoNoConteo?.Valor ?? "1"); periodoNoConteo = new TimeSpan(0, minutosNoConteo, 0); }
public RolesServicio(IPushNewsUnitOfWork db) : base(db) { }
public ParametrosServicio(IPushNewsUnitOfWork db /*, Aplicacion aplicacion*/) : base(db) { CamposEvitarDuplicados = new[] { "Nombre" }; }
public UserStore(IPushNewsUnitOfWork context) { this.context = context; }
public AplicacionesCaracteristicasServicio(IPushNewsUnitOfWork db) : base(db) { CamposEvitarDuplicados = new [] { "Nombre" }; }
public AplicacionesServicio(IPushNewsUnitOfWork db) : base(db) { // Campos que no pueden repetirse entre diferentes reigstros. CamposEvitarDuplicados = new[] { "Nombre", "SubDominio" }; }
public UsuariosServicio(IPushNewsUnitOfWork db) : base(db) { }
protected BaseServicio(IPushNewsUnitOfWork unitOfWork) { this.unitOfWork = unitOfWork; }