/// <summary>
        /// Obtiene la lista de operadores de telefonía móvil soportados para la aplicación.
        /// </summary>
        /// <returns>
        /// Lista de <see cref="CarrierInfo" /> con los operadores de telefonía soportados.
        /// </returns>
        public IList <CarrierInfo> GetCarriers()
        {
            List <CarrierInfo> carriers = CacheStore.Get <List <CarrierInfo> >(CacheKeys.Carriers);

            if (carriers != null)
            {
                return(carriers);
            }

            IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.Carriers);

            carriers = this.Execute <List <CarrierInfo> >(request);
            CacheStore.Add(CacheKeys.Carriers, carriers);
            return(carriers);
        }
        /// <summary>
        /// Obtiene la lista de los tipos de transacción soportados para la aplicación.
        /// </summary>
        /// <returns>
        /// Lista de tipos de transacción soportados.
        /// </returns>
        public IList <TranTypeInfo> GetTranTypes()
        {
            List <TranTypeInfo> tranTypes = CacheStore.Get <List <TranTypeInfo> >(CacheKeys.TranTypes);

            if (tranTypes != null)
            {
                return(tranTypes);
            }

            IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.TranTypes);

            tranTypes = this.Execute <List <TranTypeInfo> >(request);
            CacheStore.Add(CacheKeys.TranTypes, tranTypes);
            return(tranTypes);
        }
コード例 #3
0
        public void CacheStoreCanGetAnEntry()
        {
            // Arrange
            var keyName  = "MyKeyName";
            var keyValue = "MyKeyValue";

            _memoryCache.Set(keyName, keyValue);

            // Act
            ICacheStore _cache     = new CacheStore(_memoryCache);
            var         cacheValue = _cache.Get <string>(keyName);

            // Assert
            Assert.NotNull(cacheValue);
            Assert.Equal(keyValue, cacheValue);
        }
コード例 #4
0
        /// <summary>
        /// Obtiene la configuración de valores de configuración soportados para la aplicación.
        /// </summary>
        /// <param name="apiKey">El identificador de la aplicación.</param>
        /// <returns>
        /// Colección de clavesy valores soportados para la aplicación.
        /// </returns>
        public AppMovSettings GetAppSettings(string apiKey)
        {
            AppMovSettings appMovSettings = CacheStore.Get <AppMovSettings>(CacheKeys.AppMovSettings);

            if (appMovSettings != null)
            {
                return(appMovSettings);
            }

            IRestRequest request = new AspenRequest(Scope.Anonymous, EndpointMapping.AppMovSettings);

            ServiceLocator.Instance.HeadersManager.AddApiKeyHeader(request, apiKey);
            appMovSettings = this.Execute <AppMovSettings>(request);
            CacheStore.Add(CacheKeys.AppMovSettings, appMovSettings);
            return(appMovSettings);
        }
コード例 #5
0
        /// <summary>
        /// Registra la información de las excepciones que se produzcan por cierres inesperados (AppCrash) de la aplicación.
        /// </summary>
        /// <param name="apiKey">El identificador de la aplicación que generó el error.</param>
        /// <param name="username">El identificador del último usuario que uso la aplicación antes de generarse el error.</param>
        /// <param name="errorReport">La información del reporte de error generado en la aplicación.</param>
        public void SaveAppCrash(string apiKey, string username, string errorReport)
        {
            if (!ServiceLocator.Instance.Runtime.IsDevelopment)
            {
                Throw.IfNullOrEmpty(apiKey, nameof(apiKey));
                Throw.IfNullOrEmpty(errorReport, nameof(errorReport));
                Throw.IfNullOrEmpty(username, nameof(username));
            }

            IRestRequest request = new AspenRequest(
                Scope.Anonymous,
                EndpointMapping.AppCrash,
                contentType: "application/x-www-form-urlencoded");

            request.AddParameter("ErrorReport", errorReport);
            request.AddParameter("Username", username);
            IDeviceInfo deviceInfo = CacheStore.Get <DeviceInfo>(CacheKeys.CurrentDevice) ?? DeviceInfo.Current;

            ServiceLocator.Instance.HeadersManager.AddApiKeyHeader(request, apiKey);
            request.AddHeader(ServiceLocator.Instance.RequestHeaderNames.DeviceInfoHeaderName, deviceInfo.ToJson());
            this.Execute(request);
        }
