public MUCHTTPRequest(MUCNewReminder parent) { InitializeComponent(); ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; client = new HttpClient(); this.parent = parent; }
private void MaterialForm1_Load(object sender, EventArgs e) { #region User controls reminders = new MUCReminders(); mucSettings = new MUCSettings(); theme = new MUCTheme(); timer = new MUCTimer(); importExport = new MUCImportExport(); sound = new MUCSound(); popup = new MUCResizePopup(); support = new MUCSupport(); debug = new MUCDebugMode(); newReminder = new MUCNewReminder(reminders); info = new MUCInfo(); newReminder.Visible = false; tabReminders.Controls.Add(reminders); tabReminders.Controls.Add(newReminder); tabSettings.Controls.Add(mucSettings); tabTheme.Controls.Add(theme); tabTimer.Controls.Add(timer); tabBackupImport.Controls.Add(importExport); tabSoundEffects.Controls.Add(sound); tabResizePopup.Controls.Add(popup); tabMessageCenter.Controls.Add(support); tabDebug.Controls.Add(debug); tabInfo.Controls.Add(info); reminders.Initialize(); long?id = BLLocalDatabase.Setting.Settings.CurrentTheme; if (id.HasValue && id != -1) { Themes selectedTheme = BLLocalDatabase.Theme.GetThemeById(id.Value); if (selectedTheme == null) { //Selected theme has been deleted BLIO.Log("Attempted to load a Theme that has been deleted. Theme with ID " + id.Value + " does not exist anymore"); } else { //Load theme from selectedTheme (local Db) materialSkinManager.Theme = (MaterialSkinManager.Themes)(int) selectedTheme.Mode; materialSkinManager.ColorScheme = new ColorScheme((Primary)(int)selectedTheme.Primary, (Primary)(int)selectedTheme.DarkPrimary, (Primary)(int)selectedTheme.LightPrimary, (Accent)(int)selectedTheme.Accent, (TextShade)(int)selectedTheme.TextShade); } } #endregion }
public MaterialAdvancedReminderForm(MUCNewReminder parent) { this.Opacity = 0; MaterialSkin.MaterialSkinManager.Instance.AddFormToManage(this); InitializeComponent(); ucParent = parent; mucHttpRequest = new MUCHTTPRequest(parent); tabHTTP.Controls.Add(mucHttpRequest); this.MaximumSize = this.Size; this.MinimumSize = this.Size; BLIO.Log("Advanced reminder form created!"); }
public void Initialize() { try { MaterialSkin.MaterialSkinManager.Themes theme = MaterialSkin.MaterialSkinManager.Instance.Theme; Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); List <Reminder> corruptedReminders = BLReminder.CheckForCorruptedReminders(); if (corruptedReminders != null) { string message = "RemindMe has detected"; if (corruptedReminders.Count > 1) { message += " problems with the following reminders: \r\n"; foreach (Reminder rem in corruptedReminders) { message += "- " + rem.Name + "\r\n"; } message += "\r\nThey have been removed from your list of reminders."; } else { message += " a problem with the reminder:\r\n\"" + corruptedReminders[0].Name + "\". \r\nIt has been removed from your list of reminders."; } MaterialMessageFormManager.MakeMessagePopup(message, 0); } BLIO.Log("Loading reminders from database"); //Give initial value to newReminderUc newReminderUc = new MUCNewReminder(this); newReminderUc.Visible = false; newReminderUc.saveState = false; this.Parent.Controls.Add(newReminderUc); //MaterialForm1.Instance.ucNewReminder = newReminderUc; //BLFormLogic.AddRemindersToListview(lvReminders, BLReminder.GetReminders().Where(r => r.Hide == 0).ToList()); //Get all "active" reminders); BLIO.Log("Starting the reminder timer"); tmrCheckReminder.Start(); pnlReminders.Visible = true; pnlReminders.DragDrop += MUCReminders_DragDrop; pnlReminders.DragEnter += MUCReminders_DragEnter; int counter = 0; //List<Reminder> reminders = BLReminder.GetOrderedReminders(); List <Reminder> conditionalReminders = BLReminder.GetReminders(true).Where(r => r.HttpId != null).Where(r => r.Hide == 0).Where(r => r.Enabled == 1).ToList(); List <Reminder> activeReminders = BLReminder.GetReminders().Where(r => r.Hide == 0).OrderBy(r => Convert.ToDateTime(r.Date.Split(',')[0])).Where(r => r.Enabled == 1).ToList(); List <Reminder> disabledReminders = BLReminder.GetReminders().Where(r => r.Hide == 0).OrderBy(r => Convert.ToDateTime(r.Date.Split(',')[0])).Where(r => r.Enabled == 0).ToList(); //we've got postponed reminders, now do this if (BLReminder.GetReminders().Where(r => !string.IsNullOrWhiteSpace(r.PostponeDate)).ToList().Count > 0) { activeReminders = OrderPostponedReminders(); } foreach (Reminder rem in activeReminders) { if (pnlReminders.Controls.Count >= 7) { break; //Only 7 reminders on 1 page } pnlReminders.Controls.Add(new MUCReminderItem(rem)); if (counter > 0) { pnlReminders.Controls[counter].Location = new Point(0, pnlReminders.Controls[counter - 1].Location.Y + pnlReminders.Controls[counter - 1].Size.Height); } counter++; } foreach (Reminder rem in conditionalReminders) { if (pnlReminders.Controls.Count >= 7) { break; //Only 7 reminders on 1 page } pnlReminders.Controls.Add(new MUCReminderItem(rem)); if (counter > 0) { pnlReminders.Controls[counter].Location = new Point(0, pnlReminders.Controls[counter - 1].Location.Y + pnlReminders.Controls[counter - 1].Size.Height); } counter++; } foreach (Reminder rem in disabledReminders) { if (pnlReminders.Controls.Count >= 7) { break; } pnlReminders.Controls.Add(new MUCReminderItem(rem)); if (counter > 0) { pnlReminders.Controls[counter].Location = new Point(0, pnlReminders.Controls[counter - 1].Location.Y + pnlReminders.Controls[counter - 1].Size.Height); } counter++; } if (activeReminders.Count + disabledReminders.Count < 7) //Less than 7 reminders, let's fit in some empty MUCReminderItem 's { for (int i = (activeReminders.Count + disabledReminders.Count); i < 7; i++) { pnlReminders.Controls.Add(new MUCReminderItem(null)); if (counter > 0) { pnlReminders.Controls[counter].Location = new Point(0, pnlReminders.Controls[counter - 1].Location.Y + pnlReminders.Controls[counter - 1].Size.Height); } counter++; } } if (BLReminder.GetReminders().Where(r => r.Hide == 0).ToList().Count <= 7) { MaterialForm1.Instance.UpdatePageNumber(-1); //Tell MaterialForm1 that there are not more than 1 pages } else { if (theme == MaterialSkin.MaterialSkinManager.Themes.DARK) { btnNextPage.Icon = Properties.Resources.NextWhite; } else { btnNextPage.Icon = Properties.Resources.nextDark; } MaterialForm1.Instance.UpdatePageNumber(pageNumber); } //Just design, no logic here. Drags the color panel a bit down and shrink it so it doesnt overlap over the shadow MUCReminderItem itm = (MUCReminderItem)pnlReminders.Controls[0]; itm.pnlSideColor.Size = new Size(itm.pnlSideColor.Width, itm.pnlSideColor.Height - 4); itm.pnlSideColor.Location = new Point(itm.pnlSideColor.Location.X, itm.pnlSideColor.Location.Y + 4); //Http requests foreach (Reminder rem in conditionalReminders) { HttpRequests httpObj = BLLocalDatabase.HttpRequest.GetHttpRequestById((long)rem.Id); System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Interval = Convert.ToInt32(httpObj.Interval * 60000); timer.Tick += (object s, EventArgs a) => ExecuteHttpRequest(s, a, httpObj, rem); httpTimers.Add(rem, timer); timer.Start(); } stopwatch.Stop(); BLIO.Log("MUCReminders Initialize took " + stopwatch.ElapsedMilliseconds + " ms"); } catch (Exception ex) { BLIO.Log("MUCReminders.Initialize() FAILED. Type -> " + ex.GetType().ToString()); BLIO.Log("Message -> " + ex.Message); } }