public void TestModifyReferenceRelationAndThenModifyBackToOriginalStateInSameRevisionEventAndThenUndo() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId = 1030; // Step 1 - change original artfaktaReferenceRelation from TypeId = 1 to TypeId = 2 WebTaxonRevisionEvent revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon' [6010174]", OldValue = "Type='1", NewValue = "Type='2" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId, 2, 1)); // Step 2 - change from TypeId = 2 to TypeId = 1 WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId, 1, 2)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(1, referenceRelations.Count); Assert.AreEqual(1, referenceRelations[0].ReferenceType); // undo last revision event TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent1.Id); referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(0, referenceRelations.Count); }
/// <summary> /// Check the data in current object /// </summary> /// <param name='revisionEvent'>The revision event.</param> public static void CheckData(this WebTaxonRevisionEvent revisionEvent) { if (!revisionEvent.IsDataChecked) { revisionEvent.CheckStrings(); revisionEvent.IsDataChecked = true; } }
public void CreateSpeciesFact_WithSpeciesFactStatusNullData_ThenDyntaxaRevisionSpeciesFactCreated() { Int32 revisionId = 1; WebDyntaxaRevisionSpeciesFact speciesFact = GetReferenceDyntaxaRevisionSpeciesFact((Int32)TaxonId.Bear); speciesFact.FactorId = (Int32)FactorId.SwedishHistory; speciesFact.RevisionId = revisionId; speciesFact.IsPublished = false; speciesFact.StatusId = null; speciesFact.ReferenceId = null; speciesFact.QualityId = null; speciesFact.SpeciesFactExists = true; speciesFact.Description = null; speciesFact.OriginalStatusId = 2; speciesFact.OriginalQualityId = 3; speciesFact.OriginalReferenceId = 4; speciesFact.OriginalDescription = "test test"; WebTaxonRevisionEvent revisionEvent; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; //using (IWebServiceTransaction transaction = new WebServiceTransaction(GetClientInformation(), WebServiceProxy.DyntaxaInternalService)) using (IWebServiceTransaction transaction = new WebServiceTransaction(GetRevisionClientInformation(), WebServiceProxy.TaxonService)) { // We now create revision event. WebTaxonRevisionEvent createdRevisionEvent = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(GetClientInformation(), revisionEvent); speciesFact.RevisionEventId = createdRevisionEvent.Id; // We now create the revision species fact. speciesFact = WebServiceProxy.DyntaxaInternalService.CreateDyntaxaRevisionSpeciesFact(GetClientInformation(), speciesFact); var currentDyntaxaRevisionSpeciesFact = WebServiceProxy.DyntaxaInternalService.GetDyntaxaRevisionSpeciesFact( GetClientInformation(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); // Assert first Insert. Assert.AreEqual(createdRevisionEvent.Id, speciesFact.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); Assert.IsNull(currentDyntaxaRevisionSpeciesFact.StatusId); Assert.IsNull(currentDyntaxaRevisionSpeciesFact.ReferenceId); Assert.IsNull(currentDyntaxaRevisionSpeciesFact.QualityId); Assert.IsNull(currentDyntaxaRevisionSpeciesFact.Description); Assert.AreEqual(speciesFact.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.IsTrue(currentDyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.AreEqual(2, speciesFact.OriginalStatusId); Assert.AreEqual(3, speciesFact.OriginalQualityId); Assert.AreEqual(4, speciesFact.OriginalReferenceId); Assert.AreEqual("test test", speciesFact.OriginalDescription); } }
/// <summary> /// gets a RevisionEvent for test /// </summary> /// <returns></returns> private WebTaxonRevisionEvent GetReferenceRevisionEvent() { WebTaxonRevisionEvent revEvent = new WebTaxonRevisionEvent(); revEvent.CreatedBy = Settings.Default.TestUserId; revEvent.CreatedDate = DateTime.Now; revEvent.TypeId = 3300; revEvent.RevisionId = 44; return(revEvent); }
/// <summary> /// </summary> /// <param name="revisionEvent"> /// The revision event. /// </param> /// <param name="dataReader"> /// The data reader. /// </param> public static void LoadData(this WebTaxonRevisionEvent revisionEvent, DataReader dataReader) { revisionEvent.Id = dataReader.GetInt32(RevisionEventData.ID); revisionEvent.RevisionId = dataReader.GetInt32(RevisionEventData.REVISIONID); revisionEvent.CreatedBy = dataReader.GetInt32(RevisionEventData.CREATEDBYID); revisionEvent.CreatedDate = dataReader.GetDateTime(RevisionEventData.CREATEDDATE); revisionEvent.TypeId = dataReader.GetInt32(RevisionEventData.EVENTTYPEID); revisionEvent.AffectedTaxa = dataReader.GetString(RevisionEventData.DESCRIPTION_AFFECTEDTAXA); revisionEvent.NewValue = dataReader.GetString(RevisionEventData.DESCRIPTION_NEWVALUE); revisionEvent.OldValue = dataReader.GetString(RevisionEventData.DESCRIPTION_OLDVALUE); }
/// <summary> /// Copies data from webobject to domainobject. /// </summary> /// <param name="userContext"> /// The user context. /// </param> /// <param name="taxonRevisionEvent"> /// The revision event. /// </param> /// <param name="webRevisionEvent"> /// The web revision event. /// </param> private void UpdateTaxonRevisionEvent( IUserContext userContext, ITaxonRevisionEvent taxonRevisionEvent, WebTaxonRevisionEvent webRevisionEvent) { taxonRevisionEvent.AffectedTaxa = webRevisionEvent.AffectedTaxa; taxonRevisionEvent.CreatedBy = webRevisionEvent.CreatedBy; taxonRevisionEvent.CreatedDate = webRevisionEvent.CreatedDate; taxonRevisionEvent.DataContext = GetDataContext(userContext); taxonRevisionEvent.Id = webRevisionEvent.Id; taxonRevisionEvent.NewValue = webRevisionEvent.NewValue; taxonRevisionEvent.OldValue = webRevisionEvent.OldValue; taxonRevisionEvent.RevisionId = webRevisionEvent.RevisionId; taxonRevisionEvent.Type = CoreData.TaxonManager.GetTaxonRevisionEventType(userContext, webRevisionEvent.TypeId); }
public void CreateCompleteRevisionEvent_WithValidData_ThenRevisionEventIsCreated() { Int32 revisionId = 1; String affectedTaxa, oldValue, newValue; WebTaxonRevisionEvent revisionEvent, newRevisionEvent; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Straminergon [1004721]", OldValue = "My old value", NewValue = "My new value" }; newRevisionEvent = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent); Assert.AreEqual(revisionEvent.CreatedBy, newRevisionEvent.CreatedBy); Assert.AreEqual(revisionEvent.TypeId, newRevisionEvent.TypeId); Assert.AreEqual(revisionEvent.OldValue, newRevisionEvent.OldValue); Assert.AreEqual(revisionEvent.NewValue, newRevisionEvent.NewValue); Assert.AreNotEqual(revisionEvent.Id, newRevisionEvent.Id); affectedTaxa = "Strami ' nergon [1004721]"; oldValue = "My old ' value"; newValue = "My new ' value"; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = affectedTaxa, OldValue = oldValue, NewValue = newValue }; newRevisionEvent = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent); Assert.AreEqual(revisionEvent.CreatedBy, newRevisionEvent.CreatedBy); Assert.AreEqual(revisionEvent.TypeId, newRevisionEvent.TypeId); Assert.AreEqual(oldValue, newRevisionEvent.OldValue); Assert.AreEqual(newValue, newRevisionEvent.NewValue); Assert.AreNotEqual(revisionEvent.Id, newRevisionEvent.Id); }
/// <summary> /// Creates a new complete Revision event, i.e. all revision event data is set. /// </summary> /// <param name="clientInformation">The client information.</param> /// <param name="taxonRevisionEvent"> /// The revision Event. /// </param> /// <returns> /// The newly created object. /// </returns> public WebTaxonRevisionEvent CreateCompleteRevisionEvent( WebClientInformation clientInformation, WebTaxonRevisionEvent taxonRevisionEvent) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.CreateCompleteRevisionEvent(context, taxonRevisionEvent)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
/// <summary> /// Convert a ITaxonRevisionEvent instance /// to a WebTaxonRevisionEvent instance. /// </summary> /// <param name="taxonRevisionEvent">A ITaxonRevisionEvent object.</param> /// <returns>A WebTaxonRevisionEvent instance.</returns> private WebTaxonRevisionEvent GetTaxonRevisionEvent(ITaxonRevisionEvent taxonRevisionEvent) { WebTaxonRevisionEvent webTaxonRevisionEvent; webTaxonRevisionEvent = null; if (taxonRevisionEvent.IsNotNull()) { webTaxonRevisionEvent = new WebTaxonRevisionEvent(); webTaxonRevisionEvent.AffectedTaxa = taxonRevisionEvent.AffectedTaxa; webTaxonRevisionEvent.CreatedBy = taxonRevisionEvent.CreatedBy; webTaxonRevisionEvent.CreatedDate = taxonRevisionEvent.CreatedDate; webTaxonRevisionEvent.Id = taxonRevisionEvent.Id; webTaxonRevisionEvent.NewValue = taxonRevisionEvent.NewValue; webTaxonRevisionEvent.OldValue = taxonRevisionEvent.OldValue; webTaxonRevisionEvent.RevisionId = taxonRevisionEvent.RevisionId; webTaxonRevisionEvent.TypeId = taxonRevisionEvent.Type.Id; } return(webTaxonRevisionEvent); }
public void GetAllDyntaxaRevisionSpeciesFacts_WhenOneRevisionSpeciesFactIsCreated_ThenOneChangedRevisionSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact1; WebTaxonRevisionEvent revisionEvent1; Int32 revisionId = 1; //------------------------------------------------------------------- // Create first dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact1 = GetReferenceDyntaxaRevisionSpeciesFact((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact1.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact1.RevisionId = revisionId; dyntaxaRevisionSpeciesFact1.IsPublished = false; dyntaxaRevisionSpeciesFact1.StatusId = 400; revisionEvent1 = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; //using (IWebServiceTransaction transaction = new WebServiceTransaction(GetClientInformation(), WebServiceProxy.DyntaxaInternalService)) using (IWebServiceTransaction transaction = new WebServiceTransaction(GetRevisionClientInformation(), WebServiceProxy.TaxonService)) { revisionEvent1 = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(GetClientInformation(), revisionEvent1); dyntaxaRevisionSpeciesFact1.RevisionEventId = revisionEvent1.Id; dyntaxaRevisionSpeciesFact1 = WebServiceProxy.DyntaxaInternalService.CreateDyntaxaRevisionSpeciesFact(GetClientInformation(), dyntaxaRevisionSpeciesFact1); var currentDyntaxaRevisionSpeciesFacts = WebServiceProxy.DyntaxaInternalService.GetAllDyntaxaRevisionSpeciesFacts( GetClientInformation(), revisionId); //Assert first Insert Assert.AreEqual(1, currentDyntaxaRevisionSpeciesFacts.Count); } }
public void SetRevisionSpeciesFactPublished() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact; WebTaxonRevisionEvent revisionEvent; Int32 revisionId = 1; //------------------------------------------------------------------- // Create first dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact = GetReferenceDyntaxaRevisionSpeciesFact((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact.RevisionId = revisionId; dyntaxaRevisionSpeciesFact.IsPublished = false; dyntaxaRevisionSpeciesFact.StatusId = 400; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; //using (IWebServiceTransaction transaction = new WebServiceTransaction(GetClientInformation(), WebServiceProxy.DyntaxaInternalService)) using (IWebServiceTransaction transaction = new WebServiceTransaction(GetRevisionClientInformation(), WebServiceProxy.TaxonService)) { revisionEvent = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(GetClientInformation(), revisionEvent); dyntaxaRevisionSpeciesFact.RevisionEventId = revisionEvent.Id; WebServiceProxy.DyntaxaInternalService.CreateDyntaxaRevisionSpeciesFact(GetClientInformation(), dyntaxaRevisionSpeciesFact); var result = WebServiceProxy.DyntaxaInternalService.SetRevisionSpeciesFactPublished( GetClientInformation(), revisionId); //Assert first Insert Assert.AreEqual(true, result); } }
public void GetDyntaxaRevisionSpeciesFact_WhenRevisionSpeciesFactIsCreatedAndLaterChanged_ThenLastChangedRevisionSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact1, dyntaxaRevisionSpeciesFact2, currentDyntaxaRevisionSpeciesFact; WebTaxonRevisionEvent revisionEvent1, revisionEvent2; Int32 revisionId = 1; //------------------------------------------------------------------- // Create first dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact1 = GetReferenceDyntaxaRevisionSpeciesFact((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact1.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact1.RevisionId = revisionId; dyntaxaRevisionSpeciesFact1.IsPublished = false; dyntaxaRevisionSpeciesFact1.StatusId = 400; revisionEvent1 = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; //using (IWebServiceTransaction transaction = new WebServiceTransaction(GetClientInformation(), WebServiceProxy.DyntaxaInternalService)) using (IWebServiceTransaction transaction = new WebServiceTransaction(GetRevisionClientInformation(), WebServiceProxy.TaxonService)) { revisionEvent1 = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(GetClientInformation(), revisionEvent1); dyntaxaRevisionSpeciesFact1.RevisionEventId = revisionEvent1.Id; dyntaxaRevisionSpeciesFact1 = WebServiceProxy.DyntaxaInternalService.CreateDyntaxaRevisionSpeciesFact(GetClientInformation(), dyntaxaRevisionSpeciesFact1); currentDyntaxaRevisionSpeciesFact = WebServiceProxy.DyntaxaInternalService.GetDyntaxaRevisionSpeciesFact( GetClientInformation(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); //Assert first Insert Assert.AreEqual(revisionEvent1.Id, dyntaxaRevisionSpeciesFact1.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); Assert.AreEqual(400, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(dyntaxaRevisionSpeciesFact1.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); //--------------------------------------------------------------------- // Create second dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact2 = GetReferenceDyntaxaRevisionSpeciesFact((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact2.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact2.RevisionId = revisionId; dyntaxaRevisionSpeciesFact2.IsPublished = false; dyntaxaRevisionSpeciesFact2.StatusId = 450; // changed from 400 to 450. revisionEvent2 = new WebTaxonRevisionEvent() { CreatedBy = 3, //Changed CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=400", //Changed NewValue = "StatusId=450" //Changed }; revisionEvent2 = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(GetClientInformation(), revisionEvent2); dyntaxaRevisionSpeciesFact2.RevisionEventId = revisionEvent2.Id; dyntaxaRevisionSpeciesFact2 = WebServiceProxy.DyntaxaInternalService.CreateDyntaxaRevisionSpeciesFact(GetClientInformation(), dyntaxaRevisionSpeciesFact2); currentDyntaxaRevisionSpeciesFact = WebServiceProxy.DyntaxaInternalService.GetDyntaxaRevisionSpeciesFact( GetClientInformation(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); // Check values. Assert.AreEqual(450, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(revisionEvent2.Id, currentDyntaxaRevisionSpeciesFact.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); // Check latest change is returned. Assert.AreEqual(dyntaxaRevisionSpeciesFact2.Id, currentDyntaxaRevisionSpeciesFact.Id); Assert.AreNotEqual(dyntaxaRevisionSpeciesFact1.Id, currentDyntaxaRevisionSpeciesFact.Id); } }
/// <summary> /// Creates the complete revision event. /// </summary> /// <param name="clientInformation">The client information.</param> /// <param name="revisionEvent">The revision event.</param> /// <returns></returns> public WebTaxonRevisionEvent CreateCompleteRevisionEvent(WebClientInformation clientInformation, WebTaxonRevisionEvent revisionEvent) { using (ClientProxy client = new ClientProxy(this, 1)) { return(client.Client.CreateCompleteRevisionEvent(clientInformation, revisionEvent)); } }
/// <summary> /// Creates a new complete Revision event, i.e. all revision event data is set. /// </summary> /// <param name="context">Web service request context.</param> /// <param name="revisionEvent">Revision event object.</param> /// <returns>The created revision event object.</returns> public static WebTaxonRevisionEvent CreateCompleteRevisionEvent(WebServiceContext context, WebTaxonRevisionEvent revisionEvent) { // Check authority - AuthorityIdentifier.DyntaxaTaxonEditation WebServiceData.AuthorizationManager.CheckAuthorization(context, AuthorityIdentifier.DyntaxaTaxonEditation); context.CheckTransaction(); revisionEvent.CheckData(); var revisionId = context.GetTaxonDatabase().CreateCompleteRevisionEvent(revisionEvent.RevisionId, revisionEvent.TypeId, revisionEvent.CreatedBy, revisionEvent.CreatedDate, revisionEvent.AffectedTaxa, revisionEvent.NewValue, revisionEvent.OldValue); return(TaxonManager.GetRevisionEventById(context, revisionId)); }
public void GetDyntaxaRevisionSpeciesFact_WhenRevisionSpeciesFactIsCreatedAndLaterChanged_ThenLastChangedRevisionSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact1, getDyntaxaRevisionSpeciesFact1, dyntaxaRevisionSpeciesFact2, getDyntaxaRevisionSpeciesFact2, currentDyntaxaRevisionSpeciesFact; WebTaxonRevisionEvent revisionEvent1, revisionEvent2; Int32 revisionId = 1; //------------------------------------------------------------------- // Create first dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact1 = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact1.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact1.RevisionId = revisionId; dyntaxaRevisionSpeciesFact1.IsPublished = false; dyntaxaRevisionSpeciesFact1.StatusId = 400; revisionEvent1 = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent1); dyntaxaRevisionSpeciesFact1.RevisionEventId = revisionEvent1.Id; dyntaxaRevisionSpeciesFact1 = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact1); currentDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact( GetRevisionContext(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); //Assert first Insert Assert.AreEqual(revisionEvent1.Id, dyntaxaRevisionSpeciesFact1.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); Assert.AreEqual(400, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(dyntaxaRevisionSpeciesFact1.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); //--------------------------------------------------------------------- // Create second dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact2 = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact2.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact2.RevisionId = revisionId; dyntaxaRevisionSpeciesFact2.IsPublished = false; dyntaxaRevisionSpeciesFact2.StatusId = 450; // changed from 400 to 450. revisionEvent2 = new WebTaxonRevisionEvent() { CreatedBy = 3, //Changed CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=400", //Changed NewValue = "StatusId=450" //Changed }; revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent2); dyntaxaRevisionSpeciesFact2.RevisionEventId = revisionEvent2.Id; dyntaxaRevisionSpeciesFact2 = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact2); currentDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact( GetRevisionContext(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); getDyntaxaRevisionSpeciesFact1 = DyntaxaManager.GetDyntaxaRevisionSpeciesFactById(GetRevisionContext(), dyntaxaRevisionSpeciesFact1.Id); getDyntaxaRevisionSpeciesFact2 = DyntaxaManager.GetDyntaxaRevisionSpeciesFactById(GetRevisionContext(), dyntaxaRevisionSpeciesFact2.Id); // Check values. Assert.AreEqual(450, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(getDyntaxaRevisionSpeciesFact2.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(400, getDyntaxaRevisionSpeciesFact1.StatusId); Assert.AreNotEqual(getDyntaxaRevisionSpeciesFact1.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(revisionEvent1.Id, getDyntaxaRevisionSpeciesFact1.RevisionEventId); Assert.AreEqual(revisionEvent2.Id, getDyntaxaRevisionSpeciesFact1.ChangedInRevisionEventId); Assert.AreEqual(revisionEvent2.Id, currentDyntaxaRevisionSpeciesFact.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); }