コード例 #6
0
        public IActionResult Index()
        {
            if (Request.Query.Count == 0)
            {
                return(BadRequest("No ActivationToken was found in the query parameters!"));
            }

            if (!Request.Query.ContainsKey("ActivationToken"))
            {
                return(BadRequest("No ActivationToken was found in the query parameters!"));
            }

            var activationToken = Request.Query["ActivationToken"];

            if (string.IsNullOrEmpty(activationToken))
            {
                return(BadRequest("The ActivationToken parameter was defined but doesn't have any value!"));
            }

            var cacheItem = CacheStore.Get(activationToken);

            if (cacheItem == null)
            {
                return(BadRequest("The ActivationToken has expired! Please register again!"));
            }

            var pendingActivationIdentity = (PendingActivationIdentity)cacheItem.Data;

            BL.Identity.CreateIdentity(pendingActivationIdentity.Identity);

            var authIdentity = new AuthenticationIdentity()
            {
                Email             = pendingActivationIdentity.Identity.Email,
                NewAccount        = true,
                PendingActivation = false
            };

            return(RedirectToAction("Index", "Authentication", authIdentity));
        }
コード例 #7
0
        public JsonResult Get(int id)
        {
            Tutor result = CacheStore.Get <Tutor>(id.ToString());

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
        private void AddTargetAssembly(string assemblyName)
        {
            MonoAssemblyResolver assemblyTarget = null;

            if (CacheStore.Exists <MonoAssemblyResolver>("mono|" + assemblyName))
            {
                assemblyTarget = CacheStore.Get <MonoAssemblyResolver>("mono|" + assemblyName);
            }
            else
            {
                assemblyTarget = new MonoAssemblyResolver(assemblyName);
                CacheStore.Add <MonoAssemblyResolver>("mono|" + assemblyName, assemblyTarget);
            }

            // add in the dictionary
            if (_targetAssemblies.ContainsKey(assemblyName) == false)
            {
                _targetAssemblies.Add(assemblyName, assemblyTarget);
            }

            // attach message received event
            assemblyTarget.OnMessageReceived += resolver_OnMessageReceived;

            // add node
            var nodeAssembly = new TreeNode
            {
                Text = Path.GetFileName(assemblyName),
                Tag  = new BindItem {
                    Assembly = assemblyTarget, Method = null
                }
            };

            _rootTarget.Nodes.Add(nodeAssembly);

            List <TypeDefinition> types = assemblyTarget.FindClasses();

            for (int i = 0; i < types.Count; i++)
            {
                if (types[i].HasMethods)
                {
                    var nodeClass = new TreeNode
                    {
                        Text = types[i].Name,
                        Tag  = types[i]
                    };

                    nodeAssembly.Nodes.Add(nodeClass);

                    if (types[i].Name == "Program")
                    {
                        ProgramAssembly = assemblyTarget;

                        var methodDefinitions = types[i].GetMethods(false);

                        for (int j = 0; j < methodDefinitions.Count; j++)
                        {
                            if (methodDefinitions[j].Name == "Main")
                            {
                                ProgramMethod = methodDefinitions[j];
                            }
                        }
                    }

                    OnBindMethodsDefinitions(assemblyTarget, types[i], nodeClass);
                }
            }

            treeTarget.CollapseAll();

            _targetAssemblyLoaded = true;

            SendMessageToPlugins(EventType.TargetAssemblyLoaded, null, null, assemblyName);
        }