private int CopyObject(BllObject sourceObj) { var tempObj = ObjectRepository.GetObjectPropertiesById(sourceObj.Id); tempObj.Id = 0; tempObj.PageId = DestinationId; tempObj.LockedBy = 0; var newObj = DefaultRepository.Save <BllObject, ObjectDAL>(tempObj); if (sourceObj.IsObjectContainerType) { CopyContainer(newObj.Id, sourceObj.Container); CopyContainerStatuses(newObj.Id, sourceObj.Id); } else if (sourceObj.IsObjectFormType) { CopyContentForm(newObj.Id, sourceObj.ContentForm); } var formats = ObjectFormatRepository.GetFormatsByObjectId(sourceObj.Id); var newDefFormatId = CopyObjectFormats(newObj.Id, sourceObj); if (newDefFormatId != 0) { ObjectRepository.UpdateDefaultFormatId(newObj.Id, newDefFormatId); } CopyObjectValues(newObj.Id, sourceObj); return(newObj.Id); }
public static int CopySiteTemplates(int sourceSiteId, int destinationSiteId, int templateNumber) { var templateIdNew = PageTemplateRepository.CopySiteTemplates(sourceSiteId, destinationSiteId, templateNumber); var relBetweenTemplates = PageTemplateRepository.GetRelationsBetweenTemplates(sourceSiteId, destinationSiteId, templateIdNew); var relBetweenContents = ContentRepository.GetRelationsBetweenContentsXml(sourceSiteId, destinationSiteId, string.Empty); PageRepository.CopySiteTemplatePages(sourceSiteId, destinationSiteId, relBetweenTemplates); var relBetweenPages = PageRepository.GetRelationsBetweenPages(relBetweenTemplates); ObjectRepository.CopySiteTemplateObjects(relBetweenTemplates, relBetweenPages, out var relBetweenObjects); ObjectFormatRepository.CopySiteTemplateObjectFormats(relBetweenObjects, out var relBetweenObjectFormats); ObjectRepository.CopySiteUpdateObjects(relBetweenObjectFormats, relBetweenObjects); ObjectRepository.CopySiteObjectValues(relBetweenObjects); ObjectRepository.CopySiteContainers(relBetweenObjects, relBetweenContents); var relBetweenStatuses = ContentRepository.GetRelationsBetweenStatuses(sourceSiteId, destinationSiteId); ObjectRepository.CopyContainerStatuses(relBetweenStatuses, relBetweenObjects); NotificationRepository.CopySiteUpdateNotifications(relBetweenObjectFormats, relBetweenContents); return(templateIdNew != 0 ? 1 : 0); }
public string ReadDefaultPresentation(int formatId) { var format = ObjectFormatRepository.ReadObjectFormat(formatId, true); var obj = ObjectRepository.GetObjectPropertiesById(format.ParentEntityId); var pathToCopy = SitePathRepository.GetDirectoryPathToCopy() + Path.DirectorySeparatorChar + "default" + Path.DirectorySeparatorChar; return(obj.IsObjectContainerType ? ReadFileAsString($"{pathToCopy}container_presentation.txt") : string.Empty); }
public string ReadDefaultCode(int formatId) { var format = ObjectFormatRepository.ReadObjectFormat(formatId, true); var obj = ObjectRepository.GetObjectPropertiesById(format.ParentEntityId); var netLanguagePrefix = GetLangPrefix(format.NetLanguageId); var pathToCopy = SitePathRepository.GetDirectoryPathToCopy() + Path.DirectorySeparatorChar + "default" + Path.DirectorySeparatorChar; return(ReadFileAsString(obj.IsObjectContainerType ? $"{pathToCopy}container_code_{netLanguagePrefix}.txt" : $"{pathToCopy}generic_code_{netLanguagePrefix}.txt")); }
public NotificationObjectFormat UpdateNotificationTemplateFormat(NotificationObjectFormat item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } return(ObjectFormatRepository.UpdateNotificationTemplateFormat(item)); }
public ObjectFormatVersion GetMergedObjectFormatVersion(int[] ids, int parentId, bool pageOrTemplate) { if (ids == null) { throw new ArgumentNullException(nameof(ids)); } if (ids.Length != 2) { throw new ArgumentException("Wrong ids length"); } var result = GetOrderedIds(ids); var version1 = PageTemplateRepository.ReadFormatVersion(result.Item1); if (version1 == null) { throw new Exception(string.Format(TemplateStrings.FormatVersionNotFoundForFormat, result.Item1, parentId)); } ObjectFormatVersion version2; if (result.Item2 == ObjectFormatVersion.CurrentVersionId) { var parent = ObjectFormatRepository.ReadObjectFormat(parentId, pageOrTemplate); if (parent == null) { throw new Exception(string.Format(TemplateStrings.FormatNotFound, parentId)); } version2 = new ObjectFormatVersion { Name = parent.Name, NetFormatName = parent.NetFormatName, Description = parent.Description, NetLanguage = parent.NetLanguageId.HasValue ? PageTemplateRepository.GetNetLanguageById(parent.NetLanguageId.Value) : null, FormatBody = parent.FormatBody, CodeBehind = parent.CodeBehind, LastModifiedByUser = parent.LastModifiedByUser, Modified = parent.Modified }; } else { version2 = PageTemplateRepository.ReadFormatVersion(result.Item2); if (version2 == null) { throw new Exception(string.Format(TemplateStrings.FormatVersionNotFoundForFormat, result.Item2, parentId)); } } version1.MergeToVersion(version2); return(version1); }
public void CancelFormat(int id, bool pageOrTemplate) { var format = ObjectFormatRepository.ReadObjectFormat(id, pageOrTemplate); if (format == null) { throw new ApplicationException(string.Format(TemplateStrings.FormatNotFound, id)); } format.AutoUnlock(); }
public void CaptureLockPageObjectFormat(int id) { var format = ObjectFormatRepository.ReadObjectFormat(id, false); if (format == null) { throw new Exception(string.Format(TemplateStrings.FormatNotFound, id)); } if (format.CanBeUnlocked) { EntityObjectRepository.CaptureLock(format); } }
/// <summary> /// Возвращает упрощенный список сущностей /// </summary> public static List <ListItem> SimpleList(SimpleListQuery query) { var itemList = new List <ListItem>(); if (query.EntityTypeCode == EntityTypeCode.ContentGroup) { itemList = ContentRepository.GetGroupSimpleList(query.ParentEntityId, query.SelectedEntitiesIds).ToList(); } else if (query.EntityTypeCode == EntityTypeCode.Article || query.EntityTypeCode == EntityTypeCode.ArchiveArticle) { itemList = ArticleRepository.GetSimpleList(query); } else if (query.EntityTypeCode == EntityTypeCode.Content) { itemList.AddRange(ContentRepository.GetSimpleList(query.ParentEntityId, query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.Site) { itemList.AddRange(SiteRepository.GetSimpleList(query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.User) { itemList.AddRange(UserRepository.GetSimpleList(query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.UserGroup) { itemList.AddRange(UserGroupRepository.GetSimpleList(query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.TemplateObjectFormat) { itemList.AddRange(ObjectFormatRepository.GetObjectFormats(query.ParentEntityId, query.ActualListId, query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.Page) { itemList.AddRange(PageTemplateRepository.GetPageSimpleList(query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.StatusType) { itemList.AddRange(StatusTypeRepository.GetStatusSimpleList(query.SelectedEntitiesIds)); } else if (query.EntityTypeCode == EntityTypeCode.Field) { itemList.AddRange(FieldRepository.GetList(query.SelectedEntitiesIds).Select(c => new ListItem(c.Id.ToString(), c.Name))); } return(itemList); }
/// <summary> /// Возвращает упрощенный список сущностей /// </summary> /// <param name="entityTypeCode">код типа сущности</param> /// <param name="parentEntityId">идентификатор родительской сущности</param> /// <param name="entityId">идентификатор сущности</param> /// <param name="listId">дополнительный параметр для идентификации списка</param> /// <param name="selectionMode">режим выделения списка</param> /// <param name="selectedEntitiesIDs">идентификаторы выбранных сущностей</param> /// <param name="filter"></param> /// <param name="testEntityId"></param> /// <returns>упрощенный список сущностей</returns> public static List <ListItem> SimpleList(string entityTypeCode, int parentEntityId, int?entityId, int?listId, ListSelectionMode selectionMode, int[] selectedEntitiesIDs, string filter, int testEntityId) { var itemList = new List <ListItem>(); if (entityTypeCode == EntityTypeCode.ContentGroup) { itemList = ContentRepository.GetGroupSimpleList(parentEntityId, selectedEntitiesIDs).ToList(); } else if (entityTypeCode == EntityTypeCode.Article || entityTypeCode == EntityTypeCode.ArchiveArticle) { itemList = ArticleRepository.GetSimpleList(parentEntityId, entityId, listId, selectionMode, selectedEntitiesIDs, filter, testEntityId); } else if (entityTypeCode == EntityTypeCode.Content) { itemList.AddRange(ContentRepository.GetSimpleList(parentEntityId, selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.Site) { itemList.AddRange(SiteRepository.GetSimpleList(selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.User) { itemList.AddRange(UserRepository.GetSimpleList(selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.UserGroup) { itemList.AddRange(UserGroupRepository.GetSimpleList(selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.TemplateObjectFormat) { itemList.AddRange(ObjectFormatRepository.GetObjectFormats(parentEntityId, listId, selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.Page) { itemList.AddRange(PageTemplateRepository.GetPageSimpleList(selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.StatusType) { itemList.AddRange(StatusTypeRepository.GetStatusSimpleList(selectedEntitiesIDs)); } else if (entityTypeCode == EntityTypeCode.Field) { itemList.AddRange(FieldRepository.GetList(selectedEntitiesIDs).Select(c => new ListItem(c.Id.ToString(), c.Name))); } return(itemList); }
public ObjectFormat ReadFormatProperties(int id, bool pageOrTemplate, bool withAutoLock = true) { var format = ObjectFormatRepository.ReadObjectFormat(id, pageOrTemplate); if (format == null) { throw new ApplicationException(string.Format(TemplateStrings.FormatNotFound, id)); } if (withAutoLock) { format.AutoLock(); } format.LoadLockedByUser(); format.PageOrTemplate = pageOrTemplate; format.ReplacePlaceHoldersToUrls(); return(format); }
private static void ManageFormatSearchItemsDescription(IEnumerable <ObjectFormatSearchResultListItem> data, string filter) { if (string.IsNullOrWhiteSpace(filter)) { return; } foreach (var item in data) { var format = ObjectFormatRepository.ReadObjectFormat(item.Id, true); if (!string.IsNullOrWhiteSpace(format.CodeBehind) && format.CodeBehind.Contains(filter)) { item.Description = FoundTextMarker.GetSimpleRelevantMarkedText(WebUtility.HtmlEncode(format.CodeBehind), filter, 20, "<span class='seachResultHighlight'>", "</span>"); continue; } if (!string.IsNullOrWhiteSpace(format.FormatBody) && format.FormatBody.Contains(filter)) { item.Description = FoundTextMarker.GetSimpleRelevantMarkedText(WebUtility.HtmlEncode(format.FormatBody), filter, 20, "<span class='seachResultHighlight'>", "</span>"); } } }
public MessageResult RemoveObjectFormat(int id, bool pageOrTemplate) { var format = ObjectFormatRepository.ReadObjectFormat(id, pageOrTemplate); if (format == null) { throw new ApplicationException(string.Format(TemplateStrings.FormatNotFound, id)); } if (format.LockedByAnyoneElse) { return(MessageResult.Error(string.Format(TemplateStrings.LockedByAnyoneElse, format.LockedByDisplayName))); } if (format.Notifications.Any()) { return(MessageResult.Error(TemplateStrings.UnableToDeleteFormat)); } ManagePageAndObjectModified(format); PageTemplateRepository.DeleteObjectFormat(id); return(null); }
private int CopyObjectFormats(int newObjId, BllObject oldObj) { var result = 0; var formats = ObjectFormatRepository.GetFormatsByObjectId(oldObj.Id); foreach (var frmt in formats) { frmt.Id = 0; frmt.ObjectId = newObjId; frmt.LockedBy = 0; if (frmt.Id == oldObj.DefaultFormatId) { result = FormatRepository.SaveObjectFormatProperties(frmt).Id; } else { FormatRepository.SaveObjectFormatProperties(frmt); } } return(result); }
public IEnumerable <ListItem> GetObjectFormatsAsListItemsByContentId(int contentId) => ObjectFormatRepository.GetObjectFormats(0, contentId, new int[] { });
public bool IsSiteDotNetByObjectFormatId(int objectFormatId) => ObjectFormatRepository.IsSiteDotNeByObjectFormatId(objectFormatId);
private static int CreateDefaultFormat(int contentId, string backendUrl, string currentCustomerCode) => ObjectFormatRepository.CreateDefaultFormat(contentId, backendUrl, currentCustomerCode);
public NotificationObjectFormat ReadNotificationTemplateFormat(int id) => ObjectFormatRepository.ReadNotificationTemplateFormat(id);