public BllObject NewObjectProperties(int parentId, bool pageOrTemplate) { var obj = BllObject.Create(parentId, pageOrTemplate); obj.PageTemplate = pageOrTemplate ? PageRepository.GetPagePropertiesById(parentId).PageTemplate : PageTemplateRepository.GetPageTemplatePropertiesById(parentId); return(obj); }
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 BllObject UpdateObjectProperties(BllObject bllObject, IEnumerable <int> activeStatuses) { var result = ObjectRepository.UpdateObjectProperties(bllObject); if (activeStatuses != null) { bllObject.BindWithStatuses(activeStatuses, bllObject.IsObjectContainerType); } return(result); }
internal static BllObject UpdateObjectProperties(BllObject bllObject) { var oldObject = GetObjectPropertiesById(bllObject.Id); var result = DefaultRepository.Update <BllObject, ObjectDAL>(bllObject); ManageObjectType(bllObject, oldObject, result); DeleteDefaultValues(result.Id); SetDefaultValues(bllObject.DefaultValues, result.Id); return(result); }
public BllObject SaveObjectProperties(BllObject bllObject, IEnumerable <int> activeStatuses, bool isReplayAction) { var result = ObjectRepository.SaveObjectProperties(bllObject); if (activeStatuses != null) { result.BindWithStatuses(activeStatuses, result.IsObjectContainerType); } CreateDefaultFormat(result, isReplayAction); return(result); }
private static IEnumerable <ListItem> GoThroughObjFormats(BllObject obj) { return(obj.ChildObjectFormats.Select(x => { var val = obj.DefaultFormatId == x.Id ? obj.Name : $"{obj.Name}.{x.Name}"; return new ListItem { Text = val, Value = val }; })); }
internal static ObjectViewModel Create(BllObject obj, string tabId, int parentId, IObjectService objectService) { var model = Create <ObjectViewModel>(obj, tabId, parentId); model._service = objectService; model._parentId = parentId; var activeStatuses = objectService.GetActiveStatusesByObjectId(model.Data.Id).OrderBy(x => x.Weight).ToList(); if (!activeStatuses.Any()) { activeStatuses.Add(BLL.StatusType.GetPublished(obj.PageTemplate.SiteId)); } model.ActiveStatusTypeIds = activeStatuses.Select(x => x.Id).ToList(); model.ActiveStatusTypeListItems = activeStatuses.Select(x => new ListItem { Value = x.Id.ToString(), Selected = true, Text = x.Name }).ToList(); model._parentTemplateObjects = new InitPropertyValue <List <BllObject> >(() => objectService.GetFreeTemplateObjectsByPageId(model._parentId).ToList()); model._sortingItems = new InitPropertyValue <IEnumerable <SortingItem> >(() => string.IsNullOrEmpty(model.Data.Container?.OrderStatic) ? Enumerable.Empty <SortingItem>() : SortingItemHelper.Deserialize(model.Data.Container.OrderStatic)); model._netLanguages = new InitPropertyValue <List <ListItem> >(() => objectService.GetNetLanguagesAsListItems().ToList()); model.EntityDataListArgs = new EntityDataListArgs { EntityTypeCode = Constants.EntityTypeCode.StatusType, ParentEntityId = model.Data.Container?.Content?.WorkflowBinding?.WorkflowId ?? 0, SelectActionCode = Constants.ActionCode.MultipleSelectStatusesForWorkflow, ListId = -1 * DateTime.Now.Millisecond, MaxListHeight = 200, MaxListWidth = 350 }; model.PublishedId = objectService.GetPublishedStatusIdBySiteId(model.Data.PageTemplate.SiteId); model.SelectionIsStarting = string.IsNullOrEmpty(model.Data.Container.SelectStart) ? ArticleSelectionMode.FromTheFirstArticle : ArticleSelectionMode.FromTheSpecifiedArticle; model.SelectionIncludes = string.IsNullOrEmpty(model.Data.Container.SelectTotal) ? ArticleSelectionIncludeMode.AllArticles : ArticleSelectionIncludeMode.SpecifiedNumberOfArticles; if (string.IsNullOrEmpty(model.Data.Container.SelectStart)) { model.Data.Container.SelectStart = "1"; } if (string.IsNullOrEmpty(model.Data.Container.SelectTotal)) { model.Data.Container.SelectTotal = "10"; } if (!model.Data.Container.Duration.HasValue) { model.Data.Container.Duration = 10; } return(model); }
private static void ManageObjectType(BllObject newObject, BllObject oldObject, BllObject result) { if (newObject.TypeId != oldObject.TypeId) //object type was changed { if (oldObject.IsObjectContainerType) { DeleteContainer(oldObject.Id); } else if (oldObject.IsObjectFormType) { DeleteForm(oldObject.Id); } if (newObject.IsObjectContainerType) { newObject.Container.ObjectId = result.Id; result.Container = SaveContainer(newObject.Container); // ReSharper disable once PossibleInvalidOperationException result.Container.Content = ContentRepository.GetById(result.Container.ContentId.Value); } else if (newObject.IsObjectFormType) { newObject.ContentForm.ObjectId = result.Id; result.ContentForm = SaveContentForm(newObject.ContentForm); // ReSharper disable once PossibleInvalidOperationException result.ContentForm.Content = ContentRepository.GetById(result.ContentForm.ContentId.Value); } } else // just update form or container { if (newObject.IsObjectFormType) { result.ContentForm = oldObject.ContentForm.ContentId == null?SaveContentForm(newObject.ContentForm) : UpdateForm(newObject.ContentForm); } if (newObject.IsObjectContainerType) { result.Container = oldObject.Container.ContentId == null?SaveContainer(newObject.Container) : UpdateContainer(newObject.Container); } } }
private int?CreateDefaultFormat(BllObject bllObject, bool isReplayAction) { var template = PageTemplateRepository.GetPageTemplatePropertiesById(bllObject.PageTemplateId); var format = ObjectFormat.Create(bllObject.Id, bllObject.PageOrTemplate, template.SiteIsDotNet); format.Name = "default"; if (template.SiteIsDotNet) { format.NetFormatName = "default"; } else { format.NetLanguageId = template.NetLanguageId; } var netLanguagePrefix = GetLangPrefix(template.NetLanguageId); var pathToCopy = SitePathRepository.GetDirectoryPathToCopy() + "\\default\\"; if (template.NetLanguageId != null && !isReplayAction) { if (bllObject.IsGenericType) { format.CodeBehind = ReadFileAsString(string.Format("{0}generic_code_{1}.txt", pathToCopy, netLanguagePrefix)); } else if (bllObject.IsObjectContainerType) { format.CodeBehind = ReadFileAsString(string.Format("{0}container_code_{1}.txt", pathToCopy, netLanguagePrefix)); format.FormatBody = ReadFileAsString(string.Format("{0}container_presentation.txt", pathToCopy)); } } format = FormatRepository.SaveObjectFormatProperties(format); bllObject.DefaultFormatId = format.Id; ObjectRepository.UpdateDefaultFormatId(bllObject.Id, format.Id); return(format.Id); }
internal static BllObject SaveObjectProperties(BllObject bllObject) { var result = DefaultRepository.Save <BllObject, ObjectDAL>(bllObject); if (bllObject.IsObjectContainerType) { bllObject.Container.ObjectId = result.Id; result.Container = SaveContainer(bllObject.Container); } else if (bllObject.IsObjectFormType) { bllObject.ContentForm.ObjectId = result.Id; result.ContentForm = SaveContentForm(bllObject.ContentForm); } if (bllObject.DefaultValues != null && bllObject.DefaultValues.Any()) { SetDefaultValues(bllObject.DefaultValues, result.Id); } return(result); }
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); }
private void CopyObjectValues(int newObjId, BllObject oldObject) { oldObject.InitDefaultValues(); ObjectRepository.SetDefaultValues(oldObject.DefaultValues, newObjId); }