protected override void PrepareDataObjectForEdit(ICSSoft.STORMNET.DataObject dobject) { // *** Start programmer edit section *** (PrepareDataObjectForEdit (DataObject) start) // *** End programmer edit section *** (PrepareDataObjectForEdit (DataObject) start) m_objView = ICSSoft.STORMNET.Information.GetView("MainObjE", typeof(SimpleTestAuditProject.MainObj)); if (((dobject.GetStatus(false) != ICSSoft.STORMNET.ObjectStatus.Created) || dobject.Prototyped)) { ICSSoft.STORMNET.Business.DataServiceProvider.DataService.LoadObject(m_objView, dobject, false, false); dobject.InitDataCopy(); } // *** Start programmer edit section *** (PrepareDataObjectForEdit (DataObject) end) // *** End programmer edit section *** (PrepareDataObjectForEdit (DataObject) end) }
/// <summary> /// Получение XML документа из объекта данных /// </summary> /// <param name="dataObject"> Сам объект данных </param> /// <param name="serializeAggregators"> Следует ли сериализовать детейлы </param> /// <param name="setObjectLoadingStateLoaded"> Установить LoadingState объекта в Loaded </param> /// <param name="setObjectStatusCreated"> Установить ObjectStatus объекта в Created </param> /// <param name="serializeMasters"> Проводить полную сериализацию мастеров объектов </param> /// <returns> Сериализованное представление объекта </returns> public static XmlDocument DataObject2XMLDocument( ref ICSSoft.STORMNET.DataObject dataObject, bool serializeAggregators, bool setObjectLoadingStateLoaded, bool setObjectStatusCreated, bool serializeMasters) { var xmlDoc = new XmlDocument(); if (dataObject.GetStatus() != ObjectStatus.Deleted) { // Удалённые объекты сохранять не следует xmlDoc.LoadXml(@"<" + "STORMNETXMLDataService" + " />"); var xmlMainEl = (XmlElement)xmlDoc.FirstChild; var xmlEl = (XmlElement)xmlMainEl.AppendChild(xmlDoc.CreateElement(dataObject.GetType().ToString())); var assemblies = new SortedList(); prv_DataObject2XmlElement( xmlEl, dataObject, assemblies, serializeAggregators, setObjectLoadingStateLoaded, setObjectStatusCreated, serializeMasters, new List <string>()); var xmlAssemblies = (XmlElement)xmlDoc.CreateElement("Assemblies"); for (int i = 0; i < assemblies.Count; i++) { var xmlAssembly = (XmlElement)xmlAssemblies.AppendChild(xmlDoc.CreateElement((string)assemblies.GetKey(i))); xmlAssembly.SetAttribute("Assembly", (string)assemblies.GetByIndex(i)); } xmlMainEl.AppendChild(xmlAssemblies); } else if (setObjectStatusCreated) { // Необходимо вернуть пустой, вновь созданный объект ConstructorInfo ci = dataObject.GetType().GetConstructor(new System.Type[0]); dataObject = (DataObject)ci.Invoke(new object[0]); } return(xmlDoc); }