示例#1
0
        public async Task <TickersData> GetTickers()
        {
            var url      = QueryStringService.AppendQueryString(Endpoints.Ticker, new Dictionary <string, string>());
            var response = await _restClient.GetAsync(url);

            return(await JsonParserService.ParseResponse <TickersData>(response));
        }
示例#2
0
        public async Task <CoinMarketCap.Pro.Model.GlobalMetrics.QuotesData> GlobalMetricsQuotesLatestAsync(FiatCurrency convert = FiatCurrency.USD)
        {
            HttpClient _httpClient = new HttpClient {
                BaseAddress = new Uri(Pro.Config.GlobalMetrics.CoinMarketCapProApiUrl)
            };

            _httpClient.DefaultRequestHeaders.Add("X-CMC_PRO_API_KEY", this.ProApiKey);

            var url = QueryStringService.AppendQueryString(Pro.Config.GlobalMetrics.GlobalMetricsLatest, new Dictionary <string, string>
            {
                { "convert", convert.ToString() },
            });
            var response = await _httpClient.GetAsync(url);

            CoinMarketCap.Pro.Model.GlobalMetrics.QuotesData data = await JsonParserService.ParseResponse <CoinMarketCap.Pro.Model.GlobalMetrics.QuotesData>(response);

            if (data == null)
            {
                data = new CoinMarketCap.Pro.Model.GlobalMetrics.QuotesData
                {
                    Data   = null,
                    Status = new Status {
                        ErrorCode = int.MinValue
                    },
                    Success = false
                };
            }
            data.Success = data.Status.ErrorCode == 0;

            // Add to Status List
            this.statusList.Add(data.Status);

            return(data);
        }
        public async Task <GlobalData> GlobalAsync(FiatCurrency convert = FiatCurrency.USD)
        {
            GlobalData data = new GlobalData();

            try
            {
                HttpClient _httpClient = new HttpClient {
                    BaseAddress = new Uri(Endpoints.CoinMarketCapApiUrl)
                };
                var url = QueryStringService.AppendQueryString(Endpoints.GlobalData, new Dictionary <string, string>
                {
                    { "convert", convert.ToString() }
                });
                var response = await _httpClient.GetAsync(url);

                data = await JsonParserService.ParseResponse <GlobalData>(response);

                if (data == null)
                {
                    data = new GlobalData
                    {
                        Data     = null,
                        Metadata = new GlobalMetadata {
                            Error = int.MinValue
                        },
                        Success = false
                    };
                }
                data.Success = data.Metadata.Error == null;
            }
            catch { }

            return(data);
        }
        public async Task <ListingsData> ListingsAsync()
        {
            ListingsData data = new ListingsData();

            try
            {
                HttpClient _httpClient = new HttpClient {
                    BaseAddress = new Uri(Endpoints.CoinMarketCapApiUrl)
                };
                var url      = QueryStringService.AppendQueryString(Endpoints.Listings, new Dictionary <string, string>());
                var response = await _httpClient.GetAsync(url);

                data = await JsonParserService.ParseResponse <ListingsData>(response);

                if (data == null)
                {
                    data = new ListingsData
                    {
                        Data     = null,
                        Metadata = new ListingsMetadata {
                            Error = int.MinValue
                        },
                        Success = false
                    };
                }
                data.Success = data.Metadata.Error == null;;
            }
            catch { }

            return(data);
        }
示例#5
0
 public BaseViewModel()
 {
     _jsonParserService     = new JsonParserService();
     _daoInstance           = DaoSweetRecipes.Instance;
     _daoscheduledRecipe    = DaoScheduledRecipe.Instance;
     _recommandationService = new RecommandationService();
 }
