コード例 #1
0
ファイル: PageCopyHelper.cs プロジェクト: AuthorProxy/QP
        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);
        }
コード例 #2
0
ファイル: PageCopyHelper.cs プロジェクト: AuthorProxy/QP
        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);
        }