public override void Save() { var saveSet = SetKeeper.Instance(); if (saveSet.IsDirty) { var list = saveSet.GetSet(); saveSet.Clear(); //TODO В DBServer надо сделать функции с групповым входным параметром, а внутри их - транзакции foreach (var asm in list) { if (asm.IsVirtual) { var id = DBserver.CreateBlock(asm.BlockType.BlockTypeID, asm.ParentID, (int)asm.Order); asm.BlockID = id; } else { DBserver.SetParent(asm.BlockID, asm.ParentID); DBserver.SetOrder(asm.BlockID, (int)asm.Order); } var fh_id = DBserver.SetFactData(asm.BlockID, asm.Blob); asm.FactID = fh_id; } } /* if (asm.IsDeleted == 1) * DBserver.Delete(asm.BlockID); * DBserver.SetFactData(asm.BlockID, asm.Blob);*/ }
public override void Add2SaveSet(AssemblyBase asm) { var saveSet = SetKeeper.Instance(); saveSet.Add(asm); }