Пример #1
0
        private EventBrieflyViewModel Convert(GetEventResponseFull @event)
        {
            DateTime now = DateTime.Now;

            return(new EventBrieflyViewModel
            {
                EventId = @event.EventId,
                Title = @event.Title,
                Condition = @event.ExpectedEventCondition,
                StartDate = @event.StartDate,
                EndDate = @event.EndDate,
                CloseDate = @event.BetConditions.CloseDate,
                TimeLeftToEnd = this.GetTimeLeft(@event.EndDate, now),
                TimeLeft = this.GetTimeLeft(@event.BetConditions.CloseDate, now),
                TimeLeftPercentage = this.GetTimePercentage(@event.StartDate, @event.EndDate, @event.BetConditions.CloseDate),
                NowPercentage = this.GetTimePercentage(@event.StartDate, @event.EndDate, now),
                ArbiterAccountSet = @event.ArbiterAccounts.Select(Convert),
                HappenBetRate = Convert(@event.HappenBetRate),
                NotHappenBetRate = Convert(@event.NotHappenBetRate),
                BetRateData = @event.BetConditions.BetRateChartData.Select(v => (short)v).ToArray()
            });
        }
Пример #2
0
        private async Task <GetEventResponseFull> FillFullDetalization(Event @event, Guid accountId, GetEventResponseFull model = null)
        {
            model = model ?? new GetEventResponseFull();

            await FillSecondDetalization(@event, model);

            model.BetConditions = await this._betsService.GetBetConditions(
                new GetBetConditionsRequest
            {
                BetConditionId = @event.EventBetConditionId
            });

            model.HappenBetRate = await this._betsService.CalculateBetRate(
                new CalculateBetRateRequest
            {
                AccountId    = accountId,
                EventId      = @event.Id,
                OutcomesType = OutcomesType.Happen,
                BetAmount    = 1
            });

            model.NotHappenBetRate = await this._betsService.CalculateBetRate(
                new CalculateBetRateRequest
            {
                AccountId    = accountId,
                EventId      = @event.Id,
                OutcomesType = OutcomesType.NotHappen,
                BetAmount    = 1
            });

            return(model);
        }