示例#6
0
        public async Task <Pro.Model.Cryptocurrency.InfoData> CryptocurrencyInfoAsync(string id = null, string symbol = null)
        {
            HttpClient _httpClient = new HttpClient {
                BaseAddress = new Uri(Pro.Config.Cryptocurrency.CoinMarketCapProApiUrl)
            };

            _httpClient.DefaultRequestHeaders.Add("X-CMC_PRO_API_KEY", this.ProApiKey);

            var url = QueryStringService.AppendQueryString(Pro.Config.Cryptocurrency.CryptocurrencyInfo, new Dictionary <string, string>
            {
                { "id", id },
                { "symbol", symbol }
            });
            var response = await _httpClient.GetAsync(url);

            Pro.Model.Cryptocurrency.InfoData data = await JsonParserService.ParseResponse <Pro.Model.Cryptocurrency.InfoData>(response);

            if (data == null)
            {
                data = new Pro.Model.Cryptocurrency.InfoData
                {
                    Data   = null,
                    Status = new Status {
                        ErrorCode = int.MinValue
                    },
                    Success = false
                };
            }
            data.Success = data.Status.ErrorCode == 0;

            // Add to Status List
            this.statusList.Add(data.Status);

            return(data);
        }
示例#7
0
 public GenericManager()
 {
     ParserService     = new JsonParserService();
     Model             = new MetadataModel();
     CreateWorkflows   = new List <WorkflowDefinition>();
     UpdateWorkflows   = new List <WorkflowDefinition>();
     DeleteWorkflows   = new List <WorkflowDefinition>();
     AssociateWorkflow = new List <WorkflowDefinition>();
 }
示例#8
0
        public async Task <TickerData> GetById(int id, string convert)
        {
            var url = QueryStringService.AppendQueryString($"{Endpoints.Ticker}/{id}", new Dictionary <string, string>
            {
                { "convert", convert }
            });
            var response = await _restClient.GetAsync(url);

            return(await JsonParserService.ParseResponse <TickerData>(response));
        }
示例#9
0
        public async Task <GlobalData> Get(string convert)
        {
            var url = QueryStringService.AppendQueryString(Endpoints.GlobalData, new Dictionary <string, string>
            {
                { "convert", convert }
            });
            var response = await _restClient.GetAsync(url);

            return(await JsonParserService.ParseResponse <GlobalData>(response));
        }
示例#10
0
        public async Task <TickersData> GetTickers(int?start, int?limit, string sort, string convert)
        {
            var url = QueryStringService.AppendQueryString(Endpoints.Ticker, new Dictionary <string, string>
            {
                { "start", start >= 1 ? start.ToString() : null },
                { "limit", limit >= 1 ? limit.ToString() : null },
                { "sort", sort },
                { "convert", convert }
            });
            var response = await _restClient.GetAsync(url);

            return(await JsonParserService.ParseResponse <TickersData>(response));
        }
示例#11
0
        public MainWindowViewModel()
        {
            GenericManager          = new GenericManager();
            BusinessWorkflowManager = new BusinessWorkflowManager(GenericManager);
            FileService             = new FileService();
            JsonParserService       = new JsonParserService();
            StoredMetadataModel     = new StoredMetadataSchemaService(JsonParserService, FileService);
            StoredDataModel         = new StoredGenericValuesService(JsonParserService, FileService);

            var model = new MetadataModel();

            model.AddEntity(new Project());
            model.AddEntity(new Domain());
            model.AddEntity(new Setting());
            model.AddEntity(new Models.Environment());
            model.AddEntity(new Schema());
            model.AddEntity(new Property());
            model.AddEntity(new Model());
            model.AddEntity(new Repository());
            model.AddEntity(new UseCase());
            model.AddEntity(new RepositoryMethod());


            model.AddRelationship(new Project(), new Domain());
            model.AddRelationship(new Project(), new Setting());
            model.AddRelationship(new Project(), new Models.Environment());
            model.AddRelationship(new Domain(), new Schema());
            model.AddRelationship(new Schema(), new Property());
            model.AddRelationship(new Schema(), new Model());
            model.AddRelationship(new Schema(), new Repository());
            model.AddRelationship(new Schema(), new UseCase());
            model.AddRelationship(new Repository(), new RepositoryMethod());

            model.AddManyTwoManyRelationship(new Property(), new Model());
            model.AddManyTwoManyRelationship(new Property(), new Schema(), "ReferencedSchema");

            GenericManager.InitializeModel(model);

            GenericManager.CreateHandler                = new CreateService(StoredDataModel);
            GenericManager.UpdateHandler                = new UpdateService(StoredDataModel);
            GenericManager.DeleteHandler                = new DeleteService(StoredDataModel, model, true);
            GenericManager.RetrieveHandler              = new RetrieveService(StoredDataModel);
            GenericManager.RetrieveAllHandler           = new RetrieveAllService(StoredDataModel);
            GenericManager.AssociateHandler             = new AssociateService(StoredDataModel);
            GenericManager.DisassociateHandler          = new DisassociateService(StoredDataModel);
            GenericManager.RetrieveAllAssociatedHandler = new RetrieveAllAssociatedService(StoredDataModel);

            GenericManager.OnCustomModuleContentEditRequested += GenericManager_OnCustomModuleContentEditRequested;
        }
