/// <summary> /// Loads this board configuration into the model. /// Throws ArgumentException if the board configuration is not valid. /// Does nothing if the model is null. /// </summary> /// <param name="fen"></param> public void LoadBoardConfiguration(string fen) { if (model == null) { return; } // build the event args CancelEventArgs emptyArgs = new CancelEventArgs(); // raise the Loading event on the model model.OnLoading(emptyArgs); // if the operation was cancelled if (emptyArgs.Cancel) { return; } // set the board try { model.CurrentBoard = Utils.GetFENBoard(fen); } catch { throw; } finally { // raise the BoardConfigurationLoaded event on the model model.OnBoardConfigurationLoaded(EventArgs.Empty); } }