コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }