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() }); }
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); }