示例#1
0
        public async Task<IEnumerable<Exchange>> GetExchanges(GetHistory query)
        {
            var all = _db.ExchangesHistory.AsQueryable();

            if (query.FromCurrencies != null)
                all = all.Where(x => ((IEnumerable<Currency>)query.FromCurrencies).Contains(x.FromCurrency));

            if (query.FromAmountLowerBound != null)
                all = all.Where(x => x.FromAmount >= query.FromAmountLowerBound);

            if (query.FromAmountUpperBound != null)
                all = all.Where(x => x.FromAmount <= query.FromAmountUpperBound);

            if (query.ToCurrencies != null)
                all = all.Where(x => ((IEnumerable<Currency>)query.ToCurrencies).Contains(x.ToCurrency));

            if (query.ToAmountLowerBound != null)
                all = all.Where(x => x.ToAmount >= query.ToAmountLowerBound);

            if (query.ToAmountUpperBound != null)
                all = all.Where(x => x.ToAmount <= query.ToAmountUpperBound);

            if (query.DateLowerBound != null)
                all = all.Where(x => x.Date >= query.DateLowerBound);

            if (query.DateUpperBound != null)
                all = all.Where(x => x.Date <= query.DateUpperBound);

            return await all
                .OrderByDescending(x => x.Date)
                .Skip((query.Page - 1) * PageSize)
                .Take(PageSize)
                .ToListAsync();
        }
示例#2
0
    public void DisplayTransaction()
    {
        foreach (GameObject gobject in trans)
        {
            Destroy(gobject);
        }

        loading.SetActive(true);
        GetHistory.GetUserHistory(
            (response) => {
            loading.SetActive(false);

            HistoryResponse historyResponse = (HistoryResponse)response;

            foreach (HistroyModel histroy in historyResponse.history)
            {
                GenerateHistroyItem(histroy);
            }
        },
            (statusCode, error) => {
            loading.SetActive(false);
            failed.SetActive(true);

            if (statusCode == StatusCodes.CODE_VALIDATION_ERROR)
            {
                ValidationError validationError = (ValidationError)error;
            }
            else
            {
                GenericError genericError = (GenericError)error;
            }
        }
            );
    }
示例#3
0
    public HistoryCommand(GetHistory getHistory, DeleteHistory deleteHistory, GetHistoryById getHistoryById)
    {
        this.getHistory     = getHistory;
        this.deleteHistory  = deleteHistory;
        this.getHistoryById = getHistoryById;

        Name = "history";
    }
示例#4
0
        public async Task <IActionResult> History([FromQuery] GetHistory model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var resp = await _exchanges.GetExchanges(model);

            return(Ok(resp));
        }
示例#5
0
        public async Task <IEnumerable <HistoryDto> > HandleAsync(GetHistory query)
        {
            var documents = _historyRepository.Collection.AsQueryable();

            var issue = await _issueRepository.GetAsync(query.IssueId);

            if (query.IssueId != null && issue == null)
            {
                return(Enumerable.Empty <HistoryDto>());
            }


            var filter = new Func <HistoryDocument, bool>(p =>
                                                          query.IssueId == null || p.IssueId == query.IssueId);

            var history = documents.Where(filter).ToList();

            return(history.Select(p => p.AsDto()));
        }
示例#6
0
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            this.Focus();
            vk start = new vk();
            vk.profile temp = new vk.profile();
            try
            {
                temp = vars.VARS.Contact[Items[(vscroll.Value) + (int)(e.Y / HEIGHT_ITEM)]]; // если контакт на этом месте существует, то его данные записываются в переменную
            }
            catch (ArgumentOutOfRangeException exe)
            {
                //GeneralMethods.WriteError(exe.Source, exe.Message, exe.TargetSite);
                return;
            }

            if (!(temp.online || vars.VARS.ShowOffline)) // когда оффлайн скрыты предотвращаем случайные нажатия
                return;

            if (!vars.VARS.Chat.richtbox.ContainsKey(temp.uid)) // если чат с пользователем ещё не открыт
            {
                vars.VARS.Chat.WindowState = FormWindowState.Normal;
                vars.VARS.Chat.chatIn(temp.uid, temp.UserName, true);
            }

            GetHistory newEvent = new GetHistory(start.getHistory);
            IAsyncResult res2 = newEvent.BeginInvoke(temp.uid, 5, null, null); // в асинхронном потоке получаем историю сообщений, чтобы чат открывался сразу
                //start.getHistory(temp.uid, 5); // заправшиваем историю

            if (vars.VARS.Chat.Visible == false) // если невидим, делаем видимым
            {
                vars.VARS.Chat.Show();
                vars.VARS.Chat.Text = temp.UserName;
            }

            //vars.VARS.Chat.Activate();
            if (vars.VARS.Frequency) // если настройка включена обновляем данные частоты
            {
                if (vars.VARS.FrequencyUse.ContainsKey(temp.uid))
                {
                    uint j = vars.VARS.FrequencyUse[temp.uid];
                    j++;
                    vars.VARS.FrequencyUse.Remove(temp.uid);
                    vars.VARS.FrequencyUse.Add(temp.uid, j);
                }
            }

            base.OnMouseDoubleClick(e);
        }
示例#7
0
        protected override void OnKeyUp(KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                vk start = new vk();

                if (!vars.VARS.Chat.richtbox.ContainsKey(selectedItem.uid)) // если чат с пользователем ещё не открыт
                {
                    vars.VARS.Chat.WindowState = FormWindowState.Normal;
                    vars.VARS.Chat.chatIn(selectedItem.uid, selectedItem.UserName, true);
                }

                GetHistory newEvent = new GetHistory(start.getHistory);
                IAsyncResult res2 = newEvent.BeginInvoke(selectedItem.uid, 5, null, null); // в асинхронном потоке получаем историю сообщений, чтобы чат открывался сразу
                //start.getHistory(temp.uid, 5); // заправшиваем историю

                if (vars.VARS.Chat.Visible == false) // если невидим, делаем видимым
                {
                    vars.VARS.Chat.Show();
                    vars.VARS.Chat.Text = selectedItem.UserName;
                }

                //vars.VARS.Chat.Activate();
                if (vars.VARS.Frequency) // если настройка включена обновляем данные частоты
                {
                    if (vars.VARS.FrequencyUse.ContainsKey(selectedItem.uid))
                    {
                        uint j = vars.VARS.FrequencyUse[selectedItem.uid];
                        j++;
                        vars.VARS.FrequencyUse.Remove(selectedItem.uid);
                        vars.VARS.FrequencyUse.Add(selectedItem.uid, j);
                    }
                }
                e.SuppressKeyPress = true;
            }
            base.OnKeyUp(e);
        }
示例#8
0
 public IReadOnlyList <object> Handle(GetHistory query) =>
 GetEventSourcingEvent(query.AggregateId).ToList();