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); }
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); }