Example #1
0
        public JsonResult Get()
        {
            var items = ForecastDataStorage.GetItems();

            items = items.OrderByDescending(x => x.TimeBet).ToList();

            return(new JsonResult(JsonConvert.SerializeObject(items)));
        }
Example #2
0
        public ActionResult Post([FromBody] FilterMessage message)
        {
            if (message == null)
            {
                return(StatusCode(415));
            }

            ForecastDataStorage.SetFilter(message);

            return(StatusCode(200));
        }
Example #3
0
        public async Task Run()
        {
            bool isFirst = true;

            try
            {
                while (true)
                {
                    if (cancellationToken.IsCancellationRequested)
                    {
                        break;
                    }

                    var stateLogin = await _web.Login();

                    var resultContent = await _web.UpdatePage();

                    var list = ParsePage(resultContent);
                    ForecastDataStorage.Add(list);

                    if (isFirst)
                    {
                        for (int i = 0; i < _countSeeOld; i++)
                        {
                            var point = GetIdTime(resultContent);
                            if (string.IsNullOrEmpty(point))
                            {
                                break;
                            }

                            resultContent = await _web.SeeOld(point);

                            list = ParsePage(resultContent);
                            ForecastDataStorage.Add(list);
                        }

                        isFirst = false;
                    }

                    await Task.Delay(_timeSleep, cancellationToken);
                }
            }
            catch (TaskCanceledException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw;
            }
        }
Example #4
0
        public ActionResult GetCastFilter()
        {
            ForecastDataStorage.UnSetFilter();

            return(StatusCode(200));
        }
Example #5
0
        public async Task Run()
        {
            try
            {
label1:
                var stateLogin = await _web.Login();

                var timeEnd = DateTime.Now.AddMinutes(2);

                while (true)
                {
                    if (cancellationToken.IsCancellationRequested)
                    {
                        break;
                    }

                    if (DateTime.Now > timeEnd)
                    {
                        await _web.Logout();

                        await Task.Delay(30000);

                        goto label1;
                    }

                    var resultContent = await _web.UpdatePage();

                    var list = ParsePage(resultContent);
                    ForecastDataStorage.Add(list);

                    if (isFirst)
                    {
                        for (int i = 0; i < _countSeeOld; i++)
                        {
                            var point = GetIdTime(resultContent);
                            if (string.IsNullOrEmpty(point))
                            {
                                break;
                            }

                            resultContent = await _web.SeeOld(point);

                            list = ParsePage(resultContent);
                            ForecastDataStorage.Add(list);
                        }

                        isFirst = false;
                    }

                    await Task.Delay(_timeSleep, cancellationToken);
                }
            }
            catch (TaskCanceledException)
            {
                throw;
            }
            catch (Exception e)
            {
                _logger.LogError(e, nameof(Run));
                currentErr++;
                if (countError < currentErr)
                {
                    await Task.Delay(100000);
                    await Run();
                }
                else
                {
                    throw;
                }
            }
        }