private void BindData() { var objEventInfoHelper = new EventInfoHelper(this.ModuleId, this.TabId, this.PortalId, this.Settings); var objEventTimeZoneUtilities = new EventTimeZoneUtilities(); this._eventModeration = new ArrayList(); switch (this.rbModerate.SelectedValue) { case "Events": this._eventModeration = objEventInfoHelper.ConvertEventListToDisplayTimeZone( this._objCtlEvent.EventsModerateEvents(this.ModuleId, this.GetUrlGroupId()), this.GetDisplayTimeZoneId()); this._eventRecurModeration = new ArrayList(); this._eventRecurModeration = this._objCtlEventRecurMaster.EventsRecurMasterModerate(this.ModuleId, this.GetUrlGroupId()); foreach (EventRecurMasterInfo objRecurMaster in this._eventRecurModeration) { objRecurMaster.Dtstart = objEventTimeZoneUtilities .ConvertToDisplayTimeZone(objRecurMaster.Dtstart, objRecurMaster.EventTimeZoneId, this.PortalId, this.GetDisplayTimeZoneId()).EventDate; } //Get data for selected date and fill grid this.grdEvents.DataSource = this._eventModeration; this.grdEvents.DataBind(); if (this._eventRecurModeration.Count > 0) { this.grdRecurEvents.DataSource = this._eventRecurModeration; this.grdRecurEvents.DataBind(); this.grdRecurEvents.Visible = true; } this.grdEvents.Visible = true; this.grdEnrollment.Visible = false; break; case "Enrollment": this._eventModeration = this._objCtlEventSignups.EventsModerateSignups(this.ModuleId, this.GetUrlGroupId()); var objSignup = default(EventSignupsInfo); foreach (EventSignupsInfo tempLoopVar_objSignup in this._eventModeration) { objSignup = tempLoopVar_objSignup; if (objSignup.UserID != -1) { objSignup.UserName = objEventInfoHelper .UserDisplayNameProfile(objSignup.UserID, objSignup.UserName, this.LocalResourceFile) .DisplayNameURL; } else { objSignup.UserName = objSignup.AnonName; objSignup.Email = objSignup.AnonEmail; } if (objSignup.Email == "") { objSignup.EmailVisible = false; } else { objSignup.EmailVisible = true; } objSignup.EventTimeBegin = objEventTimeZoneUtilities .ConvertToDisplayTimeZone(objSignup.EventTimeBegin, objSignup.EventTimeZoneId, this.PortalId, this.GetDisplayTimeZoneId()).EventDate; } //Get data for selected date and fill grid this.grdEnrollment.DataSource = this._eventModeration; this.grdEnrollment.DataBind(); //Add Remove Popup to grid var i = 0; if (this.grdEnrollment.Items.Count > 0) { for (i = 0; i <= this.grdEnrollment.Items.Count - 1; i++) { //Are You Sure You Wish To Email the User?' ((ImageButton)this.grdEnrollment.Items[i].FindControl("btnUserEmail")).Attributes.Add( "onclick", "javascript:return confirm('" + Localization .GetString( "ConfirmModerateSendMailToUser", this .LocalResourceFile) + "');"); ((ImageButton)this.grdEnrollment.Items[i].FindControl("btnUserEmail")).AlternateText = Localization.GetString("EmailUser", this.LocalResourceFile); ((ImageButton)this.grdEnrollment.Items[i].FindControl("btnUserEmail")).ToolTip = Localization.GetString("EmailUser", this.LocalResourceFile); } this.grdEvents.Visible = false; this.grdRecurEvents.Visible = false; this.grdEnrollment.Visible = true; } break; } if (this._eventModeration.Count < 1) { //"No New Events/Enrollments to Moderate..." this.lblMessage.Text = Localization.GetString("MsgModerateNothingToModerate", this.LocalResourceFile); this.ShowButtonsGrid(false); } else { //Deny option will delete Event/Enrollment Entries from the Database!" this.lblMessage.Text = Localization.GetString("MsgModerateNoteDenyOption", this.LocalResourceFile); this.ShowButtonsGrid(true); } }
private void BindDataGrid() { var startDate = default(DateTime); // Start View Date Events Range var endDate = default(DateTime); // End View Date Events Range var objEventInfoHelper = new EventInfoHelper(ModuleId, TabId, PortalId, Settings); _pageBound = true; //****DO NOT CHANGE THE NEXT SECTION FOR ML CODING **** // Used Only to select view dates on Event Month View... var useDate = Convert.ToDateTime(dpGoToDate.SelectedDate); var initDate = new DateTime(useDate.Year, useDate.Month, 1); startDate = initDate.AddDays(-10); // Allow for Prev Month days in View // Load 2 months of events. This used to load only the events for the current month, // but was changed so that events for multiple events can be displayed in the case when // the Event displays some days for the next month. endDate = Convert.ToDateTime(initDate.AddMonths(1).AddDays(10)); var getSubEvents = Settings.MasterEvent; _selectedEvents = objEventInfoHelper.GetEvents(startDate, endDate, getSubEvents, SelectCategory.SelectedCategory, SelectLocation.SelectedLocation, GetUrlGroupId(), GetUrlUserId()); _selectedEvents = objEventInfoHelper.ConvertEventListToDisplayTimeZone(_selectedEvents, GetDisplayTimeZoneId()); //Write current date to UI SelectedDate = Convert.ToDateTime(EventCalendar.VisibleDate); // Setup the Tooltip TargetControls because it doesn't work in DayRender! if (Settings.Eventtooltipmonth) { toolTipManager.TargetControls.Clear(); if (Settings.Monthcellnoevents) { var calcDate = startDate; while (calcDate <= endDate) { toolTipManager.TargetControls.Add( "ctlEvents_Mod_" + ModuleId + "_EventDate_" + calcDate.Date.ToString("yyyyMMMdd"), true); calcDate = calcDate.AddDays(1); } } else { foreach (EventInfo objEvent in _selectedEvents) { var calcDate = objEvent.EventTimeBegin.Date; while (calcDate <= objEvent.EventTimeEnd.Date) { toolTipManager.TargetControls.Add( "ctlEvents_Mod_" + ModuleId + "_EventID_" + objEvent.EventID + "_EventDate_" + calcDate.Date.ToString("yyyyMMMdd"), true); calcDate = calcDate.AddDays(1); } } } } }
private void BindDataGrid() { var culture = Thread.CurrentThread.CurrentCulture; var startDate = default(DateTime); // Start View Date Events Range var endDate = default(DateTime); // End View Date Events Range var objEvent = default(EventInfo); var objEventInfoHelper = new EventInfoHelper(ModuleId, TabId, PortalId, Settings); var editButtonVisible = false; // Set Date Range var dDate = SelectedDate.Date; startDate = dDate.AddDays(-1); endDate = dDate.AddDays(1); // Get Events/Sub-Calendar Events var getSubEvents = Settings.MasterEvent; _selectedEvents = objEventInfoHelper.GetEvents(startDate, endDate, getSubEvents, SelectCategory.SelectedCategory, SelectLocation.SelectedLocation, GetUrlGroupId(), GetUrlUserId()); _selectedEvents = objEventInfoHelper.ConvertEventListToDisplayTimeZone(_selectedEvents, GetDisplayTimeZoneId()); if (_selectedEvents.Count == 0) { lstEvents.Visible = false; divMessage.Visible = true; return; } lstEvents.Visible = true; divMessage.Visible = false; // Get Date Events (used for Multiday event) var dayEvents = default(ArrayList); dayEvents = objEventInfoHelper.GetDateEvents(_selectedEvents, dDate); var fmtEventTimeBegin = Settings.Templates.txtDayEventTimeBegin; if (string.IsNullOrEmpty(fmtEventTimeBegin)) { fmtEventTimeBegin = "g"; } var fmtEventTimeEnd = Settings.Templates.txtDayEventTimeEnd; if (string.IsNullOrEmpty(fmtEventTimeEnd)) { fmtEventTimeEnd = "g"; } var tmpDayDescription = Settings.Templates.txtDayEventDescription; var tmpDayLocation = Settings.Templates.txtDayLocation; if (Settings.Eventtooltipday) { toolTipManager.TargetControls.Clear(); } var colEvents = new ArrayList(); var lstEvent = default(EventListObject); foreach (EventInfo tempLoopVar_objEvent in dayEvents) { objEvent = tempLoopVar_objEvent; // If full enrollments should be hidden, ignore if (HideFullEvent(objEvent)) { continue; } var blAddEvent = true; if (Settings.Collapserecurring) { foreach (EventListObject tempLoopVar_lstEvent in colEvents) { lstEvent = tempLoopVar_lstEvent; if (lstEvent.RecurMasterID == objEvent.RecurMasterID) { blAddEvent = false; } } } if (blAddEvent) { var objCtlEventRecurMaster = new EventRecurMasterController(); var tcc = new TokenReplaceControllerClass(ModuleId, LocalResourceFile); var fmtRowEnd = ""; var fmtRowBegin = ""; fmtRowEnd = tcc.TokenParameters(fmtEventTimeEnd, objEvent, Settings); fmtRowBegin = tcc.TokenParameters(fmtEventTimeBegin, objEvent, Settings); lstEvent = new EventListObject(); lstEvent.EventID = objEvent.EventID; lstEvent.CreatedByID = objEvent.CreatedByID; lstEvent.OwnerID = objEvent.OwnerID; lstEvent.EventDateBegin = objEvent.EventTimeBegin; lstEvent.EventDateEnd = objEvent.EventTimeEnd; if (objEvent.DisplayEndDate) { lstEvent.TxtEventDateEnd = string.Format("{0:" + fmtRowEnd + "}", lstEvent.EventDateEnd); } else { lstEvent.TxtEventDateEnd = ""; } lstEvent.EventTimeBegin = objEvent.EventTimeBegin; lstEvent.TxtEventTimeBegin = string.Format("{0:" + fmtRowBegin + "}", lstEvent.EventTimeBegin); lstEvent.Duration = objEvent.Duration; var isEvtEditor = IsEventEditor(objEvent, false); var templatedescr = ""; var iconString = ""; if (!IsPrivateNotModerator || UserId == objEvent.OwnerID) { templatedescr = tcc.TokenReplaceEvent(objEvent, tmpDayDescription, null, false, isEvtEditor); lstEvent.CategoryColor = GetColor(objEvent.Color); lstEvent.CategoryFontColor = GetColor(objEvent.FontColor); iconString = CreateIconString(objEvent, Settings.IconListPrio, Settings.IconListRec, Settings.IconListReminder, Settings.IconListEnroll); } lstEvent.EventName = CreateEventName(objEvent, "[event:title]"); lstEvent.EventDesc = objEvent.EventDesc; // RWJS - not sure why replace ' with \' - lstEvent.DecodedDesc = System.Web.HttpUtility.HtmlDecode(objEvent.EventDesc).Replace(Environment.NewLine, "").Trim.Replace("'", "\'") lstEvent.DecodedDesc = Convert.ToString(HttpUtility.HtmlDecode(templatedescr).Replace(Environment.NewLine, "")); lstEvent.EventID = objEvent.EventID; lstEvent.ModuleID = objEvent.ModuleID; var objEventRRULE = default(EventRRULEInfo); objEventRRULE = objCtlEventRecurMaster.DecomposeRRULE(objEvent.RRULE, objEvent.EventTimeBegin); lstEvent.RecurText = objCtlEventRecurMaster.RecurrenceText(objEventRRULE, LocalResourceFile, culture, objEvent.EventTimeBegin); if (objEvent.RRULE != "") { lstEvent.RecurUntil = objEvent.LastRecurrence.ToShortDateString(); } else { lstEvent.RecurUntil = ""; } lstEvent.EventID = objEvent.EventID; lstEvent.ModuleID = objEvent.ModuleID; lstEvent.ImageURL = ""; if (Settings.Eventimage && objEvent.ImageURL != null && objEvent.ImageDisplay) { lstEvent.ImageURL = ImageInfo(objEvent.ImageURL, objEvent.ImageHeight, objEvent.ImageWidth); } // Get detail page url lstEvent.URL = objEventInfoHelper.DetailPageURL(objEvent); if (objEvent.DetailPage && objEvent.DetailNewWin) { lstEvent.Target = "_blank"; } lstEvent.Icons = iconString; lstEvent.DisplayDuration = Convert.ToInt32(Conversion.Int((double)objEvent.Duration / 1440 + 1)); lstEvent.CategoryName = objEvent.CategoryName; lstEvent.LocationName = tcc.TokenReplaceEvent(objEvent, tmpDayLocation); lstEvent.CustomField1 = objEvent.CustomField1; lstEvent.CustomField2 = objEvent.CustomField2; lstEvent.RecurMasterID = objEvent.RecurMasterID; if (Settings.Eventtooltipday) { lstEvent.Tooltip = ToolTipCreate(objEvent, Settings.Templates.txtTooltipTemplateTitle, Settings.Templates.txtTooltipTemplateBody, isEvtEditor); } lstEvent.EditVisibility = false; if (isEvtEditor) { lstEvent.EditVisibility = true; editButtonVisible = true; } colEvents.Add(lstEvent); } } //Determine which fields get displayed if (!IsPrivateNotModerator) { if (Settings.EventsListFields.LastIndexOf("EB", StringComparison.Ordinal) < 0 || editButtonVisible == false) { lstEvents.Columns[0].Visible = false; } else { lstEvents.Columns[0].Visible = true; } if (Settings.EventsListFields.LastIndexOf("BD", StringComparison.Ordinal) < 0) { lstEvents.Columns[1].Visible = false; } if (Settings.EventsListFields.LastIndexOf("ED", StringComparison.Ordinal) < 0) { lstEvents.Columns[2].Visible = false; } if (Settings.EventsListFields.LastIndexOf("EN", StringComparison.Ordinal) < 0) { lstEvents.Columns[3].Visible = false; } if (Settings.EventsListFields.LastIndexOf("IM", StringComparison.Ordinal) < 0) { lstEvents.Columns[4].Visible = false; } if (Settings.EventsListFields.LastIndexOf("DU", StringComparison.Ordinal) < 0) { lstEvents.Columns[5].Visible = false; } if (Settings.EventsListFields.LastIndexOf("CA", StringComparison.Ordinal) < 0) { lstEvents.Columns[6].Visible = false; } if (Settings.EventsListFields.LastIndexOf("LO", StringComparison.Ordinal) < 0) { lstEvents.Columns[7].Visible = false; } if (!Settings.EventsCustomField1 || Settings.EventsListFields.LastIndexOf("C1", StringComparison.Ordinal) < 0) { lstEvents.Columns[8].Visible = false; } if (!Settings.EventsCustomField2 || Settings.EventsListFields.LastIndexOf("C2", StringComparison.Ordinal) < 0) { lstEvents.Columns[9].Visible = false; } if (Settings.EventsListFields.LastIndexOf("DE", StringComparison.Ordinal) < 0) { lstEvents.Columns[10].Visible = false; } if (Settings.EventsListFields.LastIndexOf("RT", StringComparison.Ordinal) < 0) { lstEvents.Columns[11].Visible = false; } if (Settings.EventsListFields.LastIndexOf("RU", StringComparison.Ordinal) < 0) { lstEvents.Columns[12].Visible = false; } } else { // Set Defaults lstEvents.Columns[0].Visible = false; // Edit Buttom lstEvents.Columns[1].Visible = true; // Begin Date lstEvents.Columns[2].Visible = true; // End Date lstEvents.Columns[3].Visible = true; // Title lstEvents.Columns[4].Visible = false; // Image lstEvents.Columns[5].Visible = false; // Duration lstEvents.Columns[6].Visible = false; // Category lstEvents.Columns[7].Visible = false; // Location lstEvents.Columns[8].Visible = false; // Custom Field 1 lstEvents.Columns[9].Visible = false; // Custom Field 2 lstEvents.Columns[10].Visible = false; // Description lstEvents.Columns[11].Visible = false; // Recurrence Pattern lstEvents.Columns[12].Visible = false; // Recur Until } lstEvents.DataSource = colEvents; lstEvents.DataBind(); }
private void BindPage(DateTime dDate) { var dBegin = default(DateTime); var dEnd = default(DateTime); var sBegin = default(DateTime); var sEnd = default(DateTime); var objEventInfoHelper = new EventInfoHelper(this.ModuleId, this.TabId, this.PortalId, this.Settings); try { // Set Date Range if (this.Settings.WeekStart != FirstDayOfWeek.Default) { this._dWeekStart = dDate.AddDays(Convert.ToDouble(-(int)dDate.DayOfWeek + this.Settings.WeekStart)); } else { this._dWeekStart = dDate.AddDays(Convert.ToDouble(-(int)dDate.DayOfWeek)); } if (((int)dDate.DayOfWeek < (int)this.Settings.WeekStart) & (this.Settings.WeekStart != FirstDayOfWeek.Default)) { this._dWeekStart = this._dWeekStart.AddDays(-7); } this.lblWeekOf.Text = string.Format(Localization.GetString("capWeekEvent", this.LocalResourceFile), DateAndTime.DatePart( DateInterval.WeekOfYear, this._dWeekStart, FirstWeekOfYearValue: FirstWeekOfYear.FirstFourDays), this._dWeekStart.ToLongDateString()); this.ViewState[this.ModuleId + "WeekOf"] = this._dWeekStart.ToShortDateString(); // Allow 7 days for events that might start before beginning of week sBegin = this._dWeekStart; dBegin = DateAndTime.DateAdd(DateInterval.Day, -7, this._dWeekStart); sEnd = DateAndTime.DateAdd(DateInterval.Day, Convert.ToDouble(+7), this._dWeekStart); dEnd = sEnd; // Get Events/Sub-Calendar Events var getSubEvents = this.Settings.MasterEvent; this._selectedEvents = objEventInfoHelper.GetEvents(dBegin, dEnd, getSubEvents, this.SelectCategory.SelectedCategory, this.SelectLocation.SelectedLocation, this.GetUrlGroupId(), this.GetUrlUserId()); this._selectedEvents = objEventInfoHelper.ConvertEventListToDisplayTimeZone( this._selectedEvents, this.GetDisplayTimeZoneId()); // Setup ScheduleGeneral // Create DataView var eventTable = new DataTable("Events"); eventTable.Columns.Add("ID", Type.GetType("System.Int32")); eventTable.Columns.Add("CreatedByID", Type.GetType("System.Int32")); eventTable.Columns.Add("OwnerID", Type.GetType("System.Int32")); eventTable.Columns.Add("StartTime", Type.GetType("System.DateTime")); eventTable.Columns.Add("EndTime", Type.GetType("System.DateTime")); eventTable.Columns.Add("Icons", Type.GetType("System.String")); eventTable.Columns.Add("Task", Type.GetType("System.String")); eventTable.Columns.Add("Description", Type.GetType("System.String")); eventTable.Columns.Add("StartDateTime", Type.GetType("System.DateTime")); eventTable.Columns.Add("Duration", Type.GetType("System.Int32")); eventTable.Columns.Add("URL", Type.GetType("System.String")); eventTable.Columns.Add("Target", Type.GetType("System.String")); eventTable.Columns.Add("Tooltip", Type.GetType("System.String")); eventTable.Columns.Add("BackColor", Type.GetType("System.String")); if (this.Settings.Eventtooltipweek) { this.toolTipManager.TargetControls.Clear(); } var dgRow = default(DataRow); var objEvent = default(EventInfo); foreach (EventInfo tempLoopVar_objEvent in this._selectedEvents) { objEvent = tempLoopVar_objEvent; // If full enrollments should be hidden, ignore if (this.HideFullEvent(objEvent)) { continue; } if (objEvent.EventTimeEnd > sBegin && objEvent.EventTimeBegin < sEnd) { dgRow = eventTable.NewRow(); dgRow["ID"] = objEvent.EventID; dgRow["CreatedByID"] = objEvent.CreatedByID; dgRow["OwnerID"] = objEvent.OwnerID; dgRow["StartTime"] = objEvent.EventTimeBegin; if (!objEvent.AllDayEvent) { dgRow["EndTime"] = objEvent.EventTimeEnd; } else { // all day events are recorded as 23:59 dgRow["EndTime"] = objEvent.EventTimeEnd.AddMinutes(1); } //**** Add ModuleName if SubCalendar var imagestring = ""; if (this.Settings.Eventimage && this.Settings.EventImageWeek && objEvent.ImageURL != null && objEvent.ImageDisplay) { imagestring = this.ImageInfo(objEvent.ImageURL, objEvent.ImageHeight, objEvent.ImageWidth); } dgRow["BackColor"] = ""; var iconString = ""; var eventtext = this.CreateEventName(objEvent, this.Settings.Templates.txtWeekEventText); if (!this.IsPrivateNotModerator || this.UserId == objEvent.OwnerID) { var forecolorstr = ""; var backcolorstr = ""; var blankstr = ""; if (objEvent.Color != "") { backcolorstr = "background-color: " + objEvent.Color + ";"; blankstr = " "; dgRow["BackColor"] = objEvent.Color; } if (objEvent.FontColor != "") { forecolorstr = "color: " + objEvent.FontColor + ";"; } dgRow["Task"] = "<span style=\"" + backcolorstr + forecolorstr + "\">" + imagestring + blankstr + eventtext + blankstr + "</span>"; iconString = this.CreateIconString(objEvent, this.Settings.IconWeekPrio, this.Settings.IconWeekRec, this.Settings.IconWeekReminder, this.Settings.IconWeekEnroll); // Get detail page url dgRow["URL"] = objEventInfoHelper.DetailPageURL(objEvent); if (objEvent.DetailPage && objEvent.DetailNewWin) { dgRow["Target"] = "_blank"; } } else { dgRow["Task"] = imagestring + eventtext; } dgRow["Icons"] = iconString; dgRow["Description"] = objEvent.EventDesc; dgRow["StartDateTime"] = objEvent.EventTimeBegin; dgRow["Duration"] = objEvent.Duration; if (this.Settings.Eventtooltipweek) { var isEvtEditor = this.IsEventEditor(objEvent, false); dgRow["Tooltip"] = this.ToolTipCreate(objEvent, this.Settings.Templates.txtTooltipTemplateTitle, this.Settings.Templates.txtTooltipTemplateBody, isEvtEditor); } eventTable.Rows.Add(dgRow); } } var dvEvent = new DataView(eventTable); this.schWeek.StartDate = this._dWeekStart; this.schWeek.DateFormatString = this.Settings.Templates.txtWeekTitleDate; this.schWeek.Weeks = 1; this.schWeek.DataSource = dvEvent; this.schWeek.DataBind(); } catch { } }