public void CreateDyntaxaRevisionReferenceRelation_WithValidData_ThenDyntaxaRevisionReferenceRelationIsCreated()
        {
            // Arrange
            const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const string action = "Add";
            const int    revisionId = 1;
            WebDyntaxaRevisionReferenceRelation dyntaxaReferenceRelation, newDyntaxaReferenceRelation;

            dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create(
                revisionId, relatedObjectGUID, action);

            // Act
            // Create test Dyntaxa revision reference relation.
            dyntaxaReferenceRelation.ReferenceId = 3342;
            newDyntaxaReferenceRelation          = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                dyntaxaReferenceRelation);

            // Assert
            Assert.IsNotNull(newDyntaxaReferenceRelation);
            Assert.AreNotEqual(dyntaxaReferenceRelation.Id, newDyntaxaReferenceRelation.Id);
            Assert.AreEqual(dyntaxaReferenceRelation.RelatedObjectGUID, newDyntaxaReferenceRelation.RelatedObjectGUID);
            Assert.AreEqual(3342, newDyntaxaReferenceRelation.ReferenceId);
            Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaReferenceRelation.CreatedBy);
        }
コード例 #2
0
        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);
        }
        public void GetDyntaxaRevisionSpeciesFact_WhenDyntaxaRevisionSpeciesFactCreatedWithSpeciesFactExistsData_ThenCreatedRevisionSpeciesFactIsReturned()
        {
            WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact;

            // Create test Dyntaxa revision species fact.
            dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);
            const int STATUS_ID = 400;

            dyntaxaRevisionSpeciesFact.StatusId            = STATUS_ID;
            dyntaxaRevisionSpeciesFact.SpeciesFactExists   = true;
            dyntaxaRevisionSpeciesFact.OriginalStatusId    = 380;
            dyntaxaRevisionSpeciesFact.OriginalQualityId   = 150;
            dyntaxaRevisionSpeciesFact.OriginalReferenceId = 250;
            dyntaxaRevisionSpeciesFact.OriginalDescription = "test";

            newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            getDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact.FactorId, dyntaxaRevisionSpeciesFact.TaxonId, dyntaxaRevisionSpeciesFact.RevisionId);
            Assert.IsNotNull(getDyntaxaRevisionSpeciesFact);
            Assert.AreEqual(STATUS_ID, getDyntaxaRevisionSpeciesFact.StatusId);
            Assert.IsTrue(dyntaxaRevisionSpeciesFact.SpeciesFactExists);
            Assert.AreEqual(380, dyntaxaRevisionSpeciesFact.OriginalStatusId);
            Assert.AreEqual(150, dyntaxaRevisionSpeciesFact.OriginalQualityId);
            Assert.AreEqual(250, dyntaxaRevisionSpeciesFact.OriginalReferenceId);
            Assert.AreEqual("test", dyntaxaRevisionSpeciesFact.OriginalDescription);
        }
        public void GetDyntaxaRevisionReferenceRelation_WhenTwoReferenceRelationWithSameRelatedObjectGUIDExists_ThenTwoReferenceRelationIsReturned()
        {
            // Arrange
            const int    revisionId        = 24;
            const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const string rel1Action        = "Add";
            const string rel2Action        = "Delete";

            DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.Create(revisionId, relatedObjectGUID, rel1Action));
            DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.Create(revisionId, relatedObjectGUID, rel2Action));

            // Act
            var newReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                GetRevisionContext(), revisionId, relatedObjectGUID);

            // Assert
            Assert.IsNotNull(newReferenceRelations);
            Assert.AreEqual(2, newReferenceRelations.Count);
            Assert.AreEqual(rel1Action, newReferenceRelations[0].Action);
            Assert.AreEqual(rel2Action, newReferenceRelations[1].Action);
        }
        public void CreateDyntaxaRevisionSpeciesFact_WithSpeciesFactStatusNullData_ThenDyntaxaRevisionSpeciesFactIsCreated()
        {
            WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact;

            // Create test Dyntaxa revision species fact.
            dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);
            const int STATUS_ID = 400;

            dyntaxaRevisionSpeciesFact.StatusId    = STATUS_ID;
            dyntaxaRevisionSpeciesFact.StatusId    = null;
            dyntaxaRevisionSpeciesFact.QualityId   = null;
            dyntaxaRevisionSpeciesFact.ReferenceId = null;

            dyntaxaRevisionSpeciesFact.SpeciesFactExists   = true;
            dyntaxaRevisionSpeciesFact.OriginalStatusId    = STATUS_ID;
            dyntaxaRevisionSpeciesFact.OriginalQualityId   = 10;
            dyntaxaRevisionSpeciesFact.OriginalReferenceId = 23;
            dyntaxaRevisionSpeciesFact.OriginalDescription = "test";

            newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            Assert.IsNotNull(newDyntaxaRevisionSpeciesFact);
            Assert.IsTrue(dyntaxaRevisionSpeciesFact.SpeciesFactExists);
            Assert.IsNull(dyntaxaRevisionSpeciesFact.StatusId);
            Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id);
            Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description);
            Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.OriginalStatusId);
            Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy);
        }
        public void TestSetRevisionReferenceRelationPublished()
        {
            // Act
            var result = DyntaxaManager.SetRevisionReferenceRelationPublished(GetRevisionContext(), 24);

            // Assert
            Assert.AreEqual(true, result);
        }
