public CacheContributingObjectReader(ClientTransaction transaction, IClientSlotCache slotCache, ByteArrayBuffer reader) { _reader = reader; _transaction = transaction; _slotCache = slotCache; }
public void AllowedMembers() { CheckAllowed(ctx => ctx.ClientTransaction, ClientTransaction.CreateRootTransaction()); CheckAllowed(ctx => ctx.IsInvalid, true); }
private void CheckStateIsInvalid(DomainObject domainObject, ClientTransaction clientTransaction) { Assert.That(clientTransaction.IsInvalid(domainObject.ID), Is.True); Assert.That(domainObject.TransactionContext[clientTransaction].IsInvalid, Is.True); Assert.That(domainObject.TransactionContext[clientTransaction].State, Is.EqualTo(StateType.Invalid)); }
public UnlockingCommandDecorator(IDataManagementCommand decoratedCommand, ClientTransaction transactionToBeUnlocked) : base(decoratedCommand) { _transactionToBeUnlocked = transactionToBeUnlocked; }
public override bool Execute(CommandActivity commandActivity) { //Set template reference for FF const string fileCaseFfTypeReferenceId = "589AFF8A-7737-40DE-BBA4-8FA2A3178058"; const string incomingTypeVeReferenceId = "ABC5B6D0-6764-4801-AC36-7B42B80F63D3"; var restoreCtxId = ApplicationContext.CurrentID; try { var sourceFileCase = (FileCase)commandActivity.WorkItem; if (sourceFileCase == null) { throw new ActivityCommandException("").WithUserMessage(LocalizedUserMessages.NoFileCase .ToLocalizedName() .FormatWith(commandActivity)); } if (!sourceFileCase.CanEdit(true)) { throw new ActivityCommandException("").WithUserMessage(LocalizedUserMessages.NotEditable .ToLocalizedName() .FormatWith(sourceFileCase)); } //Read specialdata and document values //Null values handled via SpecialdataCalculatedProperty.ExpressionString var terminGs = sourceFileCase.GetProperty("#LHIND_Mitbericht_TerminGs").ToString() ?? ""; var datum = sourceFileCase.GetProperty("#LHIND_Mitbericht_Datum").ToString() ?? ""; var titelIdp = sourceFileCase.GetProperty("#LHIND_Mitbericht_TitelIdp") ?? ""; var bemerkungen = sourceFileCase.GetProperty("#LHIND_Mitbericht_Bemerkungen") ?? ""; var ffAmt = (sourceFileCase.GetProperty("#LHIND_Mitbericht_FederführendesAmt") == null) ? "" : (sourceFileCase.GetProperty("#LHIND_Mitbericht_FederführendesAmt") as SpecialdataCatalogValue) .DisplayName; var mbAemter = (sourceFileCase.GetProperty("#LHIND_Mitbericht_MitbeteiligtFdListe") == null) ? "" : String.Join(", ", (sourceFileCase.GetProperty("#LHIND_Mitbericht_MitbeteiligtFdListe") as SpecialdataListPropertyValueCollection).ToList() .Select(m => m.WrappedValue.GetProperty("DisplayName")) .ToList() .ToArray()); var rueckmeldung = (sourceFileCase.GetProperty("#LHIND_Mitbericht_Rückmeldung") == null) ? "" : String.Join(", ", (sourceFileCase.GetProperty("#LHIND_Mitbericht_Rückmeldung") as SpecialdataListPropertyValueCollection).ToList() .Select(m => m.WrappedValue.GetProperty("DisplayName")) .ToList() .ToArray()); var auftragsart = (sourceFileCase.GetProperty("#LHIND_Mitbericht_AuftragsartMitberichtsverfahren") == null) ? "" : (sourceFileCase.GetProperty("#LHIND_Mitbericht_AuftragsartMitberichtsverfahren") as SpecialdataCatalogValue).DisplayName; var rueckfragenAn = (sourceFileCase.GetProperty("#LHIND_Mitbericht_RückfragenAn") == null) ? "" : (sourceFileCase.GetProperty("#LHIND_Mitbericht_RückfragenAn") as TenantUser).DisplayName; var istFederfuehrung = (sourceFileCase.Type.ToHasReferenceID().ReferenceID.ToUpper() == fileCaseFfTypeReferenceId.ToUpper()); var sourceFileCaseUrl = UrlProvider.Current.GetOpenWorkListItemUrl(sourceFileCase); //Create eCH-0147 container var messageExport = Containers.Global.Resolve <IMessageExport>(); var eCHExport = messageExport.Export(sourceFileCase); sourceFileCase.AddFileCaseContent(eCHExport); //switch tenant using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) using (TenantSection.SwitchToTenant(UserHelper.Current.Tenant)) { //Create new incoming, set specialdata properties var incoming = Incoming.NewObject(); ApplicationContext.CurrentID = incoming.ApplicationContextID; incoming.Subject = sourceFileCase.DisplayName + " - eCH-Dossier"; incoming.IncomingType = new ReferenceHandle <IncomingTypeClassificationType>(incomingTypeVeReferenceId).GetObject(); incoming.ExternalNumber = sourceFileCase.FormattedNumber; incoming.Remark = sourceFileCase.WorkInstruction; using (new SpecialdataIgnoreReadOnlySection()) { incoming.SetProperty("#LHIND_Mitbericht_VE_TerminGs", terminGs); incoming.SetProperty("#LHIND_Mitbericht_VE_TitelIdp", titelIdp); incoming.SetProperty("#LHIND_Mitbericht_VE_FederführendesAmt", ffAmt); incoming.SetProperty("#LHIND_Mitbericht_VE_MitbeteiligtFdListe", mbAemter); incoming.SetProperty("#LHIND_Mitbericht_VE_Rückmeldung", rueckmeldung); incoming.SetProperty("#LHIND_Mitbericht_VE_AuftragsartMitberichtsverfahren", auftragsart); incoming.SetProperty("#LHIND_Mitbericht_VE_Bemerkungen", bemerkungen); incoming.SetProperty("#LHIND_Mitbericht_VE_Datum", datum); incoming.SetProperty("#LHIND_Mitbericht_VE_RückfragenAn", rueckfragenAn); incoming.SetProperty("#LHIND_Mitbericht_SourceFileCaseUrl", sourceFileCaseUrl); incoming.SetProperty("#LHIND_Mitbericht_VE_IstFederfuehrung", istFederfuehrung); } var targeteCHDocument = Document.NewObject(incoming); ((IDocument)targeteCHDocument).Name = sourceFileCase.GetMultilingualValue(fc => fc.Title) + " (" + sourceFileCase.FormattedNumber + ") - eCH Import"; targeteCHDocument.PhysicallyPresent = false; targeteCHDocument.Type = (DocumentClassificationType)ClassificationType.GetObject(Rubicon.Gever .Bund.EGovInterface.Domain.WellKnownObjects.DocumentClassification.EchImport.GetObjectID()); using (TenantSection.DisableQueryRestrictions()) using (var handle = eCHExport.ActiveContent.GetContent()) targeteCHDocument.ActiveContent.SetContent(handle, "zip", "application/zip"); var targetFile = ImportHelper.TenantKnowsObject(targeteCHDocument, true); if (targetFile != null) { incoming.LeadingGroup = targetFile.LeadingGroup; incoming.Insert(targetFile); } else { incoming.LeadingGroup = UserHelper.Current.GetActaNovaUserExtension().StandardGroup != null ? UserHelper.Current.GetActaNovaUserExtension().StandardGroup.AsTenantGroup() : UserHelper.Current.OwningGroup.AsTenantGroup(); } ClientTransaction.Current.Commit(); } } catch (Exception ex) { s_logger.Error(ex.Message, ex); throw; } finally { ApplicationContext.CurrentID = restoreCtxId; } return(true); }
private void CheckTransactionalStatus(ClientTransaction clientTransaction) { Assertion.DebugAssert(ReferenceEquals(ClientTransaction, clientTransaction)); DomainObjectCheckUtility.EnsureNotInvalid(_domainObject, clientTransaction); }
public NullRealObjectEndPoint(ClientTransaction clientTransaction, IRelationEndPointDefinition definition) : base(clientTransaction, definition) { }
protected void CheckDataNotLoaded(ClientTransaction clientTransaction, ObjectID objectID) { Assert.That(ClientTransactionTestHelper.GetIDataManager(clientTransaction).DataContainers[objectID], Is.Null); }
public static T CreateObjectInOtherTransaction <T> () where T : DomainObject { return(CreateObjectInTransaction <T> (ClientTransaction.CreateRootTransaction())); }
public static T CreateObjectInTransaction <T> (ClientTransaction transaction) where T : DomainObject { return((T)LifetimeService.NewObject(transaction, typeof(T), ParamList.Empty)); }
public override void SetUp() { base.SetUp(); SecurityManagerPrincipal.Current = SecurityManagerPrincipal.Null; ClientTransaction.CreateRootTransaction().EnterDiscardingScope(); }
public bool TryEnsureDataAvailable() { return(ClientTransaction.TryEnsureDataAvailable(DomainObject.ID)); }
public static VirtualObjectEndPoint CreateVirtualObjectEndPoint(RelationEndPointID endPointID, ClientTransaction clientTransaction) { var lazyLoader = ClientTransactionTestHelper.GetDataManager(clientTransaction); var endPointProvider = ClientTransactionTestHelper.GetDataManager(clientTransaction); var transactionEventSink = ClientTransactionTestHelper.GetEventBroker(clientTransaction); var dataManagerFactory = new VirtualObjectEndPointDataManagerFactory(); return(new VirtualObjectEndPoint( clientTransaction, endPointID, lazyLoader, endPointProvider, transactionEventSink, dataManagerFactory)); }
public virtual IFixedSizeIntIterator4 Unmarshall(ClientTransaction transaction, IClientSlotCache slotCache, ByteArrayBuffer reader) { return new CacheContributingObjectReader(transaction, slotCache, reader).Iterator (); }
public void PropertyValueRead(ClientTransaction clientTransaction, DomainObject domainObject, PropertyDefinition propertyDefinition, object value, ValueAccess valueAccess) { throw CreateException(); }
public virtual IFixedSizeIntIterator4 Unmarshall(ClientTransaction transaction, IClientSlotCache slotCache, ByteArrayBuffer reader) { var size = reader.ReadInt(); return new _IFixedSizeIntIterator4_34(size, reader); }
public static T GetObjectInOtherTransaction <T> (ObjectID objectID) where T : DomainObject { var transaction = ClientTransaction.CreateRootTransaction(); return(GetObjectInTransaction <T> (transaction, objectID)); }
protected void CheckEndPointNull(ClientTransaction clientTransaction, RelationEndPointID relationEndPointID) { Assert.That(ClientTransactionTestHelper.GetIDataManager(clientTransaction).RelationEndPoints[relationEndPointID], Is.Null); }
public static T GetObjectInTransaction <T> (ClientTransaction transaction, ObjectID objectID) where T : DomainObject { return((T)LifetimeService.GetObject(transaction, objectID, true)); }
public override void SetUp() { base.SetUp(); _subTransaction = TestableClientTransaction.CreateSubTransaction(); }
public static T CreateFakeObject <T> (ObjectID id) where T : DomainObject { return(GetObjectReference <T> (ClientTransaction.CreateRootTransaction(), id)); }
/// <summary> /// Initializes the <see cref="PropertyAccessor"/> object. /// </summary> /// <param name="domainObject">The domain object whose property is to be encapsulated.</param> /// <param name="propertyData">a <see cref="PropertyAccessorData"/> object describing the property to be accessed.</param> /// <param name="clientTransaction">The transaction to be used for accessing the property.</param> /// <exception cref="ArgumentNullException">One of the parameters passed to the constructor is <see langword="null"/>.</exception> /// <exception cref="ArgumentException">The domain object does not have a property with the given identifier.</exception> public PropertyAccessor(IDomainObject domainObject, PropertyAccessorData propertyData, ClientTransaction clientTransaction) { ArgumentUtility.CheckNotNull("domainObject", domainObject); ArgumentUtility.CheckNotNull("propertyData", propertyData); ArgumentUtility.CheckNotNull("clientTransaction", clientTransaction); DomainObjectCheckUtility.CheckIfRightTransaction(domainObject, clientTransaction); _domainObject = domainObject; _clientTransaction = clientTransaction; _propertyData = propertyData; }
public static DomainObject CreateFakeObject(ObjectID id = null) { return(LifetimeService.GetObjectReference(ClientTransaction.CreateRootTransaction(), id ?? new ObjectID(typeof(Order), Guid.NewGuid()))); }
public override bool Execute(CommandActivity commandActivity) { const string incomingTypeVeReferenceId = "ABC5B6D0-6764-4801-AC36-7B42B80F63D3"; const string incomingTypeGsReferenceId = "64E46ED4-14C2-4E3D-A5D0-F3E2E39C2E73"; var restoreCtxId = ApplicationContext.CurrentID; try { var sourceFileCase = (FileCase)commandActivity.WorkItem; if (sourceFileCase == null) { throw new ActivityCommandException("").WithUserMessage(LocalizedUserMessages.NoFileCase .ToLocalizedName() .FormatWith(commandActivity)); } if (!sourceFileCase.CanEdit(true)) { throw new ActivityCommandException("").WithUserMessage(LocalizedUserMessages.NotEditable .ToLocalizedName() .FormatWith(sourceFileCase)); } //Parse tenant information from incoming string targetTenantId = String.Empty; var sourceIncoming = sourceFileCase.BaseFile.BaseIncomings .Where(i => i.IncomingType.ToHasReferenceID().ReferenceID.ToUpper() == incomingTypeVeReferenceId.ToUpper()) .OrderByDescending(t => t.CreatedAt) .FirstOrDefault(); if (sourceIncoming == null) { throw new ActivityCommandException("").WithUserMessage(LocalizedUserMessages.IncomingNotFound .ToLocalizedName() .FormatWith(sourceFileCase.BaseFile)); } var targetFileCaseUri = new Uri(sourceIncoming.GetProperty("#LHIND_Mitbericht_SourceFileCaseUrl") as string); targetTenantId = HttpUtility.ParseQueryString(targetFileCaseUri.Query).Get("TenantID"); var sourceFileCaseUrl = UrlProvider.Current.GetOpenWorkListItemUrl(sourceFileCase); //Create eCH-0147 container var messageExport = Containers.Global.Resolve <IMessageExport>(); var eCHExport = messageExport.Export(sourceFileCase); sourceFileCase.AddFileCaseContent(eCHExport); //switch tenant using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) using (TenantSection.SwitchToTenant(Tenant.FindByUnqiueIdentifier(targetTenantId))) { //Create new incoming, set specialdata properties var incoming = Incoming.NewObject(); ApplicationContext.CurrentID = incoming.ApplicationContextID; incoming.Subject = sourceFileCase.DisplayName + " - eCH Response"; incoming.IncomingType = new ReferenceHandle <IncomingTypeClassificationType>(incomingTypeGsReferenceId) .GetObject(); incoming.ExternalNumber = sourceFileCase.FormattedNumber; incoming.Remark = sourceFileCase.WorkInstruction; using (new SpecialdataIgnoreReadOnlySection()) incoming.SetProperty("#LHIND_Mitbericht_SourceFileCaseUrl", sourceFileCaseUrl); var targeteCHDocument = Document.NewObject(incoming); ((IDocument)targeteCHDocument).Name = sourceFileCase.GetMultilingualValue(fc => fc.Title) + " (" + sourceFileCase.FormattedNumber + ") - eCH Import"; targeteCHDocument.PhysicallyPresent = false; targeteCHDocument.Type = (DocumentClassificationType)ClassificationType.GetObject(Rubicon.Gever .Bund.EGovInterface.Domain.WellKnownObjects.DocumentClassification.EchImport.GetObjectID()); using (SecurityFreeSection.Activate()) using (TenantSection.DisableQueryRestrictions()) using (var handle = eCHExport.ActiveContent.GetContent()) { targeteCHDocument.ActiveContent.SetContent(handle, "zip", "application/zip"); var targetFile = ImportHelper.TenantKnowsObject(targeteCHDocument, true); if (targetFile != null) { incoming.LeadingGroup = targetFile.LeadingGroup; incoming.Insert(targetFile); } else { incoming.LeadingGroup = UserHelper.Current.GetActaNovaUserExtension().StandardGroup != null ? UserHelper.Current.GetActaNovaUserExtension().StandardGroup.AsTenantGroup() : UserHelper.Current.OwningGroup.AsTenantGroup(); } } ClientTransaction.Current.Commit(); } } catch (Exception ex) { s_logger.Error(ex.Message, ex); throw; } finally { ApplicationContext.CurrentID = restoreCtxId; } return(true); }
public static T GetObjectReference <T> (ClientTransaction clientTransaction, ObjectID objectID) where T : DomainObject { return((T)LifetimeService.GetObjectReference(clientTransaction, objectID)); }
private void CheckStateIsNotInvalid(DomainObject domainObject, ClientTransaction clientTransaction, StateType expectedState) { Assert.That(clientTransaction.IsInvalid(domainObject.ID), Is.False); Assert.That(domainObject.TransactionContext[clientTransaction].IsInvalid, Is.False); Assert.That(domainObject.TransactionContext[clientTransaction].State, Is.EqualTo(expectedState)); }
public static DomainObject GetObjectReference(ClientTransaction clientTransaction, ObjectID objectID) { return(GetObjectReference <DomainObject> (clientTransaction, objectID)); }
private SecurableObject CreateSecurableObject(ISecurityContextFactory securityContextFactory, ClientTransaction clientTransaction = null, Action <SecurableObject> action = null) { return(SecurableObject.NewObject( clientTransaction ?? _clientTransaction, ObjectSecurityStrategy.Create(securityContextFactory, InvalidationToken.Create()), action)); }
protected void CheckDataLoaded(ClientTransaction clientTransaction, DomainObject domainObject) { Assert.That(ClientTransactionTestHelper.GetIDataManager(clientTransaction).DataContainers[domainObject.ID], Is.Not.Null); CheckState(clientTransaction, domainObject, StateType.Unchanged); }
public override void SetUp() { base.SetUp(); ClientTransaction.CreateRootTransaction().EnterDiscardingScope(); }
protected void CheckDataNotLoaded(ClientTransaction clientTransaction, DomainObject domainObject) { CheckDataNotLoaded(clientTransaction, domainObject.ID); CheckState(clientTransaction, domainObject, StateType.NotLoadedYet); }
public void PropertyValueChanged(ClientTransaction clientTransaction, DomainObject domainObject, PropertyDefinition propertyDefinition, object oldValue, object newValue) { throw CreateException(); }
protected void CheckState(ClientTransaction clientTransaction, DomainObject domainObject, StateType expectedState) { Assert.That(domainObject.TransactionContext[clientTransaction].State, Is.EqualTo(expectedState)); }