private void DeleteOldEntriesForDate(DateTime dateToDeleteFor) { var entriesToDelete = soundEventsModel.SoundEvents.Where(s => s.TimeStamp.Value.Year == dateToDeleteFor.Year && s.TimeStamp.Value.Month == dateToDeleteFor.Month && s.TimeStamp.Value.Day == dateToDeleteFor.Day).ToList(); if (entriesToDelete != null && entriesToDelete.Count > 0) { foreach (var entryToDelete in entriesToDelete) { soundEventsModel.SoundEvents.Remove(entryToDelete); } soundEventsModel.SaveChanges(); soundEventsModel = new SoundEventsEntities(); } }
private void startCreateNewEventsBtn_Click(object sender, EventArgs e) { InvokeMethodThreaded(new Action(() => { DeleteOldEntriesForDate(newEventsDateTimePicker.Value); Random seed = new Random(); int selectedStartTime = 0; int selectedEndTime = 0; int selectedNumberPer = 0; InvokeUIThreadAction(new Action(() => { selectedStartTime = int.Parse(startTimeCmb.SelectedItem.ToString().Substring(0, 2)); selectedEndTime = int.Parse(endTimeCmb.SelectedItem.ToString().Substring(0, 2)); selectedNumberPer = int.Parse(numberCmb.SelectedItem.ToString()); })); do { Thread.Sleep(50); } while (selectedNumberPer == 0); for (int i = selectedStartTime; i < selectedEndTime; i++) { List <int> timeEvents = new List <int>(); for (int j = 1; j <= selectedNumberPer; j++) { int minuteValue = 0; do { minuteValue = seed.Next(1, 60); } while (timeEvents.Contains(minuteValue)); timeEvents.Add(minuteValue); } for (int j = 0; j < timeEvents.Count; j++) { var soundToPlay = seed.Next(1, 6); var dateTimeToAdd = new DateTime(newEventsDateTimePicker.Value.Year, newEventsDateTimePicker.Value.Month, newEventsDateTimePicker.Value.Day, i, timeEvents[j], 0); var newEventToAdd = new SoundEvent { IsEnabled = true, SoundID = soundToPlay, TimeStamp = dateTimeToAdd }; soundEventsModel.SoundEvents.Add(newEventToAdd); } } try { soundEventsModel.SaveChanges(); soundEventsModel = new SoundEventsEntities(); } catch (Exception ex) { SendLogMessage("Problem saving data to the database, message : " + ex.Message); } InvokeUIThreadAction(new Action(() => { eventsDateTimePicker.Value = new DateTime(2001, 12, 12); eventsDateTimePicker.Value = newEventsDateTimePicker.Value; })); })); }