コード例 #1
0
        public void GetRecommendedPictureIdsByObjectGuid()
        {
            IPictureRelationType pictureRelationType;
            List <string>        pictureGuids = new List <string> {
                "100024", "100025", "100026", "2582", "Taxon=226672,Factor=2540,IndividualCategory=0,Host=0,Period=0"
            };
            // "2582" , Type 1;
            // "Taxon = 42, Factor = 2540, IndividualCategory = 0, Host = 0, Period = 0" , Type 2;
            // "100024", "100025", "100026" , Type 4;
            PictureRelationTypeList relationTypes = GetPictureManager(true).GetPictureRelationTypes(GetUserContext());

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.Factor);

            PictureGuidList guids = GetPictureManager(true).GetRecommendedPictureIdsByObjectGuid(GetUserContext(), pictureGuids, pictureRelationType);

            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.SpeciesFact);
            guids = GetPictureManager(true).GetRecommendedPictureIdsByObjectGuid(GetUserContext(), pictureGuids, pictureRelationType);
            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.TaxonRedList);
            guids = GetPictureManager(true).GetRecommendedPictureIdsByObjectGuid(GetUserContext(), pictureGuids, pictureRelationType);
            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);
        }
 /// <summary>
 /// Set picture relation types for specified locale.
 /// </summary>
 /// <param name="pictureRelationTypes">Picture relation types.</param>
 /// <param name="locale">The locale.</param>
 protected override void SetPictureRelationTypes(PictureRelationTypeList pictureRelationTypes,
                                                 ILocale locale)
 {
     lock (PictureRelationTypes)
     {
         PictureRelationTypes[locale.ISOCode] = pictureRelationTypes;
     }
 }
コード例 #3
0
        private PictureRelationTypeList GetPictureRelationTypes(Boolean refresh = false)
        {
            if (_pictureRelationTypes.IsNull() || refresh)
            {
                _pictureRelationTypes = CoreData.PictureManager.GetPictureRelationTypes(GetUserContext());
            }

            return(_pictureRelationTypes);
        }
        /// <summary>
        /// Get picture relation types for specified locale.
        /// </summary>
        /// <param name="locale">The locale.</param>
        /// <returns>Picture relation types for specified locale.</returns>
        protected override PictureRelationTypeList GetPictureRelationTypes(ILocale locale)
        {
            PictureRelationTypeList pictureRelationTypes = null;

            lock (PictureRelationTypes)
            {
                if (PictureRelationTypes.ContainsKey(locale.ISOCode))
                {
                    pictureRelationTypes = (PictureRelationTypeList)(PictureRelationTypes[locale.ISOCode]);
                }
            }

            return(pictureRelationTypes);
        }
コード例 #5
0
        public void GetAllRecommendedPictureIds()
        {
            IUserContext            userContext         = GetUserContext();
            PictureRelationTypeList relationTypes       = GetPictureManager(true).GetPictureRelationTypes(userContext);
            IPictureRelationType    pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.Factor);


            PictureGuidList guids = GetPictureManager(true).GetAllRecommendedPictureIds(userContext, pictureRelationType);

            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.SpeciesFact);
            guids = GetPictureManager(true).GetAllRecommendedPictureIds(userContext, pictureRelationType);
            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.TaxonRedList);
            guids = GetPictureManager(true).GetAllRecommendedPictureIds(userContext, pictureRelationType);
            Assert.IsNotNull(guids);
            Assert.IsTrue(guids.Count > 0);
        }
コード例 #6
0
        public void GetAllRecommendedPicturesMetaData()
        {
            int          copyright          = 1;
            int          pictureCreatedBy   = 2;
            int          pictureCreatedDate = 3;
            int          description        = 4;
            IUserContext userContext        = GetUserContext();

            List <int> metaDataIds = new List <int> {
                copyright
            };
            PictureRelationTypeList relationTypes       = GetPictureManager(true).GetPictureRelationTypes(userContext);
            IPictureRelationType    pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.TaxonRedList);

            PictureMetaDataInformationList resultList = GetPictureManager(true).GetAllRecommendedPicturesMetaData(userContext, pictureRelationType, metaDataIds);

            Assert.IsNotNull(resultList);
            Assert.IsTrue(resultList.Count > 0);

            // Check that only copyright data is read
            foreach (IPictureMetaDataInformation dataInformations in resultList)
            {
                foreach (IPictureMetaData pictureMetaData in dataInformations.PictureMetaDataList)
                {
                    Assert.IsTrue(pictureMetaData.Name.Equals("Copyright"));
                    Assert.IsTrue(pictureMetaData.Value.IsNotEmpty());
                }
            }

            metaDataIds = new List <int> {
                pictureCreatedBy, pictureCreatedDate
            };
            relationTypes.Get(PictureRelationTypeIdentifier.SpeciesFact);
            resultList = GetPictureManager(true).GetAllRecommendedPicturesMetaData(userContext, pictureRelationType, metaDataIds);
            Assert.IsNotNull(resultList);
            Assert.IsTrue(resultList.Count > 0);
            // Check data
            foreach (IPictureMetaDataInformation dataInformations in resultList)
            {
                foreach (IPictureMetaData pictureMetaData in dataInformations.PictureMetaDataList)
                {
                    Assert.IsTrue(pictureMetaData.Name.IsNotEmpty());
                    Assert.IsTrue(pictureMetaData.Value.IsNotEmpty());
                }
            }

            metaDataIds = new List <int> {
                description
            };
            resultList = GetPictureManager(true).GetAllRecommendedPicturesMetaData(userContext, pictureRelationType, metaDataIds);
            Assert.IsNotNull(resultList);
            Assert.IsTrue(resultList.Count > 0);
            // Check data
            foreach (IPictureMetaDataInformation dataInformations in resultList)
            {
                foreach (IPictureMetaData pictureMetaData in dataInformations.PictureMetaDataList)
                {
                    Assert.IsTrue(pictureMetaData.Name.Equals("Description"));
                    Assert.IsTrue(pictureMetaData.Value.IsNotEmpty());
                }
            }

            pictureRelationType = relationTypes.Get(PictureRelationTypeIdentifier.Factor);
            metaDataIds         = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            };
            resultList = GetPictureManager(true).GetAllRecommendedPicturesMetaData(userContext, pictureRelationType, metaDataIds);
            Assert.IsNotNull(resultList);
            Assert.IsTrue(resultList.Count > 0);
            // Check data
            foreach (IPictureMetaDataInformation dataInformations in resultList)
            {
                foreach (IPictureMetaData pictureMetaData in dataInformations.PictureMetaDataList)
                {
                    Assert.IsTrue(pictureMetaData.Name.IsNotEmpty());
                    Assert.IsTrue(pictureMetaData.Value.IsNotEmpty());
                }
            }
        }
コード例 #7
0
 public PictureRelationTypeListTest()
 {
     _pictureRelationTypes = null;
 }