Ejemplo n.º 1
0
        private void EditCharacter(int id, Character character)
        {
            var error = _character.Update(id, character);

            if (String.IsNullOrEmpty(error))
            {
                RefreshUI();
                return;
            }
            ;
            MessageBox.Show(this, error, "Edit Character", MessageBoxButtons.OK);
        }
Ejemplo n.º 2
0
        private void OnCharacterEdit(object sender, EventArgs e)
        {
            if (lbCharacters.SelectedIndex == -1)
            {
                MessageBox.Show(this, "Please select a character first");
                return;
            }
            var theCharacter = GetSelectedCharacter();

            if (theCharacter == null)
            {
                return;
            }
            do
            {
                EditCharacterForm characterEditor = new EditCharacterForm(theCharacter);
                characterEditor.StartPosition = FormStartPosition.CenterParent;
                DialogResult dr = characterEditor.ShowDialog(this);
                if (dr == DialogResult.Cancel)
                {
                    characterEditor.Close();
                    break;
                }
                else   // dr == DialogResult.OK
                {
                    try
                    {
                        _roster.Update(theCharacter.Id, characterEditor.ReturnCharacter);
                    }
                    catch (Exception ex)
                    {
                        DisplayError("Edit Failed", ex.Message);
                    }
                    UpdatelbCharacters();
                    characterEditor.Close();
                    break;
                }
            } while (true);
        }
Ejemplo n.º 3
0
        private void btnCharacterSave_Click(object sender, EventArgs e)
        {
            try
            {
                ResetErrorStatus();

                Attributes attr = new Attributes();
                attr.Agility      = txtAgility.Text;
                attr.Charisma     = txtCharisma.Text;
                attr.Constitution = txtConstitution.Text;
                attr.Intelligence = txtIntelligent.Text;
                attr.Strength     = txtStrength.Text;

                bool validateAllProperties = false;

                var results = new List <ValidationResult>();

                bool isValidAttr = Validator.TryValidateObject(
                    attr,
                    new ValidationContext(attr, null, null),
                    results,
                    validateAllProperties);


                Character updateCharacter = roster.CreateCharacter(txtCharacterName.Text, cbProfession.SelectedItem?.ToString(), cbRace.SelectedItem?.ToString(), attr, txtDescription.Text);


                bool isValidUpdateCharacter = Validator.TryValidateObject(
                    updateCharacter,
                    new ValidationContext(updateCharacter, null, null),
                    results,
                    validateAllProperties);


                if (!isValidUpdateCharacter || !isValidAttr)
                {
                    foreach (ValidationResult result in results)
                    {
                        if (result.MemberNames.Contains("Name"))
                        {
                            errCharacterNew.SetError(txtCharacterName, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Profession"))
                        {
                            errCharacterNew.SetError(cbProfession, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Race"))
                        {
                            errCharacterNew.SetError(cbRace, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Strength"))
                        {
                            errCharacterNew.SetError(txtStrength, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Agility"))
                        {
                            errCharacterNew.SetError(txtAgility, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Charisma"))
                        {
                            errCharacterNew.SetError(txtCharisma, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Constitution"))
                        {
                            errCharacterNew.SetError(txtConstitution, result.ErrorMessage);
                        }
                        if (result.MemberNames.Contains("Intelligence"))
                        {
                            errCharacterNew.SetError(txtIntelligent, result.ErrorMessage);
                        }
                    }
                }
                else if (roster.GetAll().Any(r => r.Name.Equals(updateCharacter.Name, StringComparison.InvariantCultureIgnoreCase)))
                {
                    errCharacterNew.SetError(txtCharacterName, "The Name should be unique!!");
                }
                else
                {
                    roster.Update(EditCharacter.UniqueIdentifier, updateCharacter);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
 private void EditCharacter(int id, Character character)
 {
     _characters.Update(id, character);
     RefreshUI();
 }