コード例 #7
0
        public void TestAddTwoReferenceRelationsWithSameReferenceButDifferentType()
        {
            // Consts
            const int    TestRevisionId      = 24;
            const string TestObjectGUID      = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const int    TestReferenceId3200 = 3200;

            // Arrange
            WebTaxonRevisionEvent revisionEvent1;

            // Act
            // Add new reference 3200 with type 1
            revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(),
                                                                        new WebTaxonRevisionEvent()
            {
                CreatedBy    = 2,
                CreatedDate  = DateTime.Now,
                TypeId       = 19,
                RevisionId   = TestRevisionId,
                AffectedTaxa = "Taxon [6010174]",
                OldValue     = "NULL",
                NewValue     = "Reference3200, Type=1"
            });
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
                    TestRevisionId,
                    revisionEvent1.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    1));

            // Add new reference 3200 with type 2
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
                    TestRevisionId,
                    revisionEvent1.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    2));

            // Get reference relations for current revision and object GUID.
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);

            Assert.AreEqual(2, referenceRelations.Count);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId);
            Assert.AreEqual(1, referenceRelations[0].ReferenceType);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[1].ReferenceId);
            Assert.AreEqual(2, referenceRelations[1].ReferenceType);
        }
 /// <summary>
 /// Set revision reference relation published flag to true
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="revisionId"></param>
 /// <returns></returns>
 public bool SetRevisionReferenceRelationPublished(WebClientInformation clientInformation, int revisionId)
 {
     using (WebServiceContext context = new WebServiceContext(clientInformation))
     {
         try
         {
             return(DyntaxaManager.SetRevisionReferenceRelationPublished(context, revisionId));
         }
         catch (Exception exception)
         {
             WebServiceData.LogManager.LogError(context, exception);
             throw;
         }
     }
 }
        public void CreateDyntaxaRevisionSpeciesFact_WithValidData_ThenDyntaxaRevisionSpeciesFactIsCreated()
        {
            WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact;

            // Create test Dyntaxa revision species fact.
            dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);
            const int STATUS_ID = 400;

            dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID;

            newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            Assert.IsNotNull(newDyntaxaRevisionSpeciesFact);
            Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists);
            Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId);
            Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id);
            Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description);
            Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId);
            Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy);

            dyntaxaRevisionSpeciesFact             = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Wolf);
            dyntaxaRevisionSpeciesFact.Description = "Foo'Bar";
            dyntaxaRevisionSpeciesFact.StatusId    = STATUS_ID;
            newDyntaxaRevisionSpeciesFact          = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            Assert.IsNotNull(newDyntaxaRevisionSpeciesFact);
            Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists);
            Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId);
            Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id);
            Assert.AreEqual("Foo'Bar", newDyntaxaRevisionSpeciesFact.Description);
            Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId);
            Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy);

            dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Wolverine);
            dyntaxaRevisionSpeciesFact.OriginalDescription = "Foo'Bar";
            dyntaxaRevisionSpeciesFact.StatusId            = STATUS_ID;
            newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            Assert.IsNotNull(newDyntaxaRevisionSpeciesFact);
            Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists);
            Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId);
            Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id);
            Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description);
            Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId);
            Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy);
            Assert.AreEqual("Foo'Bar", newDyntaxaRevisionSpeciesFact.OriginalDescription);
        }
 /// <summary>
 /// Get all Dyntaxa Revision Reference relation items.
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="revisionId">Revision id.</param>
 /// <returns></returns>
 public List <WebDyntaxaRevisionReferenceRelation> GetAllDyntaxaRevisionReferenceRelations(
     WebClientInformation clientInformation,
     int revisionId)
 {
     using (WebServiceContext context = new WebServiceContext(clientInformation))
     {
         try
         {
             return(DyntaxaManager.GetAllDyntaxaRevisionReferenceRelations(context, revisionId));
         }
         catch (Exception exception)
         {
             WebServiceData.LogManager.LogError(context, exception);
             throw;
         }
     }
 }
