protected override void Write(Stream stream, ProcessBag bag) { var calendar = bag.Data as vCalendarIcs; if (calendar == null) { var calendarSettingsId = bag.Parameters[_CALENDAR_SETTINGS_KEY]; var companyId = bag.Parameters[_COMPANY_KEY]; if (!string.IsNullOrEmpty(calendarSettingsId)) { var syncGraph = new EPCalendarSync(); try { using (new PXLoginScope(string.IsNullOrEmpty(companyId) ? "admin" : ("admin@" + companyId), PXAccess.GetAdministratorRoles())) { var events = syncGraph.GetCalendarEvents(new Guid(calendarSettingsId)); calendar = (vCalendarIcs)VCalendarProcessor.CreateVCalendar(events); } } catch (FormatException) { } } } if (calendar == null) { calendar = new vCalendarIcs(); } using (var sw = new StreamWriter(stream)) { calendar.Write(sw); } }
protected override string GetFileName(ProcessBag bag) { var fileName = (bag.Data as Email).With(_ => _.Message).With(_ => _.Subject); var name = !string.IsNullOrEmpty(fileName) ? fileName : base.GetFileName(bag); return(name + ".eml"); }
protected override void Write(Stream stream, ProcessBag bag) { var calendar = bag.Data as vCalendarIcs; if (calendar == null) { var calendarSettingsId = bag.Parameters[_CALENDAR_SETTINGS_KEY]; var companyId = bag.Parameters[_COMPANY_KEY]; if (!string.IsNullOrEmpty(calendarSettingsId)) { var syncGraph = new EPCalendarSync(); try { using (new PXLoginScope(string.IsNullOrEmpty(companyId) ? "admin" : ("admin@" + companyId), PXAccess.GetAdministratorRole())) { var events = syncGraph.GetCalendarEvents(new Guid(calendarSettingsId)); calendar = (vCalendarIcs)VCalendarProcessor.CreateVCalendar(events); } } catch (FormatException) { } } } if (calendar == null) calendar = new vCalendarIcs(); using (var sw = new StreamWriter(stream)) { calendar.Write(sw); } }
protected override void Write(Stream stream, ProcessBag bag) { var emlFile = (bag.Data as Email).With(_ => _.Message); emlFile.ToStream(stream); }
protected override string GetFileName(ProcessBag bag) { var fileName = (bag.Data as Email).With(_ => _.Message).With(_ => _.Subject); var name = !string.IsNullOrEmpty(fileName) ? fileName : base.GetFileName(bag); return name + ".eml"; }