public ObservableCollection <Obj> UpdateOpenningModelHasSynchToListObject(Document document, Handling handling) { ObservableCollection <Obj> objs = new ObservableCollection <Obj>(); // ServerNormalStatus IClassify ServerNormalStatus = handling.ServerNormalStatus; CompareClassifyLocalStatus compareClassifyLocalStatusNomal = ServerNormalStatus.Data; List <ComparisonCoupleElement> deletedLocal = compareClassifyLocalStatusNomal.DeletedLocal; FindAndAddListComparisonCoupleElement(document, deletedLocal, objs); List <ComparisonCoupleElement> normalLocal = compareClassifyLocalStatusNomal.NormalLocal; FindAndAddListComparisonCoupleElement(document, normalLocal, objs); // ServerPendingCreateStatus IClassify ServerPendingCreateStatus = handling.ServerPendingCreateStatus; CompareClassifyLocalStatus compareClassifyLocalStatusPendingCreate = ServerPendingCreateStatus.Data; deletedLocal = compareClassifyLocalStatusPendingCreate.DeletedLocal; FindAndAddListComparisonCoupleElement(document, deletedLocal, objs); normalLocal = compareClassifyLocalStatusPendingCreate.NormalLocal; FindAndAddListComparisonCoupleElement(document, normalLocal, objs); // ServerPendingDeleteStatus IClassify ServerPendingDeleteStatus = handling.ServerPendingDeleteStatus; CompareClassifyLocalStatus compareClassifyLocalStatusPendingDelete = ServerPendingDeleteStatus.Data; deletedLocal = compareClassifyLocalStatusPendingDelete.DeletedLocal; FindAndAddListComparisonCoupleElement(document, deletedLocal, objs); normalLocal = compareClassifyLocalStatusPendingDelete.NormalLocal; FindAndAddListComparisonCoupleElement(document, normalLocal, objs); return(objs); }
private void UpdatePendingCreateStatus(Transaction transaction, Handling handling) { IClassify classifyNomalStatus = handling.ServerPendingCreateStatus; CompareClassifyLocalStatus compareClassifyLocalStatusNomal = classifyNomalStatus.Data; //get local status IEnumerable <ComparisonCoupleElement> deletedLocal = compareClassifyLocalStatusNomal.DeletedLocal; foreach (ComparisonCoupleElement comparisonCoupleElement in deletedLocal) { // tuân theo sever if (comparisonCoupleElement.Action == Model.Action.PULL) { LoadFammilyInstance(transaction, comparisonCoupleElement); } } }
private void UpdateNomalStatus(Transaction transaction, Handling handling) { IClassify classifyNomalStatus = handling.ServerNormalStatus; CompareClassifyLocalStatus compareClassifyLocalStatusNomal = classifyNomalStatus.Data; //get local status IEnumerable <ComparisonCoupleElement> deletedLocal = compareClassifyLocalStatusNomal.DeletedLocal; foreach (ComparisonCoupleElement comparisonCoupleElement in deletedLocal) { // tuân theo sever if (comparisonCoupleElement.Action == Model.Action.PULL) { LoadFammilyInstance(transaction, comparisonCoupleElement); } } IEnumerable <ComparisonCoupleElement> nomalLocal = compareClassifyLocalStatusNomal.NormalLocal; foreach (ComparisonCoupleElement comparisonCoupleElement in nomalLocal) { if (!comparisonCoupleElement.IsSameShapeAndLocation()) { if (comparisonCoupleElement.Action == Model.Action.PULL && Common.IsValidGuid(comparisonCoupleElement.IdRevitElement)) { if (comparisonCoupleElement.IsSameTypeGeometry()) { Element element = _doc.GetElement(comparisonCoupleElement.IdRevitElement); UpdateGeometryAndDirection(transaction, element, comparisonCoupleElement); } else { Element element = _doc.GetElement(comparisonCoupleElement.IdRevitElement); transaction.Start("Delete Opening"); _doc.Delete(element.Id); transaction.Commit(); LoadFammilyInstance(transaction, comparisonCoupleElement); } } } } }
private void UpdatePendingDeleteStatus(Transaction transaction, Handling handling) { transaction.Start("delete element"); IClassify classifyNomalStatus = handling.ServerPendingDeleteStatus; CompareClassifyLocalStatus compareClassifyLocalStatusNomal = classifyNomalStatus.Data; //get local status IEnumerable <ComparisonCoupleElement> nomalLocal = compareClassifyLocalStatusNomal.NormalLocal; foreach (ComparisonCoupleElement comparisonCoupleElement in nomalLocal) { if (!comparisonCoupleElement.IsSameShapeAndLocation()) { if (comparisonCoupleElement.Action == Model.Action.PULL && Common.IsValidGuid(comparisonCoupleElement.IdRevitElement)) { Element element = _doc.GetElement(comparisonCoupleElement.IdRevitElement); _doc.Delete(element.Id); } } } transaction.Commit(); }