コード例 #11
0
        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);
        }
コード例 #12
0
        public void GetDyntaxaRevisionSpeciesFact_WhenWrongFactorId_ThenNullIsReturned()
        {
            WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact;
            const int STATUS_ID = 400;

            // Create test Dyntaxa revision species fact.
            dyntaxaRevisionSpeciesFact             = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);
            dyntaxaRevisionSpeciesFact.FactorId    = (Int32)FactorId.SwedishHistory;
            dyntaxaRevisionSpeciesFact.RevisionId  = 24;
            dyntaxaRevisionSpeciesFact.IsPublished = false;
            dyntaxaRevisionSpeciesFact.StatusId    = STATUS_ID;
            newDyntaxaRevisionSpeciesFact          = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            getDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact(
                GetRevisionContext(), (Int32)FactorId.SwedishOccurrence, (Int32)TaxonId.Bear, 24);
            Assert.IsNull(getDyntaxaRevisionSpeciesFact);
        }
 /// <summary>
 /// Creates a new Dyntaxa revision species fact.
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="dyntaxaRevisionSpeciesFact">Object representing the Dyntaxa revision species fact.</param>
 /// <returns>
 /// Created Dyntaxa revision species fact.
 /// </returns>
 public WebDyntaxaRevisionSpeciesFact CreateDyntaxaRevisionSpeciesFact(
     WebClientInformation clientInformation,
     WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact)
 {
     using (WebServiceContext context = new WebServiceContext(clientInformation))
     {
         try
         {
             return(DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(context, dyntaxaRevisionSpeciesFact));
         }
         catch (Exception exception)
         {
             WebServiceData.LogManager.LogError(context, exception);
             throw;
         }
     }
 }
 /// <summary>
 /// Get all dyntaxa revision species fact latest change for specific revision id
 /// </summary>
 /// <param name="clientInformation"></param>
 /// <param name="taxonRevisionId"></param>
 /// <returns></returns>
 public List <WebDyntaxaRevisionSpeciesFact> GetAllDyntaxaRevisionSpeciesFacts(
     WebClientInformation clientInformation,
     Int32 taxonRevisionId)
 {
     using (WebServiceContext context = new WebServiceContext(clientInformation))
     {
         try
         {
             return(DyntaxaManager.GetAllDyntaxaRevisionSpeciesFacts(context, taxonRevisionId));
         }
         catch (Exception exception)
         {
             WebServiceData.LogManager.LogError(context, exception);
             throw;
         }
     }
 }
 /// <summary>
 /// Gets the dyntaxa revision reference relation by identifier.
 /// </summary>
 /// <param name="clientInformation">Client information.</param>
 /// <param name="id">The identifier.</param>
 /// <returns></returns>
 public WebDyntaxaRevisionReferenceRelation GetDyntaxaRevisionReferenceRelationById(
     WebClientInformation clientInformation,
     int id)
 {
     using (WebServiceContext context = new WebServiceContext(clientInformation))
     {
         try
         {
             return(DyntaxaManager.GetDyntaxaRevisionReferenceRelationById(context, id));
         }
         catch (Exception exception)
         {
             WebServiceData.LogManager.LogError(context, exception);
             throw;
         }
     }
 }
コード例 #16
0
        public void SetRevisionSpeciesFactPublished()
        {
            const int STATUS_ID = 400;

            // Create test Dyntaxa revision species fact.
            var dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);

            dyntaxaRevisionSpeciesFact.FactorId    = (Int32)FactorId.SwedishHistory;
            dyntaxaRevisionSpeciesFact.RevisionId  = 24;
            dyntaxaRevisionSpeciesFact.IsPublished = false;
            dyntaxaRevisionSpeciesFact.StatusId    = STATUS_ID;
            DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            var result = DyntaxaManager.SetRevisionSpeciesFactPublished(GetRevisionContext(), 24);

            Assert.AreEqual(true, result);
        }
 /// <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;
         }
     }
 }
