private static void AppendToReminderToLocal(LocalReminderModel localReminderModel) { AppDataReadWrite dataWriter = new AppDataReadWrite("Reminders.json"); var localReminders = JsonConvert.DeserializeObject <List <LocalReminderModel> >(dataWriter.ReadStringFromFile()); if (localReminders == null) { localReminders = new List <LocalReminderModel>(); } localReminders.Add(localReminderModel); dataWriter.WriteStringToFile(JsonConvert.SerializeObject(localReminders)); }
//For use elsewhere public static async Task <string> AddReminderToCalendar(ReminderReadModel reminderModel) { var calendar = await CheckCalendarExistanceAndCreation("Petminder", "Petminder"); var start = reminderModel.StartDate + reminderModel.TimeLocal.TimeOfDay; var end = reminderModel.StartDate + reminderModel.TimeLocal.TimeOfDay + TimeSpan.FromMinutes(15); var id = await AddReminderToCalendar(reminderModel, calendar, start, end); LocalReminderModel localReminderModel = new LocalReminderModel(); localReminderModel.calendarIds.Add(id); localReminderModel.databaseId = reminderModel.Id; AppendToReminderToLocal(localReminderModel); return(id); }
public static async Task <bool> AddRepeatingReminderToCalendar(ReminderReadModel reminderModel) { try { var calendar = await CheckCalendarExistanceAndCreation("Petminder", "Petminder"); var frequency = reminderModel.Frequency; DateTime dateTime; List <string> externalIds = new List <string>(); string externalId; LocalReminderModel localReminderModel = new LocalReminderModel(); dateTime = reminderModel.StartDate + reminderModel.TimeLocal.TimeOfDay; if (frequency == "Daily") { var loopcount = DateTime.IsLeapYear(reminderModel.StartDate.Year) ? 366 : 365; for (int i = 0; i < loopcount; i++) { externalId = await AddReminderToCalendar(reminderModel, calendar, dateTime, dateTime + TimeSpan.FromMinutes(15)); dateTime = dateTime.AddDays(1); externalIds.Add(externalId); } } else if (frequency == "Weekly") { var loopcount = 52; for (int i = 0; i < loopcount; i++) { externalId = await AddReminderToCalendar(reminderModel, calendar, dateTime, dateTime + TimeSpan.FromMinutes(15)); dateTime = dateTime.AddDays(7); externalIds.Add(externalId); } } else if (frequency == "Monthly") { var loopcount = 12; for (int i = 0; i < loopcount; i++) { externalId = await AddReminderToCalendar(reminderModel, calendar, dateTime, dateTime + TimeSpan.FromMinutes(15)); dateTime = dateTime.AddMonths(1); externalIds.Add(externalId); } } localReminderModel.databaseId = reminderModel.Id; localReminderModel.calendarIds = externalIds; AppendToReminderToLocal(localReminderModel); } catch { return(false); } return(true); }