Esempio n. 1
0
 public ScrimEventViewModel AddEvent([FromBody] ScrimEvent scrimEvent)
 {
     if (this.User.Identity.IsAuthenticated)
     {
         var steamId = UserExtensions.GetSteamId(this.User);
         scrimEvent.SteamId = steamId;
         var newEvent          = _schedulingService.AddEvent(scrimEvent);
         var newEventViewModel = this.GetEventViewModel(newEvent);
         _schedulingService.NotifyEventAdded(newEventViewModel);
         return(newEventViewModel);
     }
     return(null);
 }
Esempio n. 2
0
        private ScrimEventViewModel GetEventViewModel(ScrimEvent scrimEvent)
        {
            var viewModel = new ScrimEventViewModel()
            {
                Id                    = scrimEvent.Id,
                SteamId               = scrimEvent.SteamId,
                OpponentSteamId       = scrimEvent.OpponentSteamId,
                TeamName              = scrimEvent.TeamName,
                EventDate             = scrimEvent.EventDate,
                MatchmakingPreference = scrimEvent.MatchmakingPreference,
                Collegiate            = scrimEvent.Collegiate,
                Servers               = scrimEvent.Servers,
                ScrimRequests         = new List <ScrimRequestViewModel>(),
                ChatLogs              = new List <ChatMessageViewModel>()
            };

            viewModel.DisplayName = _steamService.GetSteamDisplayName(scrimEvent.SteamId);
            viewModel.Mmr         = _trackerService.GetMmr(scrimEvent.SteamId).Result;
            if (scrimEvent.OpponentSteamId != null)
            {
                viewModel.OpponentDisplayName = _steamService.GetSteamDisplayName(scrimEvent.OpponentSteamId);
                viewModel.OpponentMmr         = _trackerService.GetMmr(scrimEvent.OpponentSteamId).Result;
            }

            if (scrimEvent.RequestList != null)
            {
                foreach (var request in scrimEvent.RequestList)
                {
                    var requestViewModel = GetRequestViewModel(request);
                    viewModel.ScrimRequests.Add(requestViewModel);
                }
            }
            if (scrimEvent.ChatLogs != null)
            {
                foreach (var log in scrimEvent.ChatLogs)
                {
                    viewModel.ChatLogs.Add(new ChatMessageViewModel {
                        Id = log.Id, Message = log.Message, Sent = log.Sent, SteamId = log.SteamId
                    });
                }
            }
            return(viewModel);
        }
Esempio n. 3
0
 internal ScrimEvent AddEvent(ScrimEvent scrimEvent)
 {
     var newEvent = _dbContext.Add(scrimEvent);
     _dbContext.SaveChanges();
     return newEvent.Entity;
 }