/// <summary> /// Retrieves all the events and updates the custom control panel /// </summary> private void InitEvents() { using (var db = new EventContext()) { _events = (from userEvent in db.Events where (userEvent.User.UserId == _user.UserId) select userEvent).ToList(); _events = _events.Where(usrEvnt => (usrEvnt.StartDateTime >= startDtPicker.Value && usrEvnt.EndDateTime >= startDtPicker.Value && usrEvnt.StartDateTime <= endDtPicker.Value && usrEvnt.EndDateTime <= endDtPicker.Value)).ToList(); SetRepeatEvent(); foreach (var userEvent in _events) { EventDetailsPanel eventDetailsPanel = new EventDetailsPanel(_user, userEvent); eventDetailsPanel.Tag = userEvent.EventId; eventDetailsPanel.RepeatButtonClick += EventDetailsPanel_RepeatButtonClick; eventDetailsPanel.RemoveButtonClick += EventDetailsPanel_RemoveButtonClick; eventDetailsPanel.EditButtonClick += EventDetailsPanel_EditButtonClick; eventDetailsPanel.ControlDoubleClick += EventDetailsPanel_ControlDoubleClick; flowLayoutPanel1.Controls.Add(eventDetailsPanel); } } }
///// <summary> ///// Struct which holds the event ///// repetition data ///// </summary> //struct EventRepeatStat //{ // public Event UserEvent; // public DateTime RepeatStartDateTime; // public DateTime RepeatEndDateTime; //} /// <summary> /// Allow user to see an event's /// full details /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EventDetailsPanel_ControlDoubleClick(object sender, EventArgs e) { EventDetailsPanel temp = (EventDetailsPanel)sender; Event userEvent = temp.Event; EventView eventView = new EventView(userEvent, _user); eventView.ShowDialog(this); }
private void EventDetailsPanel_EditButtonClick(object sender, EventArgs e) { EventDetailsPanel temp = (EventDetailsPanel)sender; Event userEvent = temp.Event; //MessageBox.Show("Edit btn click!", "Info!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // Redirect to the edit event view EditEventView editEventView = new EditEventView(userEvent, _user); editEventView.ShowDialog(this); }
private void EventDetailsPanel_RepeatButtonClick(object sender, EventArgs e) { EventDetailsPanel temp = (EventDetailsPanel)sender; Event tempEvent = temp.Event; // Switch the Recurr property tempEvent.Recurr = !tempEvent.Recurr; UpdateEvent(tempEvent); flowLayoutPanel1.Controls.Clear(); InitEvents(); }
private void EventDetailsPanel_RemoveButtonClick(object sender, EventArgs e) { EventDetailsPanel temp = (EventDetailsPanel)sender; Event delEvent = temp.Event; if (MessageBox.Show("Please confirm before proceed" + "\n" + "Do you want to Delete event: '" + delEvent.EventTitle + "' ?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //if YES DeleteEvent(delEvent.EventId); } }