Ejemplo n.º 1
0
 void ITitleModuleController.AppendToolbarItem(PXToolBarItem item)
 {
     tlbTools.Items.Insert(0, item);
     if (item.Key == "reminder")
     {
         item.Visible = false;
     }
     if (PXSiteMap.IsPortal)
     {
         if (!System.Web.Security.Roles.IsUserInRole(PXAccess.GetAdministratorRole()))
         {
             item.Visible = false;
         }
         item.CssClass = "toolsBtnSP";
     }
 }
        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);
            }
        }