Exemple #1
0
        public async Task <IActionResult> Create([Bind("Title,MaxParticipantAmt,StartTime,EndTime,IsPrivate,FkLocation,FkGameType")] Event @event)
        {
            @event.IsTeamEvent = false;
            var user = GetCurrentUser();

            @event.FkOwner = user.UserId;
            if (ModelState.IsValid)
            {
                _context.Add(@event);
                await _context.SaveChangesAsync();

                _context.Participant.Add(new Models.Participant()
                {
                    FkEvent = @event.EventId, FkUser = user.UserId
                });
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Sports)));
            }
            var sportbookDatabaseContext  = _context.Location.Include(t => t.FkGameTypeNavigation).Where(e => e.FkGameTypeNavigation.IsOnline == false);
            List <LocationData> locations = new List <LocationData>();

            foreach (var item in sportbookDatabaseContext)
            {
                locations.Add(new LocationData(item.Longitude, item.Latitude, item.Address, item.FkGameTypeNavigation.Name, item.LocationId, item.FkGameType));
            }
            ViewData["Locations"] = locations;
            ViewData["GoogleApi"] = google_key;
            return(View(@event));
        }
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> CreateEvent([Bind("Title,MaxParticipantAmt,StartTime,EndTime,IsPrivate,IsTeamEvent,FkOwner,FkGameType")] Event @event)
        {
            var user   = GetCurrentUser();
            int teamId = 0;

            if (@event.IsTeamEvent)
            {
                var team = _context.Team.FirstOrDefault(x => x.TeamId == @event.FkOwner);
                teamId            = team.TeamId;
                @event.FkGameType = team.FkGameType;
                @event.FkOwner    = user.UserId;
            }
            if (ModelState.IsValid)
            {
                _context.Add(@event);
                await _context.SaveChangesAsync();

                if ([email protected])
                {
                    _context.Participant.Add(new Models.Participant()
                    {
                        FkEvent = @event.EventId, FkUser = @event.FkOwner
                    });
                }
                else
                {
                    _context.Participant.Add(new Models.Participant()
                    {
                        FkEvent = @event.EventId, FkUser = user.UserId, FkTeam = teamId
                    });
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Esports)));
            }
            User currentUser     = (from s in _context.User select s).Where(s => s.ExternalId == HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value).FirstOrDefault();
            var  sportsGameTypes = _context.GameType.Where(x => x.IsOnline == true);

            ViewData["FkGameType"] = new SelectList(sportsGameTypes, "GameTypeId", "Name");
            ViewData["FkOwner"]    = currentUser;
            var sportbookDatabaseContext = _context.Team.Include(t => t.FkGameTypeNavigation).Include(t => t.FkOwnerNavigation);
            var teamsParticipations      = _context.TeamMember.Where(t => t.FkUser == currentUser.UserId);
            var data = from first in sportbookDatabaseContext
                       join second in teamsParticipations
                       on first.TeamId equals second.FkTeam
                       select first;

            ViewData["Teams"] = data;
            if ([email protected])
            {
                ViewData["SecondFailed"] = false;
            }
            else
            {
                ViewData["SecondFailed"] = true;
                ViewData["teamId"]       = teamId;
            }
            return(View(@event));
        }
        public async Task <IActionResult> Create([Bind("Name,Description,TeamId,FkGameType")] Team team)
        {
            if (ModelState.IsValid)
            {
                var currentUserId = GetCurrentUser().UserId;
                team.FkOwner = currentUserId;
                _context.Add(team);
                await _context.SaveChangesAsync();

                var teamMember = new TeamMember()
                {
                    FkTeam = team.TeamId, FkUser = currentUserId
                };
                _context.Add(teamMember);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FkGameType"] = new SelectList(_context.GameType, "GameTypeId", "Name");
            var sportbookDatabaseContext = _context.Team.Include(t => t.FkGameTypeNavigation).Include(t => t.FkOwnerNavigation);
            var teamsParticipations      = _context.TeamMember.Where(t => t.FkUser == GetCurrentUser().UserId);
            var data = from first in sportbookDatabaseContext
                       join second in teamsParticipations
                       on first.TeamId equals second.FkTeam
                       select first;

            ViewData["Teams"] = data;
            return(View("Index", team));
        }
Exemple #4
0
        public async Task <IActionResult> CitiesCreate([Bind("Name,CityId")] City city)
        {
            if (ModelState.IsValid)
            {
                _context.Add(city);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Cities)));
            }
            return(View("~/Views/Admin/Cities/Create.cshtml", city));
        }
Exemple #5
0
        public async Task <Task> CreateOnSignUp(TicketReceivedContext ticketReceivedContext)
        {
            string       username  = null;
            string       firstName = null;
            string       lastName  = null;
            string       email     = null;
            bool         isNewUser = false;
            List <Claim> claims    = ticketReceivedContext.Principal.Claims.ToList();
            var          claim     = claims.FirstOrDefault(x => x.Type.EndsWith("isNewUser"));
            string       userOId   = claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value;
            var          userInfo  = _context.User.FirstOrDefault(s => s.ExternalId == userOId);

            if ((userInfo == null) || bool.Parse(claim.Value))
            {
                isNewUser = true;
            }

            if (isNewUser)
            {
                ticketReceivedContext.ReturnUri = "/Users/Profile";
                username = claims.FirstOrDefault(x => x.Type.EndsWith("nickname")).Value;
                //claims.First(x => x.Type == ClaimTypes.)
                if (claims.Find(c => (c.Type == ClaimTypes.NameIdentifier)).Value.StartsWith("google"))
                {
                    if (claims.FirstOrDefault(x => x.Type.Contains("givenname")) != null)
                    {
                        firstName = claims.FirstOrDefault(x => x.Type.Contains("givenname")).Value;
                    }
                    if (claims.FirstOrDefault(x => x.Type.Contains("surname")) != null)
                    {
                        lastName = (claims.FirstOrDefault(x => x.Type.Contains("surname")).Value);
                    }
                    email = username + "@gmail.com";
                }
                // claims.FirstOrDefault(x => x.Type.EndsWith("name")).Value;
                if (claims.Find(c => (c.Type == ClaimTypes.NameIdentifier)).Value.StartsWith("auth0"))
                {
                    email = claims.FirstOrDefault(x => x.Type.StartsWith("name")).Value;
                }
                var pictureURL = claims.FirstOrDefault(x => x.Type.EndsWith("picture")).Value;
                if (String.IsNullOrEmpty(pictureURL))
                {
                    pictureURL = "http://ssl.gstatic.com/accounts/ui/avatar_2x.png";
                }
                User user = new User()
                {
                    Firstname = firstName, Lastname = lastName, ExternalId = userOId, Username = username, Email = email, PictureUrl = pictureURL
                };
                //insert new value into DB
                _context.Add(user);
                await _context.SaveChangesAsync();
            }

            return(Task.CompletedTask);
        }
Exemple #6
0
        public async Task <IActionResult> Create([Bind("Username,Email,Firstname,Lastname,Birthdate,ExternalId,PictureUrl")] User user)
        {
            if (ModelState.IsValid)
            {
                _context.Add(user);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(user));
        }