public async Task SetReminderCommand(SocketGuildUser user, string time, [Remainder] string message) { TimeSpan timeSpan = TimeSpan.TryParse(time, out timeSpan) ? timeSpan : TimeSpan.Zero; if (timeSpan.Minutes < 1 || timeSpan.Hours > 24) { await ReplyAsync("Invalid time, please choose a time between 1 min (00:01:00) and 24 hours (24:00:00)."); return; } var userReminder = new UserReminder() { UserId = user.Id, TimeSpan = timeSpan, Message = message, }; userReminder.Timer = new Timer(userReminder.TimeSpan.TotalMilliseconds) { Enabled = true, }; userReminder.Timer.Elapsed += async(sender, e) => { await SendReminderMessage(userReminder); }; await ReplyAsync($"Reminder was set!"); }
public TimeReminderUserReminder SaveMyReminder(TimeReminderUserReminder timeReminderUserReminder) { if (timeReminderUserReminder.ID == 0) { using (var db = new ReminderDBEntities()) { UserReminder userreminder = new UserReminder() { Reminder = timeReminderUserReminder.Reminder, ReminderDate = timeReminderUserReminder.ReminderDate, UserID = timeReminderUserReminder.UserID }; db.UserReminders.Add(userreminder); db.SaveChanges(); timeReminderUserReminder.ID = userreminder.ID; } } else { using (var db = new ReminderDBEntities()) { var userReminder = db.UserReminders.SingleOrDefault(u => u.ID == timeReminderUserReminder.ID); if (userReminder != null) { userReminder.Reminder = timeReminderUserReminder.Reminder; userReminder.ReminderDate = timeReminderUserReminder.ReminderDate; userReminder.UserID = timeReminderUserReminder.UserID; db.SaveChanges(); } } } return(timeReminderUserReminder); }
public ActionResult DeleteConfirmed(int id) { UserReminder userReminder = db.UserReminders.Find(id); db.UserReminders.Remove(userReminder); db.SaveChanges(); return(RedirectToAction("Index")); }
private async Task SendReminderMessage(UserReminder userReminder) { var user = Context.Client.GetUser(userReminder.UserId); await user.SendMessageAsync($"Reminder after {userReminder.TimeSpan.ToString(@"hh\:mm\:ss")} with the message '{userReminder.Message}'"); userReminder.HasReminded = true; userReminder.Timer.Dispose(); }
public ActionResult Edit([Bind(Include = "ID,UserID,Reminder,ReminderDate")] UserReminder userReminder) { if (ModelState.IsValid) { db.Entry(userReminder).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UserID = new SelectList(db.Users, "ID", "UserName", userReminder.UserID); return(View(userReminder)); }
public ActionResult Create([Bind(Include = "ID,UserID,Reminder,ReminderDate")] UserReminder userReminder) { if (ModelState.IsValid) { db.UserReminders.Add(userReminder); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UserID = new SelectList(db.Users, "ID", "UserName", userReminder.UserID); return(View(userReminder)); }
// GET: UserReminders/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } UserReminder userReminder = db.UserReminders.Find(id); if (userReminder == null) { return(HttpNotFound()); } return(View(userReminder)); }
// GET: UserReminders/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } UserReminder userReminder = db.UserReminders.Find(id); if (userReminder == null) { return(HttpNotFound()); } ViewBag.UserID = new SelectList(db.Users, "ID", "UserName", userReminder.UserID); return(View(userReminder)); }