BusinessLogic.Logic.Players.PlayerSaver.Save C# (CSharp) Метод

Save() приватный Метод

private Save ( Player player, ApplicationUser applicationUser ) : Player
player Player
applicationUser ApplicationUser
Результат Player
        internal virtual Player Save(Player player, ApplicationUser applicationUser)
        {
            ValidatePlayerIsNotNull(player);
            ValidatePlayerNameIsNotNullOrWhiteSpace(player.Name);
            ValidatePlayerWithThisNameDoesntAlreadyExist(player, applicationUser);
            var alreadyInDatabase = player.AlreadyInDatabase();

            var newPlayer = _dataContext.Save(player, applicationUser);
            _dataContext.CommitAllChanges();

            if (!alreadyInDatabase)
            {
                new Task(() => _eventTracker.TrackPlayerCreation(applicationUser)).Start();
            }
            else
            {
                if (!player.Active)
                {
                    RecalculateNemeses(player, applicationUser);
                }
            }

            return newPlayer;
        }