/// <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); } }
/// <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); } }