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);
            }
        }
コード例 #2
0
		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);
			}
		}