public Boolean ValidarLicencia() { //objeto licencia que usariamos en el sistema cliente y en el sistema validador sis_Licencia licencia = new sis_Licencia(); licencia.IDLicencia = 100; licencia.NombreEmpresa = "empresa fulanita"; licencia.RFC = "RFC"; licencia.Telefono = "7454019"; licencia.PaqueteComprado = "#01"; licencia.Vigencia = new DateTime(2016, 12, 1); licencia.ModulosPermitidos = new List <string>(); licencia.ModulosPermitidos.Add("$01"); licencia.ModulosPermitidos.Add("$02"); //se convertira a json para poderlo cifrar String json = Herramientas.Web.JSON.ConvertirObjetoAJSON <sis_Licencia>(licencia); //se cifrara y sera guardado en el archivo .key String cifrado = Herramientas.Cifrado.CifradoAES.EncriptarTexto(json); //el archivo .key se va a descifrar en el webservice para modificar los parametros String jsonC = Herramientas.Cifrado.CifradoAES.DesencriptarTexto(cifrado); //se va a obtener la licencia nuevamente modificar los valores y se encriptara de nuevo. sis_Licencia licencia2 = Herramientas.Web.JSON.ConvertirJSONAObjeto <sis_Licencia>(jsonC); Dictionary <String, List <String> > modulosComprados = modulosController.CargarModulosDisponiblesDeAcuerdoLicenciaParaSeleccion(licencia); if (licencia.Vigencia >= DateTime.Now) { return(true); } else { return(false); } }
public Dictionary <String, List <String> > CargarModulosDisponiblesDeAcuerdoLicenciaParaSeleccion(sis_Licencia licencia) { Dictionary <String, List <String> > modulosConfiguracionGeneral = CargarModulosGenerales(); Dictionary <String, List <String> > modulosConfiguracionPaqueteComprado = new Dictionary <string, List <string> >(); //de acuerdo a la licencia del cliente se obtienen los modulos y paquetes disponibles foreach (String modulo in modulosConfiguracionGeneral.Keys) { //filtrando solo a los modulos permitidos que el cliente compro if (licencia.ModulosPermitidos.Contains(modulo.Split('|')[0])) { //ahora filtrando las formas de acuerdo al paquete comprado List <String> formasDelPaqueteComprado = new List <string>(); foreach (String forma in modulosConfiguracionGeneral[modulo]) { if (forma.StartsWith(licencia.PaqueteComprado)) { formasDelPaqueteComprado.Add(forma); } } if (formasDelPaqueteComprado.Count > 0) { modulosConfiguracionPaqueteComprado.Add(modulo, formasDelPaqueteComprado); } } } //retornamos los accesos permitidos comprados return(modulosConfiguracionPaqueteComprado); }
public Dictionary <String, List <String> > CargarModulosPorUsuarioUsandoLicencia(_sis_Usuario usuario, sis_Licencia licencia) { Dictionary <String, List <String> > modulosFormas = new Dictionary <string, List <String> >(); if (usuario.Oo_rol == null) { return(null); } if (usuario.Oo_rol.Ll_modulosAcceso != null) { foreach (_sis_ModuloSistemaPermiso modulo in usuario.Oo_rol.Ll_modulosAcceso) { if (licencia.ModulosPermitidos.Contains(modulo.St_nombre)) { List <String> formasAcceso = modulo.St_listaFormasAcceso.Split('|').ToList <String>(); modulosFormas.Add(modulo.St_nombre, formasAcceso); } } } else { return(null); } return(modulosFormas); }