public bool HandleChange(IList <FlexKidsScheduler.Model.ScheduleDiff> schedule)
        {
            if (schedule == null || !schedule.Any())
            {
                return(true);
            }

            try
            {
                var orderedSchedule = schedule.OrderBy(x => x.Start).ThenBy(x => x.Status).ToArray();

                var subject       = "Werkrooster voor week " + orderedSchedule[0].Schedule.Week.WeekNr;
                var schedulePlain = EmailContentBuilder.ScheduleToPlainTextString(orderedSchedule);
                var scheduleHtml  = EmailContentBuilder.ScheduleToHtmlString(orderedSchedule);

                var mm = CreateMailMessage(subject, schedulePlain, scheduleHtml);
                emailService.Send(mm);
            }
            catch (Exception ex)
            {
                Logger.Error("Something went wrong sending an email with the schedule.", ex);
                return(false);
            }
            return(true);
        }
        public async Task <bool> HandleChange(IReadOnlyList <ScheduleDiff> schedule, WeekSchedule updatedWeekSchedule)
        {
            if (schedule == null || !schedule.Any())
            {
                return(true);
            }

            try
            {
                ScheduleDiff[] orderedSchedule = schedule.OrderBy(x => x.Start).ThenBy(x => x.Status).ToArray();
                var            subject         = "Werkrooster voor week " + updatedWeekSchedule.WeekNumber;
                var            schedulePlain   = EmailContentBuilder.ScheduleToPlainTextString(orderedSchedule);
                var            scheduleHtml    = EmailContentBuilder.ScheduleToHtmlString(orderedSchedule);

                MailMessage mailMessage = CreateMailMessage(subject, schedulePlain, scheduleHtml);
                await _emailService.Send(mailMessage);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Something went wrong sending an email with the schedule.");
                return(false);
            }

            return(true);
        }