コード例 #18
0
        public void GetAllDyntaxaRevisionSpeciesFacts_WhenSpeciesFactExists_ThenSpeciesFactIsReturned()
        {
            WebDyntaxaRevisionSpeciesFact        dyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact;
            List <WebDyntaxaRevisionSpeciesFact> dyntaxaRevisionSpeciesFacts;
            const int STATUS_ID = 400;

            // Create test Dyntaxa revision species fact.
            dyntaxaRevisionSpeciesFact             = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear);
            dyntaxaRevisionSpeciesFact.FactorId    = (Int32)FactorId.SwedishHistory;
            dyntaxaRevisionSpeciesFact.RevisionId  = 24;
            dyntaxaRevisionSpeciesFact.IsPublished = false;
            dyntaxaRevisionSpeciesFact.StatusId    = STATUS_ID;
            DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact);

            dyntaxaRevisionSpeciesFacts = DyntaxaManager.GetAllDyntaxaRevisionSpeciesFacts(
                GetRevisionContext(), 24);

            Assert.AreEqual(1, dyntaxaRevisionSpeciesFacts.Count);
        }
コード例 #19
0
        public void GetAllDyntaxaRevisionReferenceRelations_WhenReferenceRelationExists_ThenReferenceRelationIsReturned()
        {
            //Arrange
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations;
            const int    revisionId               = 24;
            const string relatedObjectGUID        = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const string action                   = "Add";
            var          dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create(
                revisionId, relatedObjectGUID, action);

            DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(GetRevisionContext(), dyntaxaReferenceRelation);

            // Act
            referenceRelations = DyntaxaManager.GetAllDyntaxaRevisionReferenceRelations(
                GetRevisionContext(), revisionId);

            // Assert
            Assert.AreEqual(1, referenceRelations.Count);
        }
コード例 #20
0
        public void GetDyntaxaRevisionReferenceRelation_WhenWrongRevisionId_ThenEmptyListIsReturned()
        {
            // Arrange
            const int    revisionId               = 24;
            const int    wrongRevisionId          = 25;
            const string relatedObjectGUID        = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const string action                   = "Add";
            var          dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create(
                revisionId, relatedObjectGUID, action);

            DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(GetRevisionContext(), dyntaxaReferenceRelation);

            // Act
            var newReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                GetRevisionContext(), wrongRevisionId, relatedObjectGUID);

            // Assert
            Assert.IsNotNull(newReferenceRelations);
            Assert.AreEqual(0, newReferenceRelations.Count);
        }
コード例 #21
0
        public void TestModifyReferenceRelationOneTime()
        {
            // 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
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelation = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateModifyAction(
                    TestRevisionId,
                    5000,
                    TestObjectGUID,
                    TestReferenceId,
                    2,
                    1));

            // Get reference relations for current revision and object GUID.
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);

            Assert.AreEqual(1, referenceRelations.Count);
            Assert.AreEqual(2, referenceRelations[0].ReferenceType);

            // Test with character ' in GUID.
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    "urn:lsid:dyntaxa.se:Taxon:'6010174");
            Assert.IsTrue(referenceRelations.IsEmpty());
        }
コード例 #22
0
        public void GetDyntaxaRevisionReferenceRelationById_WhenDyntaxaRevisionReferenceRelationCreated_ThenCreatedRevisionReferenceRelationIsReturned()
        {
            // Arrange
            const int    revisionId        = 24;
            const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const string action            = "Add";
            const int    referenceId       = 252;
            WebDyntaxaRevisionReferenceRelation dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create(
                revisionId, relatedObjectGUID, action);

            dyntaxaReferenceRelation.ReferenceId = referenceId;
            var newReferenceRelations = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(), dyntaxaReferenceRelation);

            // Act
            WebDyntaxaRevisionReferenceRelation getReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelationById(
                GetRevisionContext(), newReferenceRelations.Id);

            // Assert
            Assert.IsNotNull(getReferenceRelations);
            Assert.AreEqual(relatedObjectGUID, getReferenceRelations.RelatedObjectGUID);
            Assert.AreEqual(action, getReferenceRelations.Action);
            Assert.AreEqual(referenceId, getReferenceRelations.ReferenceId);
        }
