BusinessLogic.Logic.Users.GamingGroupInviteConsumer.AddNewUserToGamingGroup C# (CSharp) Метод

AddNewUserToGamingGroup() публичный Метод

public AddNewUserToGamingGroup ( string applicationUserId, System.Guid gamingGroupInvitationId ) : NewlyRegisteredUser
applicationUserId string
gamingGroupInvitationId System.Guid
Результат BusinessLogic.Models.User.NewlyRegisteredUser
        public NewlyRegisteredUser AddNewUserToGamingGroup(string applicationUserId, Guid gamingGroupInvitationId)
        {
            var userFromDatabase = dataContext.FindById<ApplicationUser>(applicationUserId);

            ValidateApplicationUser(userFromDatabase, applicationUserId);

            var invitation = dataContext.FindById<GamingGroupInvitation>(gamingGroupInvitationId);

            ValidateInvitation(gamingGroupInvitationId, invitation);

            AssociateUserWithNewGamingGroup(invitation.GamingGroupId, userFromDatabase);

            UpdateGamingGroupInvitation(invitation, userFromDatabase);

            var player = AssociatePlayerWithApplicationUser(invitation, userFromDatabase);

            dataContext.CommitAllChanges();

            var gamingGroup = dataContext.FindById<GamingGroup>(invitation.GamingGroupId);

            return new NewlyRegisteredUser
            {
                GamingGroupId = gamingGroup.Id,
                GamingGroupName = gamingGroup.Name,
                PlayerId = player.Id,
                PlayerName = player.Name,
                UserId = applicationUserId
            };
        }