public string EditCalendarEvent(string id, string title, string description, string start, string end, string allDay, string endRepeat, int calendarID, int daysDiff) { SueetieCalendarEvent sueetieCalendarEvent = new SueetieCalendarEvent { EventGuid = new Guid(id), EventTitle = title, EventDescription = description, StartDateTime = SueetieCalendars.ConvertJsonDate(start), EndDateTime = SueetieCalendars.ConvertJsonDate(end), AllDayEvent = DataHelper.StringToBool(allDay), RepeatEndDate = DataHelper.SafeMinDate(endRepeat), CalendarID = calendarID, IsActive = true }; if (!DataHelper.IsMinDate(sueetieCalendarEvent.RepeatEndDate)) { sueetieCalendarEvent.RepeatEndDate = sueetieCalendarEvent.RepeatEndDate.AddDays(daysDiff); } SueetieCalendars.UpdateSueetieCalendarEvent(sueetieCalendarEvent); SueetieCalendars.ClearSueetieCalendarEventListCache(calendarID); return("<b>RESCHEDULED EVENT:</b> " + id + "\n\n<b>TITLE:</b> " + title + "\n<b>DESCRIPTION:</b> " + description + " \n<b>START DATETIME:</b> " + SueetieCalendars.ConvertJsonDate(start).ToString() + "\n<b>END DATETIME:</b> " + SueetieCalendars.ConvertJsonDate(end).ToString() + "\n<b>END REPEAT DATE:</b> " + endRepeat + "\n<b>ALL DAY EVENT:</b> " + allDay + "\n<b>CALENDAR ID:</b> " + calendarID); }
public string AddCalendarEvent(string id, string title, string description, string start, string end, string allDay, string endRepeat, int calendarID, string url, int sourceContentID) { int _currentSueetieUserID = SueetieContext.Current.User.UserID; SueetieCalendarEvent sueetieCalendarEvent = new SueetieCalendarEvent { EventGuid = new Guid(id), EventTitle = title, EventDescription = description, StartDateTime = SueetieCalendars.ConvertJsonDate(start), EndDateTime = SueetieCalendars.ConvertJsonDate(end), CalendarID = calendarID, AllDayEvent = DataHelper.StringToBool(allDay), RepeatEndDate = DataHelper.SafeMinDate(endRepeat), SourceContentID = 0, CreatedBy = _currentSueetieUserID }; if (string.IsNullOrEmpty(url)) { sueetieCalendarEvent.SourceContentID = sourceContentID; sueetieCalendarEvent.Url = url; } if (!string.IsNullOrEmpty(endRepeat)) { try { Convert.ToDateTime(endRepeat); } catch { } } int eventID = SueetieCalendars.CreateSueetieCalendarEvent(sueetieCalendarEvent); SueetieContent sueetieContent = new SueetieContent { SourceID = eventID, ContentTypeID = (int)SueetieContentType.CalendarEvent, Permalink = "na", ApplicationID = (int)SueetieApplicationType.Unknown, UserID = _currentSueetieUserID }; int contentID = SueetieCommon.AddSueetieContent(sueetieContent); if (SueetieContext.Current.User.IsContentAdministrator) { SueetieLogs.LogUserEntry(UserLogCategoryType.CalendarEvent, contentID, _currentSueetieUserID); } SueetieCalendars.ClearSueetieCalendarEventListCache(calendarID); return("<b>NEW EVENT ITEM:</b> " + id + "\n\n<b>TITLE:</b> " + title + "\n<b>DESCRIPTION:</b> " + description + " \n<b>START DATETIME:</b> " + SueetieCalendars.ConvertJsonDate(start).ToString() + "\n<b>END DATETIME:</b> " + SueetieCalendars.ConvertJsonDate(end).ToString() + "\n<b>END REPEAT DATE:</b> " + endRepeat + "\n<b>ALL DAY EVENT:</b> " + allDay + "\n<b>CALENDAR ID:</b> " + calendarID); }
protected override void OnInit(EventArgs e) { #region Populate Event from Context Objects if (SueetieContext.Current.ContentPage != null) { this.SourceContentID = SueetieContext.Current.ContentPage.ContentID; this.Permalink = SueetieContext.Current.ContentPage.Permalink; this.SourceTitle = SueetieContext.Current.ContentPage.PageTitle; } if (this.CalendarSueetieMediaObject != null) { this.SourceContentID = CalendarSueetieMediaObject.ContentID; this.Permalink = CalendarSueetieMediaObject.MediaObjectUrl; this.SourceTitle = CalendarSueetieMediaObject.MediaObjectTitle; } if (this.CalendarSueetieBlogPost != null) { this.SourceContentID = CalendarSueetieBlogPost.ContentID; this.Permalink = CalendarSueetieBlogPost.Permalink; this.SourceTitle = CalendarSueetieBlogPost.Title; } if (this.CalendarSueetieMediaAlbum != null) { this.SourceContentID = CalendarSueetieMediaAlbum.ContentID; this.Permalink = CalendarSueetieMediaAlbum.Permalink; this.SourceTitle = CalendarSueetieMediaAlbum.AlbumTitle; } if (this.CalendarSueetieWikiPage != null) { this.SourceContentID = CalendarSueetieWikiPage.ContentID; this.Permalink = CalendarSueetieWikiPage.Permalink; this.SourceTitle = CalendarSueetieWikiPage.PageTitle; } if (this.CalendarSueetieForumTopic != null) { this.SourceContentID = CalendarSueetieForumTopic.ContentID; this.Permalink = CalendarSueetieForumTopic.Permalink; this.SourceTitle = CalendarSueetieForumTopic.Topic; } #endregion if (IsUserCalendarEditor() && DisplayCalendarsPanel) { //this.Controls.Add(new LiteralControl(CalendarLibraryScript)); #region Get Calendar Event if Exists // Calendar Control uses Default Calendar Only in v2.0 SueetieCalendarEvent _sueetieCalendarEvent = SueetieCalendars.GetSueetieCalendarEvent(SourceContentID, 1, false); if (_sueetieCalendarEvent == null) { _sueetieCalendarEvent = new SueetieCalendarEvent { EventGuid = new Guid(EMPTYGUID) }; } else { _existingStartDate = _sueetieCalendarEvent.StartDateTime.ToShortDateString(); if (_sueetieCalendarEvent.StartDateTime.Hour > 0) { _exisitngStartTime = _sueetieCalendarEvent.StartDateTime.ToShortTimeString(); } if (_sueetieCalendarEvent.EndDateTime.Hour > 0) { _exisitngEndTime = _sueetieCalendarEvent.EndDateTime.ToShortTimeString(); } if (_sueetieCalendarEvent.RepeatEndDate.Year > 1969) { _existingEndRepeatDate = _sueetieCalendarEvent.RepeatEndDate.ToShortDateString(); } if (_sueetieCalendarEvent.EndDateTime.Date > _sueetieCalendarEvent.StartDateTime.Date) { _existingEndDate = _sueetieCalendarEvent.EndDateTime.ToShortDateString(); } } #endregion #region Load Script Logic // Moved to page to reduce duplication //if (LoadScriptLibraries) //{ // bool CalendarLibraryLoaded = false; // bool JQueryLibraryLoaded = false; // foreach (Control _control in this.Page.Header.Controls) // { // if (_control.GetType().Name == "LiteralControl") // { // string _js = ((LiteralControl)_control).Text; // if (_js.IndexOf("/SimpleDatePicker.js") > 0) // CalendarLibraryLoaded = true; // if (_js.IndexOf("/jquery.js") > 0) // JQueryLibraryLoaded = true; // } // } // if (!JQueryLibraryLoaded) // this.Page.Header.Controls.Add(new LiteralControl(JQueryLibraryScript)); // if (!CalendarLibraryLoaded) // this.Page.Header.Controls.Add(new LiteralControl(CalendarLibraryScript)); //} #endregion #region Create Form Elements this._lblNotes = new Label(); this._lblNotes.Text = SueetieLocalizer.GetString("calendar_editnotes"); this._lblNotes.CssClass = EditNotesAreaCssClass; this._lblRepeatDate = new Label(); this._lblRepeatDate.Text = SueetieLocalizer.GetString("calendar_label_repeatdate"); this._lblRepeatDate.CssClass = EditRepeatDateCssClass; this._lblStartEndTime = new Label(); this._lblStartEndTime.Text = SueetieLocalizer.GetString("calendar_label_startendtime"); this._lblStartEndTime.CssClass = EditStartEndTimeCssClass; this._lblStartDate = new Label(); this._lblStartDate.Text = SueetieLocalizer.GetString("calendar_label_startdate"); this._lblStartDate.CssClass = EditStartDateLabelCssClass; this._txtEventTitle = new TextBox(); this._txtEventTitle.CssClass = EventTitleTextBoxCssClass; this._txtEventTitle.Text = !string.IsNullOrEmpty(_sueetieCalendarEvent.EventTitle) ? _sueetieCalendarEvent.EventTitle : SourceTitle; this._txtEventDescription = new TextBox(); this._txtEventDescription.TextMode = TextBoxMode.MultiLine; this._txtEventDescription.CssClass = EventDescriptionTextAreaCssClass; this._txtEventDescription.Text = _sueetieCalendarEvent.EventDescription; this._calendarStart = new TextBox(); this._calendarStart.CssClass = EventStartDateTextBoxCssClass; this._calendarStart.Text = _existingStartDate; this._calendarEnd = new TextBox(); this._calendarEnd.CssClass = EventEndDateTextBoxCssClass; this._calendarEnd.Text = _existingEndDate; this._calendarRepeatEnd = new TextBox(); this._calendarRepeatEnd.CssClass = EventRepeatEndDateTextBoxCssClass; this._calendarRepeatEnd.Text = _existingEndRepeatDate; this._eventStartTime = new TextBox(); this._eventStartTime.CssClass = EventStartTimeTextBoxCssClass; this._eventStartTime.Text = _exisitngStartTime; this._eventEndTime = new TextBox(); this._eventEndTime.CssClass = EventEndTimeTextBoxCssClass; this._eventEndTime.Text = _exisitngEndTime; Literal ltStartEndDiv = new Literal(); ltStartEndDiv.Text = string.Format("<div class='{0}'></div>", this.EditStartEndTimeDivCssClass); Literal ltStartDateDiv = new Literal(); ltStartDateDiv.Text = string.Format("<div class='{0}'></div>", this.EditStartDateDivCssClass); Literal ltRepeatEndDateDiv = new Literal(); ltRepeatEndDateDiv.Text = string.Format("<div class='{0}'></div>", this.RepeatEndDateDivCssClass); Literal ltAsteriskTitle = new Literal(); ltAsteriskTitle.Text = "<span class='calendarAsterisk'>*</span>"; Literal ltAsteriskDate = new Literal(); ltAsteriskDate.Text = "<span class='calendarAsterisk'>*</span>"; Literal ltSubmitButton = new Literal(); Literal ltDeleteButton = new Literal(); Literal ltCancelButton = new Literal(); #endregion #region Add Form Elements this._panel = new HtmlGenericControl("div"); this._panel.Attributes.Add("class", EditPanelCssClass); this.Controls.Add(_panel); _panel.Controls.Add(_lblNotes); _panel.Controls.Add(_txtEventTitle); _panel.Controls.Add(ltAsteriskTitle); _panel.Controls.Add(_txtEventDescription); _panel.Controls.Add(ltStartDateDiv); _panel.Controls.Add(_lblStartDate); _panel.Controls.Add(_calendarStart); _panel.Controls.Add(ltAsteriskDate); _panel.Controls.Add(_calendarEnd); //_panel.Controls.Add(ltRepeatEndDateDiv); _panel.Controls.Add(_lblRepeatDate); _panel.Controls.Add(_calendarRepeatEnd); _panel.Controls.Add(ltStartEndDiv); _panel.Controls.Add(_lblStartEndTime); _panel.Controls.Add(_eventStartTime); _panel.Controls.Add(_eventEndTime); _panel.Controls.Add(ltSubmitButton); _panel.Controls.Add(ltDeleteButton); _panel.Controls.Add(ltCancelButton); this._imageButton = new ImageButton(); this._imageButton.ImageUrl = this.EditImageUrl; this._imageButton.CssClass = this.EditImageCssClass; this._imageButton.OnClientClick = string.Format("Toggle{0}_Click();return false;", this._txtEventTitle.ClientID); this.Controls.Add(_imageButton); #endregion #region Parse Script string _script = HANDLER_SCRIPT.Replace("{0}", this._txtEventTitle.ClientID); _script = _script.Replace("{1}", this._panel.ClientID); _script = _script.Replace("{2}", this._imageButton.ClientID); _script = _script.Replace("{3}", this._txtEventTitle.ClientID); _script = _script.Replace("{4}", this._txtEventDescription.ClientID); _script = _script.Replace("{5}", this._calendarStart.ClientID); _script = _script.Replace("{6}", this._calendarEnd.ClientID); _script = _script.Replace("{7}", this._calendarRepeatEnd.ClientID); _script = _script.Replace("{8}", this._eventStartTime.ClientID); _script = _script.Replace("{9}", this._eventEndTime.ClientID); if (UseJqueryPrefix) { _script = _script.Replace("$", "jQuery"); } this.Controls.Add(new LiteralControl(_script)); #endregion #region Submit string _submitText = SueetieLocalizer.GetString("calendar_button_add"); string _cancelText = SueetieLocalizer.GetString("calendar_button_cancel"); string _deleteText = SueetieLocalizer.GetString("calendar_button_delete"); //ws.CreateUpdateCalendarEvent(eventID, title, description, start, end, allDay, endRepeat, startTime, endTime); ltSubmitButton.Text = string.Format("<div class='{0}'><input type='submit' onclick='Submit{1}_Click(\"{2}\",\"{3}\");return false;' value='{4}' />", this.EditButtonAreaCssClass, this._txtEventTitle.ClientID, this.SourceContentID, this.Permalink, _submitText); ltDeleteButton.Text = string.Format("<input type='submit' onclick='delete{0}_Click(\"{1}\");return false;' value='{2}' />", this._txtEventTitle.ClientID, _sueetieCalendarEvent.EventGuid, _deleteText); ltCancelButton.Text = string.Format("<input type='submit' onclick='Toggle{0}_Click();return false;' value='{1}' /></div>", this._txtEventTitle.ClientID, _cancelText); #endregion } }
public string CreateUpdateCalendarEvent(int sourceContentID, string title, string description, string startDate, string endDate, string endRepeatDate, string startTime, string endTime, string url) { DateTime _startDate = DateTime.Parse(startDate).AddMinutes(EventTime(startTime)); DateTime _endDate = DateTime.Parse(startDate).AddMinutes(EventTime(endTime)); // Calendar Control uses Default Calendar Only in v2.0 SueetieCalendarEvent _sueetieCalendarEvent = SueetieCalendars.GetSueetieCalendarEvent(sourceContentID, 1); if (_sueetieCalendarEvent == null) { _sueetieCalendarEvent = new SueetieCalendarEvent { EventGuid = new Guid(EMPTYGUID) }; } int _currentSueetieUserID = SueetieContext.Current.User.UserID; if (!string.IsNullOrEmpty(endDate)) { _endDate = DateTime.Parse(endDate).AddMinutes(EventTime(endTime)); } SueetieCalendarEvent sueetieCalendarEvent = new SueetieCalendarEvent { EventGuid = _sueetieCalendarEvent.EventGuid, EventTitle = title, EventDescription = description, StartDateTime = _startDate, EndDateTime = _endDate, AllDayEvent = _startDate.Hour == 0 ? true : false, RepeatEndDate = DataHelper.SafeMinDate(endRepeatDate), CalendarID = 1, CreatedBy = _currentSueetieUserID, Url = url, SourceContentID = sourceContentID, IsActive = true }; string _result = SueetieLocalizer.GetString("calendar_created_success"); if (sueetieCalendarEvent.EventGuid != new Guid(EMPTYGUID)) { SueetieCalendars.UpdateSueetieCalendarEvent(sueetieCalendarEvent); _result = SueetieLocalizer.GetString("calendar_updated_success"); } else { sueetieCalendarEvent.EventGuid = Guid.NewGuid(); int eventID = SueetieCalendars.CreateSueetieCalendarEvent(sueetieCalendarEvent); SueetieContent sueetieContent = new SueetieContent { SourceID = eventID, ContentTypeID = (int)SueetieContentType.CalendarEvent, Permalink = url, ApplicationID = (int)SueetieApplicationType.Unknown, UserID = _currentSueetieUserID }; int contentID = SueetieCommon.AddSueetieContent(sueetieContent); if (SueetieContext.Current.User.IsContentAdministrator) { SueetieLogs.LogUserEntry(UserLogCategoryType.CalendarEvent, contentID, _currentSueetieUserID); } } SueetieCalendars.ClearSueetieCalendarEventListCache(1); return(_result); }