private void ProcessRequestDelete()
        {
            Global.DeleteRequest.AddCharacter(Player.AccountId, character.CharacterId, character.Level);
            DateTime date = Global.DeleteRequest.GetCharacterExclusionDate(character.CharacterId);

            // Atualiza o tempo do personagem e envia os personagens.
            var characters = new CharacterDatabase(Player);

            characters.UpdateRequestDelete(character.CharacterId, true, date);
            characters.SendCharactersAsync();

            Global.WriteLog(LogType.Player, $"Request delete AccountId {Player.AccountId} CharacterId {character.CharacterId} Date {date}", LogColor.BlueViolet);
        }
        public void Create()
        {
            var validation = new CharacterValidation()
            {
                Player = Player
            };

            if (!Configuration.CharacterCreation)
            {
                SendMessage(new CharacterValidationResult()
                {
                    AlertMessageType = AlertMessageType.CharacterCreation,
                    MenuResetType    = MenuResetType.Characters
                });

                return;
            }

            CharacterValidationResult validationResult;

            validationResult = validation.ValidateName(name);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            validationResult = validation.ValidateCharacterIndex(characterIndex);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            validationResult = validation.ValidateEmptyCharacterSelection(characterIndex);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            validationResult = validation.ValidateClass(classIndex);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            validationResult = validation.ValidateGender(genderType);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            validationResult = validation.ValidateSprite(spriteIndex);
            if (!CanValidateNext(validationResult))
            {
                return;
            }

            var characters = new CharacterDatabase(Player);

            if (characters.Exist(validation.CharacterName))
            {
                characters.Close();

                SendMessage(new CharacterValidationResult()
                {
                    AlertMessageType = AlertMessageType.NameTaken,
                    MenuResetType    = MenuResetType.Characters
                });
            }
            else
            {
                characters.Create(validation);
                characters.SendCharactersAsync();
            }

            Global.WriteLog(LogType.Player, $"Created Character {validation.CharacterName} AccountId {Player.AccountId}", LogColor.Green);
        }