コード例 #23
0
        public void TestDeleteReferenceAndThenAddItAgainAndThenUndo()
        {
            // Consts
            const int    TestRevisionId      = 24;
            const string TestObjectGUID      = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const int    TestReferenceId3200 = 3200;

            WebTaxonRevisionEvent revisionEvent1;
            WebTaxonRevisionEvent revisionEvent2;

            // Act

            // Step 1 - Delete reference 3200, Type=2
            revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(),
                                                                        new WebTaxonRevisionEvent()
            {
                CreatedBy    = 2,
                CreatedDate  = DateTime.Now,
                TypeId       = 19,
                RevisionId   = TestRevisionId,
                AffectedTaxa = "Taxon [6010174]",
                OldValue     = "Ref3200,Typ1",
                NewValue     = "Deleted"
            });
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateDeleteAction(
                    TestRevisionId,
                    revisionEvent1.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    2,
                    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(TestReferenceId3200, referenceRelations[0].ReferenceId);
            Assert.AreEqual("Delete", referenceRelations[0].Action);


            // Step 2 - Add reference 3200, Type=1
            revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(),
                                                                        new WebTaxonRevisionEvent()
            {
                CreatedBy    = 2,
                CreatedDate  = DateTime.Now,
                TypeId       = 19,
                RevisionId   = TestRevisionId,
                AffectedTaxa = "Taxon [6010174]",
                OldValue     = "Deleted",
                NewValue     = "Ref3200"
            });
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
                    TestRevisionId,
                    revisionEvent2.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    2));

            // Get reference relations for current revision and object GUID.
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);
            Assert.AreEqual(1, referenceRelations.Count);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId);
            Assert.AreEqual("Add", referenceRelations[0].Action);
        }
コード例 #24
0
        public void TestAddTwoReferenceRelationsToOneObjectGUIDAndThenModifyTypeOfOneOfTheReferences()
        {
            // Consts
            const int    TestRevisionId      = 24;
            const string TestObjectGUID      = "urn:lsid:dyntaxa.se:Taxon:6010174";
            const int    TestReferenceId3200 = 3200;
            const int    TestReferenceId1500 = 1500;

            // Arrange
            WebTaxonRevisionEvent revisionEvent1;
            WebTaxonRevisionEvent revisionEvent2;

            // Act
            // Add new reference 3200 with type 2
            revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(),
                                                                        new WebTaxonRevisionEvent()
            {
                CreatedBy    = 2,
                CreatedDate  = DateTime.Now,
                TypeId       = 19,
                RevisionId   = TestRevisionId,
                AffectedTaxa = "Taxon [6010174]",
                OldValue     = "NULL",
                NewValue     = "Reference3200"
            });
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
                    TestRevisionId,
                    revisionEvent1.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    2));

            // Add new reference 1500 with type 1
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
                    TestRevisionId,
                    revisionEvent1.Id,
                    TestObjectGUID,
                    TestReferenceId1500,
                    1));

            // Get reference relations for current revision and object GUID.
            List <WebDyntaxaRevisionReferenceRelation> referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);

            Assert.AreEqual(2, referenceRelations.Count);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId);
            Assert.AreEqual(2, referenceRelations[0].ReferenceType);
            Assert.AreEqual(TestReferenceId1500, referenceRelations[1].ReferenceId);



            // Change type of Reference 3200 to type 1
            revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(),
                                                                        new WebTaxonRevisionEvent()
            {
                CreatedBy    = 2,
                CreatedDate  = DateTime.Now,
                TypeId       = 19,
                RevisionId   = TestRevisionId,
                AffectedTaxa = "Taxon [6010174]",
                OldValue     = "Type=2",
                NewValue     = "Type=1"
            });
            // Add eller Modify?
            //WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep3 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
            //    GetRevisionContext(),
            //    WebDyntaxaReferenceRelationTestFactory.CreateAddAction(
            //        TestRevisionId,
            //        revisionEvent2.Id,
            //        TestObjectGUID,
            //        TestReferenceId3200,
            //        1));
            WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep3 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(
                GetRevisionContext(),
                WebDyntaxaReferenceRelationTestFactory.CreateModifyAction(
                    TestRevisionId,
                    revisionEvent2.Id,
                    TestObjectGUID,
                    TestReferenceId3200,
                    1,
                    2)); // 2 eller null?

            // Get reference relations for current revision and object GUID.
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);

            Assert.AreEqual(2, referenceRelations.Count);
            Assert.AreEqual(TestReferenceId1500, referenceRelations[0].ReferenceId);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[1].ReferenceId);
            Assert.AreEqual(1, referenceRelations[1].ReferenceType);



            // undo last revision event
            TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent2.Id);
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);
            Assert.AreEqual(2, referenceRelations[0].ReferenceType);

            // Get reference relations for current revision and object GUID.
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);

            Assert.AreEqual(2, referenceRelations.Count);
            Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId);
            Assert.AreEqual(2, referenceRelations[0].ReferenceType);
            Assert.AreEqual(TestReferenceId1500, referenceRelations[1].ReferenceId);

            // undo last revision event once more
            TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent1.Id);
            referenceRelations =
                DyntaxaManager.GetDyntaxaRevisionReferenceRelation(
                    GetRevisionContext(),
                    TestRevisionId,
                    TestObjectGUID);
            Assert.AreEqual(0, referenceRelations.Count);
        }
コード例 #25
0
        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);
        }