/// <summary> /// Заповнює форму для роботи з буфером даними з буфера /// </summary> /// <param name="load_form">форма для заповнення</param> internal void FillData(frmSelectBufferData load_form) { foreach (string k in value.Keys) { BufferData bd; value.TryGetValue(k, out bd); if (bd != null) { if (load_form.Validator != null) { int valKey = getValidationDelegateHashCode(load_form.Validator); bool valRes; if (bd.ValidatorsResults.ContainsKey(valKey)) { valRes = bd.ValidatorsResults[valKey]; } else { //testing //MessageBox.Show("Validating " + bd.ToString() + " with " + valKey); valRes = load_form.Validator(bd); bd.ValidatorsResults.Add(valKey, valRes); } load_form.AddData(valRes, k, bd.Icon, bd.ToString()); } else { load_form.AddData(k, bd.Icon, bd.ToString()); } } } }
/// <summary> /// Викликає діалог вибору обєкту з буфера з перевіркою його валідності /// </summary> /// <param name="validator">валідатор обєктів</param> /// <returns>тру, якщо був обраний валідний обєкт</returns> public BufferData LoadDialog(ValidationCallback validator) { //validator = delegate(BufferData obj) { return obj.ToString().Length>7 ;}; frmSelectBufferData frm_load = new frmSelectBufferData(validator); if (frm_load.ShowDialog() == DialogResult.OK) { BufferData selectedBd = Load(frm_load.SelectedName); if (validator == null) { return(selectedBd); } else { int valKey = getValidationDelegateHashCode(validator); if (selectedBd.ValidatorsResults.ContainsKey(valKey) && selectedBd.ValidatorsResults[valKey]) { return(selectedBd); } else { return(null); } } } else { return(null); } }
internal void FillData(frmSelectBufferData load_form, string elName) { BufferData bd; if (!value.TryGetValue(elName, out bd)) { return; } }
/// <summary> /// Викликає діалог для збереження нового обєкту /// </summary> /// <param name="obj">обєкт, що заноситься до буфера</param> public void SaveDialog(BufferData obj) { if (obj == null) { throw new ArgumentNullException("obj"); } frmSelectBufferData frm_load = new frmSelectBufferData(true, null); if (frm_load.ShowDialog() == DialogResult.OK) { Save(frm_load.SaveName, obj); } }