Esempio n. 1
0
        public async Task <IActionResult> AddUserToTeam([FromBody] TeamUserModel model)
        {
            if (ModelState.IsValid)
            {
                CoalyticsTeam team = _repository.GetTeambyTeamName(model.TeamName);
                if (team == null)
                {
                    return(BadRequest("Cannot Find the Team"));
                }
                else
                {
                    CoalyticsUser user = await _userManager.FindByNameAsync(model.UserName);

                    if (user == null)
                    {
                        return(BadRequest("Cannot Find the User"));
                    }
                    else if (team.TeamUsers.Where(u => u.UserId == user.Id).Count() > 0)
                    {
                        return(BadRequest("User already in Team"));
                    }
                    else
                    {
                        team.TeamUsers.Add(new TeamUser()
                        {
                            TeamId = team.TeamId,
                            UserId = user.Id
                        });
                        _repository.Save();
                    }
                }
                return(Ok("User has been added into Team"));
            }
            return(BadRequest());
        }
Esempio n. 2
0
        public async Task <IActionResult> DeleteUserFromTeam([FromBody] TeamUserModel model)
        {
            if (ModelState.IsValid)
            {
                CoalyticsUser user = await _userManager.FindByNameAsync(model.UserName);

                if (user == null)
                {
                    return(BadRequest("Cannot Find the User"));
                }

                CoalyticsTeam team = _repository.GetTeambyTeamName(model.TeamName);

                if (team == null)
                {
                    return(BadRequest("Cannot Find the Team"));
                }
                else
                {
                    TeamUser teamuser = team.TeamUsers.Where(t => t.UserId == user.Id).FirstOrDefault();
                    if (teamuser == null)
                    {
                        return(BadRequest("User not in the Team"));
                    }
                    else
                    {
                        team.TeamUsers.Remove(teamuser);
                        _repository.Save();
                    }
                }
                return(Ok("User has been removed from Team"));
            }
            return(BadRequest());
        }
        public async Task <IActionResult> Register([FromBody] RegistrationDataModel registrationDataModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            CoalyticsUser applicationUser = new CoalyticsUser()
            {
                UserName = registrationDataModel.Email, Email = registrationDataModel.Email
            };
            var result = await _userManager.CreateAsync(applicationUser, registrationDataModel.Password);

            if (result.Succeeded)
            {
                var code = await _userManager.GenerateEmailConfirmationTokenAsync(applicationUser);

                var callbackUrl = Url.EmailConfirmationLink(applicationUser.Id, code, Request.Scheme);
                await _emailSender.SendEmailConfirmationAsync(registrationDataModel.Email, callbackUrl);

                await _signInManager.SignInAsync(applicationUser, isPersistent : false);

                return(new OkResult());
            }
            return(new BadRequestObjectResult(result.Errors));
        }