protected void Save_OnClick(object sender, EventArgs e) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); IEnumerable <UserMedia> UserMediaDetails = UserPermissionsSelector.GetUserMediaDetails(); User User = UserPermissionsSelector.GetSelectedUser(); IEnumerable <UserMedia> removeItems = selectedItem.Media.UsersMedias.Where(i => i.UserID == User.ID); foreach (UserMedia removeItem in removeItems) { UsersMediasMapper.DeletePermanently(removeItem); } foreach (UserMedia UserMediaDetail in UserMediaDetails) { selectedItem.Media.UsersMedias.Add(UserMediaDetail); } Return obj = MediaDetailsMapper.Update(selectedItem); if (obj.IsError) { BasePage.DisplayErrorMessage("Error assigning User", obj.Error); } else { BasePage.DisplaySuccessMessage("Successfully assigned User"); Bind(); EditPanel.Visible = false; } }
public void SetItem(IMediaDetail mediaDetail) { if (mediaDetail == null) { return; } Link.NavigateUrl = URIHelper.ConvertToAbsUrl(mediaDetail.AutoCalculatedVirtualPath); var title = mediaDetail.SectionTitle; var shortDescription = mediaDetail.ShortDescription; var maxCharsTitle = 40; var maxCharsShortDescription = 116; if (title.Length > maxCharsTitle) { title = title.Substring(0, maxCharsTitle); } if (shortDescription.Length > maxCharsShortDescription) { shortDescription = shortDescription.Substring(0, maxCharsShortDescription) + " ..."; } Link.Attributes["title"] = "<span class='toolTipTitle'>" + title + "</span><br />" + shortDescription; }
private void HandleDelete(IEnumerable <UserMedia> selectedUserMediaDetails) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); Return obj = BaseMapper.GenerateReturn(); foreach (UserMedia selectedUserMediaDetail in selectedUserMediaDetails) { UserMedia item = BaseMapper.GetObjectFromContext(selectedUserMediaDetail); selectedItem.Media.UsersMedias.Remove(selectedUserMediaDetail); obj = UsersMediasMapper.DeletePermanently(selectedUserMediaDetail); if (obj.IsError) { break; } } if (obj.IsError) { BasePage.DisplayErrorMessage("Error deleting association", obj.Error); } else { BasePage.DisplaySuccessMessage("Successfully deleted association"); Bind(); } }
private void UserMustHaveAccessTo(IMediaDetail detail) { if (FrameworkSettings.CurrentUser == null || !detail.CanUserAccessSection(FrameworkSettings.CurrentUser)) { throw AccessDeniedException(detail); } }
/*protected override void OnPreRender(EventArgs e) * { * base.OnPreRender(e); * * if (!IsPostBack) * UpdateFieldsFromObject(); * }*/ private void UpdateSectionTitles() { string title = ""; string sectionTitle = ""; if (selectedItem.ID == 0) { string under = "Root"; IMediaDetail atleastOne = null; if (parentMediaItem != null) { atleastOne = MediaDetailsMapper.GetAtleastOneByMedia(parentMediaItem, CurrentLanguage); } if ((parentMediaItem != null) && (atleastOne != null)) { under = atleastOne.LinkTitle; } sectionTitle = "Creating: <span>New Media of Type '" + MediaTypesMapper.GetByID(mediaTypeId).Name + "' Under '" + under + "' with Language '" + CurrentLanguage.Name + "'</span>"; title = StringHelper.StripHtmlTags(sectionTitle); } else { title = "Editing: " + selectedItem.LinkTitle; sectionTitle = "Editing: <span>" + selectedItem.LinkTitle + "</span>"; } this.Page.Title = title; this.SectionTitle.Text = sectionTitle; }
private void HandleDelete(IEnumerable <RoleMedia> RoleMediaDetails) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); Role role = null; Return obj = BaseMapper.GenerateReturn(); foreach (RoleMedia RoleMediaDetail in RoleMediaDetails) { obj = RolesMediasMapper.DeletePermanently(RoleMediaDetail); role = RoleMediaDetail.Role; } if (!obj.IsError) { IEnumerable <UserMedia> userMediaDetails = selectedItem.Media.UsersMedias.Where(i => i.User.IsInRole(role)); foreach (UserMedia userMediaDetail in userMediaDetails) { UsersMediasMapper.DeletePermanently(userMediaDetail); } Bind(); } if (obj.IsError) { BasePage.DisplayErrorMessage("Error deleting association", obj.Error); } else { BasePage.DisplaySuccessMessage("Successfully deleted association"); Bind(); } }
private void SetDeleteStatus(IMediaDetail detail, bool isDeleted) { UserMustHaveAccessTo(detail); if (!FrameworkSettings.CurrentUser.HasPermission(PermissionsEnum.Delete)) { throw new Exception("You do not have the appropriate permissions to delete/undelete items"); } detail = BaseMapper.GetObjectFromContext((MediaDetail)detail); detail.IsDeleted = isDeleted; Return returnObj = MediaDetailsMapper.Update(detail); if (returnObj.IsError) { throw returnObj.Error.Exception; } else { ContextHelper.ClearAllMemoryCache(); detail.RemoveFromCache(); FileCacheHelper.DeleteCacheDir("generatenav"); } }
public void SetObject(IMediaDetail selectedItem) { this.selectedItem = selectedItem; if (selectedItem.ID != 0) { var allMediaTypes = MediaTypesMapper.GetDataModel().MediaTypes.Where(i => i.IsActive); var allowedMediaTypes = new List <MediaType>(); foreach (var mediaType in allMediaTypes) { MediaTypeEnum mediaTypeEnum = MediaTypeEnum.Page; Enum.TryParse(mediaType.Name, out mediaTypeEnum); var tmpMediaDetail = MediaDetailsMapper.CreateObject(mediaTypeEnum); if (tmpMediaDetail.GetType() == selectedItem.GetType()) { allowedMediaTypes.Add(mediaType); } } MediaTypes.DataSource = allowedMediaTypes; MediaTypes.DataTextField = "Name"; MediaTypes.DataValueField = "ID"; MediaTypes.DataBind(); } //UpdateFieldsFromObject(); }
public void UpdateFieldsFromObject() { IMediaDetail item = (IMediaDetail)SelectedItem; if ((item.ID == 0) && (item.LinkTitle == null || item.LinkTitle == "")) { var mediaType = MediaTypesMapper.GetByID(item.MediaTypeID); var createdItems = mediaType.MediaDetails.Where(i => !i.IsHistory && i.Media.ParentMediaID == item.Media.ParentMediaID && i.LanguageID == AdminBasePage.CurrentLanguage.ID).Select(i => i); var newIndex = createdItems.Count() + 1; item.LinkTitle = AdminBasePage.CurrentLanguage.DisplayName + " - " + mediaType.Name + " " + newIndex; } LinkTitle.Text = item.LinkTitle; var virtualPath = item.AutoCalculatedVirtualPath; /*if (LanguagesMapper.GetAllActive().Count() > 1) * virtualPath = URIHelper.ConvertAbsUrlToTilda(URIHelper.ConvertToAbsUrl(virtualPath).Replace(URIHelper.BaseUrl, URIHelper.BaseUrlWithLanguage));*/ VirtualPath.Text = virtualPath; VirtualPath.NavigateUrl = URIHelper.ConvertToAbsUrl(virtualPath) + "?version=" + item.HistoryVersionNumber; UpdateTags(); UpdateTabsFieldsFromObject(); UpdateMediaFieldsFromObject(); //SEOSettingsTab.UpdateFieldsFromObject(); //PublishSettingsTab.UpdateFieldsFromObject(); }
private Return SaveHistory(IMediaDetail history) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); history.HistoryForMediaDetailID = selectedItem.ID; if (selectedItem.History.Count == 0) { history.HistoryVersionNumber = 1; } else { history.HistoryVersionNumber = selectedItem.History.OrderByDescending(i => i.HistoryVersionNumber).Take(1).FirstOrDefault().HistoryVersionNumber + 1; } if (selectedItem.History.Count >= MediaDetailsMapper.MaxHistory) { int count = selectedItem.History.Count - MediaDetailsMapper.MaxHistory; IEnumerable <MediaDetail> items = selectedItem.History.OrderBy(i => i.HistoryVersionNumber).Take(count); foreach (MediaDetail item in items) { if (!item.IsDraft) { MediaDetailsMapper.ClearObjectRelations(item); MediaDetailsMapper.DeleteObjectFromContext(item); } } } /*if (history.MainContent.Trim() == "") * history.MainContent = "TBD";*/ return(MediaDetailsMapper.Insert(history)); }
public bool CanRenderAddToCartButton(IMediaDetail detail) { CartItem foundItem = GetCartItemByDetail(detail); if (detail == null) { return(false); } if (!detail.CanAddToCart) { return(false); } if (detail.QuantityInStock <= 0) { return(false); } if ((foundItem != null) && (detail.QuantityInStock <= foundItem.Quantity)) { return(false); } return(true); }
protected void Save_OnClick(object sender, EventArgs e) { selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); IEnumerable <RoleMedia> RoleMediaDetails = RolePermissionsSelector.GetRoleMediaDetails(); Role role = RolePermissionsSelector.GetSelectedRole(); IEnumerable <RoleMedia> removeItems = selectedItem.Media.RolesMedias.Where(i => i.RoleID == role.ID); foreach (RoleMedia removeItem in removeItems) { RolesMediasMapper.DeletePermanently(removeItem); } foreach (RoleMedia RoleMediaDetail in RoleMediaDetails) { selectedItem.Media.RolesMedias.Add(RoleMediaDetail); } Return obj = MediaDetailsMapper.Update(selectedItem); if (obj.IsError) { BasePage.DisplayErrorMessage("Error assigning role", obj.Error); } else { BasePage.DisplaySuccessMessage("Successfully assigned role"); Bind(); EditPanel.Visible = false; } }
private bool SearchWithinMediaDetail(IMediaDetail mediaDetail, string filterText) { if (mediaDetail == null) { return(false); } if (mediaDetail.HistoryVersionNumber == 0 && mediaDetail.MediaID.ToString() == filterText || mediaDetail.SearchForTerm(filterText) || mediaDetail.Fields.Any(j => j.FieldValue.Contains(filterText))) { return(true); } foreach (var fieldAssociation in mediaDetail.Fields.SelectMany(i => i.FieldAssociations)) { if (fieldAssociation.MediaDetail.ID == mediaDetail.ID) { continue; } if (SearchWithinMediaDetail(fieldAssociation.MediaDetail, filterText)) { return(true); } } return(false); }
private JsTreeNode GetJsTreeNode(IMediaDetail mediaDetail) { var jsTreeNode = new JsTreeNode(); UpdateTreeNode(jsTreeNode, mediaDetail); return(jsTreeNode); }
private string ConvertMediaDetailToSiteMapXmlEntry(IMediaDetail mediaDetail) { var entryXML = $@"<url> <loc>{mediaDetail.AbsoluteUrl}</loc> </url>"; return(entryXML); }
public void GetFieldsByID(long id) { string json = ""; IMediaDetail detail = MediaDetailsMapper.GetByID(id); WriteJSON(json); }
public static FrameworkBaseMedia GetInstanceByMediaDetail(IMediaDetail mediaDetail) { if (FrameworkSettings.Current != null) { return(FrameworkSettings.Current); } return(new FrameworkBaseMedia(mediaDetail)); }
public void RemoveItem(IMediaDetail item) { CartItem foundItem = items.Where(i => i.Item.ID == item.ID).FirstOrDefault(); if (foundItem != null) { items.Remove(foundItem); } }
public void SetObject(IMediaDetail selectedItem) { this.selectedItem = selectedItem; if (MediaFieldsEditor != null) { Bind(); } }
public static Media GetByMediaDetail(IMediaDetail mediaDetail) { if (mediaDetail == null) { return(null); } return(GetDataModel().AllMedia.FirstOrDefault(item => item.ID == mediaDetail.MediaID)); }
private string ConvertMediaDetailToSiteMapXmlEntry(IMediaDetail mediaDetail) { var entryXML = $@"<url> <loc>{mediaDetail.AbsoluteUrl}</loc> <lastmod>{mediaDetail.DateLastModified.ToString("o")}</lastmod> </url>"; return(entryXML); }
public void SetObject(IMediaDetail selectedItem) { this.selectedItem = selectedItem; if (selectedItem.LanguageID != LanguagesMapper.GetDefaultLanguage().ID) { UseDefaultLanguageLayoutsToggleWrapper.Visible = true; } }
private void Bind() { if (item == null) { item = BasePage.CurrentMediaDetail; } RelatedItemsList.DataSource = MediaDetailsMapper.GetRelatedItems(item).ToList(); RelatedItemsList.DataBind(); }
public RssItem(IMediaDetail mediaDetail) { this.Title = mediaDetail.SectionTitle; this.Author = mediaDetail.CreatedByUser.UserName; this.Description = mediaDetail.ShortDescription; this.Link = mediaDetail.AbsoluteUrl; this.PubDate = ((DateTime)mediaDetail.PublishDate).ToString("r"); this.ObjectReference = mediaDetail; this.Updated = mediaDetail.DateLastModified.ToString("r"); }
public void SetItem(IMediaDetail item) { this.selectedItem = item; var mediaTypeRoles = MediaTypesMapper.GetByID(item.MediaTypeID).GetRoles(); if (mediaTypeRoles.Count() > 0) { RolePermissionsSelector.SetRoles(mediaTypeRoles); } }
private Exception AccessDeniedException(IMediaDetail detail = null) { if (detail == null) { return(new Exception("You do not have the appropriate permissions to perform this operation")); } else { return(new Exception($"You do not have the appropriate permissions to perform this operation on '{detail.SectionTitle}'")); } }
public void CopyProperties(IMediaDetail toItem, IMediaDetail fromItem) { foreach (var field in fromItem.Fields) { var newField = new MediaDetailField(); var foundField = toItem.Fields.FirstOrDefault(i => i.FieldCode == field.FieldCode); if (foundField != null) { newField = foundField; } newField.CopyFrom(field); foreach (var fieldAssociation in field.FieldAssociations) { var newFieldAssociation = new FieldAssociation(); newFieldAssociation.CopyFrom(fieldAssociation); var associatedMediaDetail = (MediaDetail)MediaDetailsMapper.GetByID(newFieldAssociation.AssociatedMediaDetailID); if (associatedMediaDetail == null) { continue; } if (!associatedMediaDetail.MediaType.ShowInSiteTree) { newFieldAssociation.MediaDetail = (MediaDetail)MediaDetailsMapper.CreateObject(associatedMediaDetail.MediaType.ID, MediasMapper.CreateObject(), associatedMediaDetail.Media.ParentMedia); newFieldAssociation.MediaDetail.CopyFrom(associatedMediaDetail); newFieldAssociation.MediaDetail.DateCreated = newFieldAssociation.MediaDetail.DateLastModified = DateTime.Now; newFieldAssociation.MediaDetail.CreatedByUser = newFieldAssociation.MediaDetail.LastUpdatedByUser = FrameworkSettings.CurrentUser; CopyProperties(newFieldAssociation.MediaDetail, associatedMediaDetail); } /*if (newFieldAssociation.MediaDetail != null) * { * newFieldAssociation.MediaDetail.HistoryForMediaDetailID = fieldAssociation.AssociatedMediaDetailID; * newFieldAssociation.MediaDetail.HistoryVersionNumber = newFieldAssociation.MediaDetail.HistoryVersionNumber + 1; * }*/ newField.FieldAssociations.Add(newFieldAssociation); } if (newField.ID == 0) { toItem.Fields.Add(newField); } } }
protected void PublishNow_OnClick(object sender, EventArgs e) { if (!CurrentUser.HasPermission(PermissionsEnum.Publish)) { DisplayErrorMessage("Error publishing item", ErrorHelper.CreateError(new Exception("You do not have the appropriate permissions to publish items"))); return; } selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)selectedItem); if (selectedItem == null) { return; } var mediaType = MediaTypesMapper.GetByID(selectedItem.MediaTypeID); selectedItem.PublishDate = DateTime.Now; if (selectedItem.ExpiryDate != null) { selectedItem.ExpiryDate = null; } selectedItem.ShowInMenu = mediaType.ShowInMenu; selectedItem.ShowInSearchResults = mediaType.ShowInSearchResults; selectedItem.EnableCaching = mediaType.EnableCaching; Return returnObj = MediaDetailsMapper.Update(selectedItem); if (returnObj.IsError) { DisplayErrorMessage("Error Publishing Item", returnObj.Error); } else { DisplaySuccessMessage("Successfully Published Item"); var mediaId = (selectedItem.Media.ParentMediaID != null) ? selectedItem.Media.ParentMediaID : selectedItem.MediaID; ExecuteRawJS("RefreshSiteTreeNodeById(" + mediaId + "); ReloadPreviewPanel();"); UpdateFieldsFromObject(); PublishNow.Visible = false; ContextHelper.Clear(ContextType.Cache); FileCacheHelper.ClearAllCache(); } UpdateFieldsFromObject(); OnPublishExecuteCode(); }
public KeyValuePair <IMediaDetail, User> IsCheckedOut(IMediaDetail detail) { foreach (KeyValuePair <IMediaDetail, User> item in CheckedOutItems) { if (item.Key.ID == detail.ID) { return(item); } } return(default(KeyValuePair <IMediaDetail, User>)); }
public override void SetObject(IMediaDetail obj) { //base.SetObject(obj); //SEOSettingsTab.SetObject(obj); //PublishSettingsTab.SetObject(obj); BindMediaFields(); LoadTabs(); UpdateFieldsFromObject(); }