示例#12
0
        public async Task <Pro.Model.Cryptocurrency.ListingsData> CryptocurrencyListingsHistoricalAsync(
            DateTime timestamp,
            int?start              = 1,
            int?limit              = 100,
            FiatCurrency convert   = FiatCurrency.USD,
            SortBy sort            = SortBy.market_cap,
            SortDirection sort_dir = SortDirection.desc,
            CryptocurrencyType cryptocurrency_type = CryptocurrencyType.all
            )
        {
            HttpClient _httpClient = new HttpClient {
                BaseAddress = new Uri(Pro.Config.Cryptocurrency.CoinMarketCapProApiUrl)
            };

            _httpClient.DefaultRequestHeaders.Add("X-CMC_PRO_API_KEY", this.ProApiKey);

            var url = QueryStringService.AppendQueryString(Pro.Config.Cryptocurrency.CryptocurrencyListingsHistorical, new Dictionary <string, string>
            {
                { "timestamp", timestamp.ToUnixTimeSeconds().ToString() },
                { "start", start.HasValue && start.Value >= 1 ? start.Value.ToString() : null },
                { "limit", limit.HasValue && limit.Value >= 1 ? limit.Value.ToString() : null },
                { "convert", convert.ToString() },
                { "sort", sort.ToString() },
                { "sort_dir", sort_dir.ToString() },
                { "cryptocurrency_type", cryptocurrency_type.ToString() },
            });
            var response = await _httpClient.GetAsync(url);

            Pro.Model.Cryptocurrency.ListingsData data = await JsonParserService.ParseResponse <Pro.Model.Cryptocurrency.ListingsData>(response);

            if (data == null)
            {
                data = new Pro.Model.Cryptocurrency.ListingsData
                {
                    Data   = null,
                    Status = new Status {
                        ErrorCode = int.MinValue
                    },
                    Success = false
                };
            }
            data.Success = data.Status.ErrorCode == 0;

            // Add to Status List
            this.statusList.Add(data.Status);

            return(data);
        }
示例#13
0
        public MainControlViewModel()
        {
            GenericManager          = new GenericManager();
            BusinessWorkflowManager = new BusinessWorkflowManager(GenericManager);
            FileService             = new FileService();
            JsonParserService       = new JsonParserService();
            StoredMetadataModel     = new StoredMetadataSchemaService(JsonParserService, FileService);
            StoredDataModel         = new StoredGenericValuesService(JsonParserService, FileService);
            BusinessEventManager    = new BusinessEventManager();
            var currentModel = StoredMetadataModel
                               .GetStoredData()
                               .CompleteModel();

            GenericManager.InitializeModel(currentModel);

            GenericManager.CreateHandler                = new CreateService(StoredDataModel);
            GenericManager.UpdateHandler                = new UpdateService(StoredDataModel);
            GenericManager.DeleteHandler                = new DeleteService(StoredDataModel);
            GenericManager.RetrieveHandler              = new RetrieveService(StoredDataModel);
            GenericManager.RetrieveAllHandler           = new RetrieveAllService(StoredDataModel);
            GenericManager.AssociateHandler             = new AssociateService(StoredDataModel);
            GenericManager.DisassociateHandler          = new DisassociateService(StoredDataModel);
            GenericManager.RetrieveAllAssociatedHandler = new RetrieveAllAssociatedService(StoredDataModel);

            Entities      = GenericManager.Model.Entities.OrderBy(k => k.DisplayName).ToList();
            Relationships = GenericManager.Model.Relationships;

            CurrentEntity = !string.IsNullOrEmpty(currentModel.MainEntity)
                 ? Entities.First(k => k.LogicalName == currentModel.MainEntity)
                 : Entities.First();
            CurrentViewType = ViewType.List;

            BusinessEventManager.OnCreateRequested += BusinessEventManager_OnCreateRequested;
            BusinessEventManager.OnUpdatedEntity   += BusinessEventManager_OnUpdatedEntity;
            BusinessEventManager.OnSelectedEntity  += BusinessEventManager_OnSelectedEntity;
            BusinessEventManager.OnDeletedEntity   += BusinessEventManager_OnDeletedEntity;
            InitializeCommands();
        }
