public Reminder SetReminder(Reminder reminder, bool saveImmediately = true) { if (reminder.SetFor == 0) { reminder.SetFor = _user.Id; } reminder.SetBy = _user.Id; if (_user.IsAgent()) { reminder.Public = false; } //if new reminder if (reminder.Id == 0) { reminder.CreatedDate = DateTime.Now; _repository.Insert <Reminder>(reminder, saveImmediately); _DispatchReminderEvent(reminder.Id, ReminderEvent.Create); } //else update reminder else { reminder.SetByUser = null; reminder.SetForUser = null; _repository.Update <Reminder>(reminder, saveImmediately); _DispatchReminderEvent(reminder.Id, ReminderEvent.Update); } return(this.GetReminder(reminder.Id)); }