Esempio n. 1
0
        public ActionResult GetGamesUserJoined(int contactId, bool isPublicProfileView)
        {
            var model = new GameProfileViewModel();

            model.IsPublicProfileView = isPublicProfileView;
            model.ContactId           = contactId;

            var pickUpGames = _gameService.GetPickUpGamesByContactId(contactId);

            if (pickUpGames == null)
            {
                return(PartialView("../Game/_GamesUserJoined", model));
            }

            model.Games = new List <GameListViewModel>();

            foreach (var pickUpGame in pickUpGames)
            {
                var game = _gameService.GetGameById(pickUpGame.GameId);

                // Do not add game to list if time passed
                if (game.EndTime < DateTime.Today.AddDays(-1))
                {
                    continue;
                }

                // Do not add if user is the creator of game
                if (game.ContactId == contactId)
                {
                    continue;
                }

                var gameToAdd = new GameListViewModel
                {
                    EndDate    = game.EndTime,
                    GameId     = game.GameId,
                    GameStatus = ((GameStatusEnum)game.GameStatusId).ToString(),
                    Sport      = _gameService.GetSportNameById(game.SportId),
                    StartDate  = game.StartTime,
                    Venue      = _venueService.GetVenueNameById(game.VenueId),
                    VenueId    = game.VenueId
                };

                if (game.ContactId != null)
                {
                    gameToAdd.ContactId   = game.ContactId;
                    gameToAdd.ContactName = _contactService.GetContactById(game.ContactId).Username;
                }

                model.Games.Add(gameToAdd);
            }

            model.Games = model.Games.OrderBy(x => x.StartDate).ToList();
            return(PartialView("../Game/_GamesUserJoined", model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([FromBody] GameProfileViewModel model, CancellationToken ct)
        {
            var user = await GetCurrentUserAsync();

            if (user.Coach == null)
            {
                return(BadRequest("You should create coach profile firstly."));
            }
            if (user.Coach.GameProfiles.FirstOrDefault(g => g.Game == model.Game) != null)
            {
                return(BadRequest($"Profile for {model.Game} already exists."));
            }

            var gameProfile = model.Adapt <GameProfile>();

            user.Coach.GameProfiles.Add(gameProfile);


            return(Ok());
        }
Esempio n. 3
0
        public ActionResult GetGamesStartedByUser(int contactId, bool isPublicProfileView)
        {
            var model = new GameProfileViewModel();

            model.IsPublicProfileView = isPublicProfileView;
            model.ContactId           = contactId;

            var games = _gameService.GetCurrentOrderedGamesByContactId(contactId);

            if (games == null)
            {
                return(PartialView("../Game/_GamesUserCreated", model));
            }

            model.Games = new List <GameListViewModel>();

            foreach (var game in games)
            {
                var gameToAdd = new GameListViewModel
                {
                    EndDate    = game.EndTime,
                    GameId     = game.GameId,
                    GameStatus = ((GameStatusEnum)game.GameStatusId).ToString(),
                    Sport      = _gameService.GetSportNameById(game.SportId),
                    StartDate  = game.StartTime,
                    Venue      = _venueService.GetVenueNameById(game.VenueId),
                    VenueId    = game.VenueId
                };

                if (game.ContactId != null)
                {
                    gameToAdd.ContactId   = game.ContactId;
                    gameToAdd.ContactName = _contactService.GetContactById(game.ContactId).Username;
                }

                model.Games.Add(gameToAdd);
            }

            return(PartialView("../Game/_GamesUserCreated", model));
        }