public void Constructor()
        {
            TaxonRevisionEvent taxonRevisionEvent;

            taxonRevisionEvent = new TaxonRevisionEvent();
            Assert.IsNotNull(taxonRevisionEvent);
        }
 private TaxonRevisionEvent GetRevisionEvent(Boolean refresh)
 {
     if (_taxonRevisionEvent.IsNull() || refresh)
     {
         _taxonRevisionEvent = new TaxonRevisionEvent();
     }
     return(_taxonRevisionEvent);
 }
Exemple #3
0
        /// <summary>
        /// Gets a RevisionEvent for test TODO: for now this event exist in DB
        /// </summary>
        /// <returns></returns>
        public ITaxonRevisionEvent GetReferenceRevisionEvent(IUserContext userContext, int i = 0)
        {
            ITaxonRevisionEvent revEvent = new TaxonRevisionEvent();
            IUser          user          = new User(userContext);
            ITaxonRevision rev           = new TaxonRevision();

            user.Id              = userContext.User.Id;
            revEvent.CreatedBy   = user.Id;
            revEvent.CreatedDate = DateTime.Now;
            revEvent.RevisionId  = rev.Id;
            return(revEvent);
        }
        public void GetDyntaxaRevisionSpeciesFact_WhenRowIsCreatedAndLaterChanged_ThenLastChangedRowReturned()
        {
            DyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact1, dyntaxaRevisionSpeciesFact2, currentDyntaxaRevisionSpeciesFact;
            TaxonRevisionEvent         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;
            dyntaxaRevisionSpeciesFact1.ChangedInRevisionEventId = null;

            revisionEvent1 = new TaxonRevisionEvent()
            {
                CreatedBy   = 2,
                CreatedDate = DateTime.Now,
                Type        = new TaxonRevisionEventType()
                {
                    Description = "", Id = 1, Identifier = ""
                },
                RevisionId   = revisionId,
                AffectedTaxa = "Bear",
                OldValue     = "StatusId=Unknown",
                NewValue     = "StatusId=400"
            };

            IUserContext userContext = GetRevisionUserContext();
            DyntaxaInternalTaxonServiceManager manager = new DyntaxaInternalTaxonServiceManager();

            using (ITransaction transaction = userContext.StartTransaction())
            {
                revisionEvent1 = manager.CreateCompleteRevisionEvent(userContext, revisionEvent1);

                dyntaxaRevisionSpeciesFact1.RevisionEventId = revisionEvent1.Id;
                dyntaxaRevisionSpeciesFact1 = manager.CreateDyntaxaRevisionSpeciesFact(userContext,
                                                                                       dyntaxaRevisionSpeciesFact1);
                currentDyntaxaRevisionSpeciesFact = manager.GetDyntaxaRevisionSpeciesFact(
                    userContext, (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId);

                //Assert first Insert
                Assert.AreEqual(revisionEvent1.Id, dyntaxaRevisionSpeciesFact1.RevisionEventId);
                Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.ChangedInRevisionEventId.HasValue);
                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 TaxonRevisionEvent()
                {
                    CreatedBy   = 3, //Changed
                    CreatedDate = DateTime.Now,
                    Type        = new TaxonRevisionEventType()
                    {
                        Description = "", Id = 1, Identifier = ""
                    },
                    RevisionId   = revisionId,
                    AffectedTaxa = "Bear",
                    OldValue     = "StatusId=400", //Changed
                    NewValue     = "StatusId=450"  //Changed
                };
                revisionEvent2 = manager.CreateCompleteRevisionEvent(userContext, revisionEvent2);
                dyntaxaRevisionSpeciesFact2.RevisionEventId = revisionEvent2.Id;
                dyntaxaRevisionSpeciesFact2 = manager.CreateDyntaxaRevisionSpeciesFact(userContext,
                                                                                       dyntaxaRevisionSpeciesFact2);
                currentDyntaxaRevisionSpeciesFact = manager.GetDyntaxaRevisionSpeciesFact(
                    userContext, (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId);

                // Check values.
                Assert.AreEqual(450, currentDyntaxaRevisionSpeciesFact.StatusId);
                Assert.AreEqual(revisionEvent2.Id, currentDyntaxaRevisionSpeciesFact.RevisionEventId);
                Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.ChangedInRevisionEventId.HasValue);
                // 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="userContext">The user context.</param>
 /// <param name="taxonRevisionEvent">The taxon revision event.</param>
 /// <returns>The created revision event.</returns>
 public TaxonRevisionEvent CreateCompleteRevisionEvent(IUserContext userContext, TaxonRevisionEvent taxonRevisionEvent)
 {
     return(DataSource.CreateCompleteRevisionEvent(userContext, taxonRevisionEvent));
 }
Exemple #6
0
        /// <summary>
        /// Gets a Revision for test
        /// </summary>
        /// <returns></returns>
        public ITaxonRevision GetReferenceRevision(IUserContext userContext, int taxonId, string state)
        {
            ITaxonRevisionEvent revEvent = new TaxonRevisionEvent();
            IUser          user          = new User(userContext);
            ITaxonRevision rev           = new TaxonRevision();

            user.Id              = userContext.User.Id;
            revEvent.CreatedBy   = user.Id;
            revEvent.CreatedDate = DateTime.Now;
            if (state.Equals("Created"))
            {
                revEvent.Type = new TaxonRevisionEventType()
                {
                    Description = "", Id = 1, Identifier = ""
                };
            }
            else if (state.Equals("Ongoing"))
            {
                revEvent.Type = new TaxonRevisionEventType()
                {
                    Description = "", Id = 2, Identifier = ""
                };
            }
            else
            {
                revEvent.Type = new TaxonRevisionEventType()
                {
                    Description = "", Id = 3, Identifier = ""
                };
            }
            revEvent.RevisionId = rev.Id;
            List <ITaxonRevisionEvent> revisionEventList = new List <ITaxonRevisionEvent>();

            revisionEventList.Add((TaxonRevisionEvent)revEvent);

            rev.CreatedBy         = user.Id;
            rev.CreatedDate       = DateTime.Now;
            rev.ExpectedEndDate   = new DateTime(2447, 08, 01);
            rev.ExpectedStartDate = DateTime.Now;
            if (state.Equals("Created"))
            {
                rev.State = new TaxonRevisionState()
                {
                    Id = 1, Identifier = TaxonRevisionStateId.Created.ToString()
                };
                rev.Guid        = DyntaxaTestSettings.Default.TestRevisionGUID;
                rev.Id          = DyntaxaTestSettings.Default.TestRevisionId;
                rev.Description = "My revision no " + DyntaxaTestSettings.Default.TestRevisionId;
            }
            else if (state.Equals("Ongoing"))
            {
                rev.State = new TaxonRevisionState()
                {
                    Id = 2, Identifier = TaxonRevisionStateId.Ongoing.ToString()
                };
                rev.Guid        = DyntaxaTestSettings.Default.TestRevisionOngoingGUID;
                rev.Id          = DyntaxaTestSettings.Default.TestRevisionOngoingId;
                rev.Description = "My revision no " + DyntaxaTestSettings.Default.TestRevisionOngoingId;
            }
            else
            {
                rev.State = new TaxonRevisionState()
                {
                    Id = 3, Identifier = TaxonRevisionStateId.Closed.ToString()
                };
                rev.Guid        = DyntaxaTestSettings.Default.TestRevisionPublishedGUID;
                rev.Id          = DyntaxaTestSettings.Default.TestRevisionPublishedId;
                rev.Description = "My revision no " + DyntaxaTestSettings.Default.TestRevisionPublishedId;
            }

            rev.SetRevisionEvents(revisionEventList);
            rev.RootTaxon = GetReferenceTaxon(userContext, taxonId);

            return(rev);
        }
 public RevisionEventTest()
 {
     _taxonRevisionEvent = null;
 }
        /// <summary>
        /// Creates a complete revision event.
        /// </summary>
        /// <param name="userContext">The user context.</param>
        /// <param name="taxonRevisionEvent">The taxon revision event.</param>
        /// <returns>The created revision event.</returns>
        public virtual TaxonRevisionEvent CreateCompleteRevisionEvent(IUserContext userContext, TaxonRevisionEvent taxonRevisionEvent)
        {
            WebTaxonRevisionEvent webRevisionEvent;

            CheckTransaction(userContext);
            webRevisionEvent = WebServiceProxy.DyntaxaInternalService.CreateCompleteRevisionEvent(
                GetClientInformation(userContext),
                GetTaxonRevisionEvent(taxonRevisionEvent));
            UpdateTaxonRevisionEvent(userContext, taxonRevisionEvent, webRevisionEvent);
            return(taxonRevisionEvent);
        }