public IHttpActionResult Put(ApiRequest <GetTeamViewModel> viewModel) { try { var team = _mapper.Map <GetTeamViewModel, Team>(viewModel.Data); _dbContext.Teams.AddOrUpdate(x => x.Id, team); _dbContext.SaveChanges(); return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public async Task <IHttpActionResult> Put(ApiRequest <PlayerViewModel> viewModel) { try { var teamName = _dbContext.Teams.First(x => x.Id == viewModel.Data.Team_Id).Name; var player = _mapper.Map <PlayerViewModel, Player>(viewModel.Data); var user = new ApplicationUser { Email = viewModel.Data.Email, UserName = viewModel.Data.Email }; var response = await _userManager.CreateAsync(user); if (response.Succeeded) { //Add player to role var roleResponse = await _userManager.AddToRoleAsync(user.Id, Roles.Player); if (!roleResponse.Succeeded) { ThrowIdentityResponseError(response, user.Email); } //send player email await SendPlayerEmailAsync(user.Id, teamName, viewModel.Data.FirstName); //update player status player.Status = (int)PlayerStatus.EmailSent; player.AspNetUser_Id = user.Id; _dbContext.Players.Add(player); _dbContext.SaveChanges(); } else { ThrowIdentityResponseError(response, user.Email); } return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }