示例#1
0
        public IActionResult CancelAttendance(int EventID)
        {
            AttendeeRepo c     = new AttendeeRepo(_context);
            EventRepo    e     = new EventRepo(_context);
            var          claim = HttpContext.User.Claims.ElementAt(0);
            string       email = claim.Value;
            var          user  = c.GetOneByEmail(email);

            try
            {
                e.CancelAttendance(EventID, user.ID);
                var res = new
                {
                    StatusCode = "You are no longer attending this event",
                };
                return(new ObjectResult(res));
            }
            catch
            {
                var res = new
                {
                    error = "You were not attending this event.",
                };
                return(new ObjectResult(res));
            }
        }
示例#2
0
        public IActionResult MyEvents()
        {
            EventAttendeeRepo ea = new EventAttendeeRepo(_context);
            AttendeeRepo      c  = new AttendeeRepo(_context);
            var    claim         = HttpContext.User.Claims.ElementAt(0);
            string email         = claim.Value;
            var    user          = c.GetOneByEmail(email);
            var    query         = ea.GetCurrentAttandingEvents(user.ID);
            var    res           = new
            {
                EventArray = query,
            };

            return(new ObjectResult(res));
        }
示例#3
0
        public async Task <IActionResult> OnPostAsync([FromBody] LoginVM loginVM)
        {
            if (ModelState.IsValid)
            {
                var result = await
                             _signInManager.PasswordSignInAsync(loginVM.Email.ToUpper(),
                                                                loginVM.Password, loginVM.RememberMe, lockoutOnFailure : true);

                if (result.Succeeded)
                {
                    var UserManager = _serviceProvider
                                      .GetRequiredService <UserManager <IdentityUser> >();
                    var user = await UserManager.FindByEmailAsync(loginVM.Email);

                    AttendeeRepo a        = new AttendeeRepo(_context);
                    var          userInfo = a.GetOneByEmail(loginVM.Email);

                    var userRoleList = _context.UserRoles.Where(ur => ur.UserId == user.Id);

                    if (user != null)
                    {
                        var tokenString = GenerateJSONWebToken(user);
                        if (userRoleList.Any())
                        {
                            if (userRoleList.First().RoleId == "Admin")
                            {
                                var jsonOK = new
                                {
                                    tokenString = tokenString,
                                    StatusCode  = "OK",
                                    currentUser = loginVM.Email,
                                    role        = userRoleList,
                                    firstName   = "Admin",
                                    lastName    = "Account",
                                };

                                return(new ObjectResult(jsonOK));
                            }
                        }
                        else
                        {
                            var jsonOK = new
                            {
                                tokenString = tokenString,
                                StatusCode  = "OK",
                                currentUser = loginVM.Email,
                                role        = userRoleList,
                                firstName   = userInfo.firstName,
                                lastName    = userInfo.lastName,
                            };

                            return(new ObjectResult(jsonOK));
                        }
                    }
                }
                else if (result.IsLockedOut)
                {
                    var jsonLocked = new { tokenString = "", StatusCode = "Locked out." };
                    return(new ObjectResult(jsonLocked));
                }
            }
            var jsonInvalid = new { tokenString = "", StatusCode = "Invalid Login." };

            return(new ObjectResult(jsonInvalid));
        }