示例#14
0
        public async Task <TickersData> TickersAsync(int?start, int?limit, SortBy sort = SortBy.id, FiatCurrency convert = FiatCurrency.USD)
        {
            TickersData data = new TickersData();

            try
            {
                HttpClient _httpClient = new HttpClient {
                    BaseAddress = new Uri(Endpoints.CoinMarketCapApiUrl)
                };
                var url = QueryStringService.AppendQueryString(Endpoints.Ticker, new Dictionary <string, string>
                {
                    { "start", start >= 1 ? start.ToString() : null },
                    { "limit", limit >= 1 ? limit.ToString() : null },
                    { "sort", sort.ToString() },
                    { "convert", convert.ToString() }
                });
                var response = await _httpClient.GetAsync(url);

                data = await JsonParserService.ParseResponse <TickersData>(response);

                if (data == null)
                {
                    data = new TickersData
                    {
                        Data     = null,
                        Metadata = new TickerMetadata {
                            Error = int.MinValue
                        },
                        Success = false
                    };
                }
                data.Success = data.Metadata.Error == null;
            }
            catch { }

            return(data);
        }
示例#15
0
        public async Task <Pro.Model.Cryptocurrency.MapData> CryptocurrencyMapAsync(ListingStatus listing_status = ListingStatus.active, int?start = 1, int?limit = 5000, string symbol = null)
        {
            HttpClient _httpClient = new HttpClient {
                BaseAddress = new Uri(Pro.Config.Cryptocurrency.CoinMarketCapProApiUrl)
            };

            _httpClient.DefaultRequestHeaders.Add("X-CMC_PRO_API_KEY", this.ProApiKey);

            var url = QueryStringService.AppendQueryString(Pro.Config.Cryptocurrency.CryptocurrencyMap, new Dictionary <string, string>
            {
                { "listing_status", listing_status.ToString() },
                { "start", start.HasValue && start.Value >= 1 ? start.Value.ToString() : null },
                { "limit", limit.HasValue && limit.Value >= 1 ? limit.Value.ToString() : null },
                { "symbol", symbol }
            });
            var response = await _httpClient.GetAsync(url);

            Pro.Model.Cryptocurrency.MapData data = await JsonParserService.ParseResponse <Pro.Model.Cryptocurrency.MapData>(response);

            if (data == null)
            {
                data = new Pro.Model.Cryptocurrency.MapData
                {
                    Data   = null,
                    Status = new Status {
                        ErrorCode = int.MinValue
                    },
                    Success = false
                };
            }
            data.Success = data.Status.ErrorCode == 0;

            // Add to Status List
            this.statusList.Add(data.Status);

            return(data);
        }
示例#16
0
 public IfSentence()
 {
     JsonParserService = new JsonParserService();
     Type = SentenceType.If;
 }
示例#17
0
        public T GetStoredData()
        {
            var json = FileService.OpenFile(GetFilePath());

            return(JsonParserService.Objectify <T>(json));
        }
示例#18
0
        public void SaveStoredData(T data)
        {
            var json = JsonParserService.Stringfy <T>(data);

            FileService.SaveFile(GetFilePath(), json);
        }