Exemple #1
0
        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));
        }
Exemple #2
0
        //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);
        }
Exemple #3
0
        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);
        }