protected override async Task HandleInfotextEvent(InfotextEvent @event, IIccOutput outputSettings)
        {
            Configure(outputSettings);

            var infotexts = @event.Infotexts.Select(infotext =>
            {
                return(new InfotextData
                {
                    Content = infotext.Text,
                    Date = infotext.Date
                });
            });

            var response = await iccImporter.ImportInfotextsAsync(infotexts.ToList());

            await HandleResponseAsync(response);
        }
Exemple #2
0
        public async Task <ImportResult> ImportDayTextsAsync(UntisExportResult result, DateTime?startDate, DateTime?endDate)
        {
            ConfigureImporter();

            var infotexts = result.Days.Where(x => startDate == null || endDate == null || (x.Date >= startDate && x.Date <= endDate))
                            .SelectMany(day =>
            {
                var result = new List <InfotextData>();

                if (!string.IsNullOrEmpty(day.Note))
                {
                    result.Add(new InfotextData
                    {
                        Date    = day.Date,
                        Content = NormalizeHtmlContent(day.Note)
                    });
                }

                foreach (var text in day.Texts)
                {
                    var currentDate = new DateTime(text.StartDate.Ticks);

                    while (currentDate <= text.EndDate)
                    {
                        result.Add(new InfotextData
                        {
                            Date    = currentDate,
                            Content = NormalizeHtmlContent(text.Text)
                        });

                        currentDate = currentDate.AddDays(1);
                    }
                }

                return(result);
            }).ToList();

            var response = await importer.ImportInfotextsAsync(infotexts);

            return(HandleResponse(response));
        }