void dgClearingTimespans_SelectionChanged(object sender, EventArgs e) { this.lnkIntradayInterruptsDelete.Enabled = false; if (this.settingValueManuallyIgnoringEvent) { return; } if (this.dgClearingTimespans.SelectedRows.Count == 0) { return; } MarketClearingTimespan closedHour = (MarketClearingTimespan)this.dgClearingTimespans.SelectedRows[0].Tag; if (closedHour == null) { return; } this.lnkIntradayInterruptsDelete.Enabled = true; }
void dgClearingTimespans_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (this.settingValueManuallyIgnoringEvent) { return; } if (e.RowIndex < 0) { return; } if (e.ColumnIndex < 0) { return; } string errormsg = ""; string headerText = this.dgClearingTimespans.Columns[e.ColumnIndex].HeaderText; MarketClearingTimespan clearingTimespan = this.dgClearingTimespans.Rows[e.RowIndex].Tag as MarketClearingTimespan; if (clearingTimespan == null) { MessageBox.Show("Rows[" + e.RowIndex + "].Tag=null (expecting RegularClosedHour)", headerText); return; } DataGridViewCell cell = this.dgClearingTimespans[e.ColumnIndex, e.RowIndex]; string cellValueAsString = (cell.Value != null) ? cell.Value.ToString() : ""; string columnNameChanged = this.dgClearingTimespans.Columns[e.ColumnIndex].Name; this.settingValueManuallyIgnoringEvent = true; switch (columnNameChanged) { case "colClearingTimespansSuspends": try { DateTime newTime = DateTime.Parse(cellValueAsString); clearingTimespan.SuspendServerTimeOfDay = newTime; } catch (Exception ex) { errormsg = columnNameChanged + ": cellValueAsString[" + cellValueAsString + "] " + ex.Message + ", back to old value [" + clearingTimespan.SuspendServerTimeOfDayAsString + "]"; } cell.Value = clearingTimespan.SuspendServerTimeOfDayAsString; break; case "colClearingTimespansResumes": try { DateTime newTime = DateTime.Parse(cellValueAsString); clearingTimespan.ResumeServerTimeOfDay = newTime; } catch (Exception ex) { errormsg = columnNameChanged + ": cellValueAsString[" + cellValueAsString + "] " + ex.Message + ", back to old value [" + clearingTimespan.ResumeServerTimeOfDayAsString + "]"; } cell.Value = clearingTimespan.ResumeServerTimeOfDayAsString; break; case "colClearingTimespansDaysOfWeek": try { List <DayOfWeek> dowsParsed = marketInfoRepository.parseDaysOfWeekCsv(cellValueAsString, ", "); clearingTimespan.DaysOfWeekWhenClearingHappens = dowsParsed; } catch (Exception ex) { errormsg = columnNameChanged + ": cellValueAsString[" + cellValueAsString + "] " + ex.Message + ", back to old value [" + clearingTimespan.DaysOfWeekWhenClosingNotHappensAsString + "]"; } cell.Value = clearingTimespan.DaysOfWeekWhenClosingNotHappensAsString; break; default: errormsg = "no handler for field:[" + columnNameChanged + "]"; break; } this.settingValueManuallyIgnoringEvent = false; if (string.IsNullOrEmpty(errormsg) == false) { MessageBox.Show(errormsg, headerText); } this.marketInfoRepository.Serialize(); }