public void GetPicturesInformationBySearchCriteria_With_Empty_MetaDataList()
        {
            List <WebPictureInformation> pictureInformations;
            WebPicturesSearchCriteria    searchCriteria;
            List <int> metaData = new List <int>();

            // Test factors.
            searchCriteria = new WebPicturesSearchCriteria {
                FactorIds = new List <int> {
                    2551
                }
            };
            pictureInformations = WebServiceProxy.PictureService.GetPicturesInformationBySearchCriteria(GetClientInformation(), searchCriteria, null, null, null, string.Empty, metaData);
            Assert.IsTrue(pictureInformations.IsNotEmpty());

            // Test taxa.
            searchCriteria = new WebPicturesSearchCriteria {
                TaxonIds = new List <int> {
                    233621
                }
            };
            pictureInformations = WebServiceProxy.PictureService.GetPicturesInformationBySearchCriteria(GetClientInformation(), searchCriteria, null, null, null, string.Empty, metaData);
            Assert.IsTrue(pictureInformations.IsNotEmpty());

            // Test species fact identifiers.
            searchCriteria = new WebPicturesSearchCriteria {
                SpeciesFactIdentifiers = new List <string> {
                    "Taxon=226672,Factor=2540,IndividualCategory=0,Host=0,Period=0"
                }
            };
            pictureInformations = WebServiceProxy.PictureService.GetPicturesInformationBySearchCriteria(GetClientInformation(), searchCriteria, null, null, null, string.Empty, metaData);
            Assert.IsTrue(pictureInformations.IsNotEmpty());
        }
 /// <summary>
 /// Get information about pictures that match search criteria.
 /// </summary>
 /// <param name="clientInformation">Information about the client that makes this web service call.</param>
 /// <param name="searchCriteria">Picture search criteria.</param>
 /// <returns>Pictures that matches search criteria.</returns>
 public List <WebPicture> GetPictureBySearchCriteria(WebClientInformation clientInformation,
                                                     WebPicturesSearchCriteria searchCriteria)
 {
     using (ClientProxy client = new ClientProxy(this, 2))
     {
         return(client.Client.GetPictureBySearchCriteria(clientInformation, searchCriteria));
     }
 }
        public void GetPictureBySearchCriteria()
        {
            List <WebPicture>         pictures;
            WebPicturesSearchCriteria searchCriteria;

            // Test factors.
            searchCriteria = new WebPicturesSearchCriteria {
                FactorIds = new List <int> {
                    2551
                }
            };
            pictures = WebServiceProxy.PictureService.GetPictureBySearchCriteria(GetClientInformation(), searchCriteria);
            Assert.IsTrue(pictures.IsNotEmpty());

            // Test taxa.
            searchCriteria = new WebPicturesSearchCriteria {
                TaxonIds = new List <int> {
                    233621
                }
            };
            pictures = WebServiceProxy.PictureService.GetPictureBySearchCriteria(GetClientInformation(), searchCriteria);
            Assert.IsTrue(pictures.IsNotEmpty());

            // Test species facts.

            searchCriteria = new WebPicturesSearchCriteria {
                SpeciesFactIdentifiers = new List <string> {
                    "Taxon=226672,Factor=2540,IndividualCategory=0,Host=0,Period=0"
                }
            };
            pictures = WebServiceProxy.PictureService.GetPictureBySearchCriteria(GetClientInformation(), searchCriteria);
            Assert.IsTrue(pictures.IsNotEmpty());

            // Test metadata (on db).
            searchCriteria = new WebPicturesSearchCriteria
            {
                MetaData = new List <WebPictureMetaData>
                {
                    new WebPictureMetaData
                    {
                        PictureMetaDataId = 1,
                        Value             = ""
                    }
                }
            };
            pictures = WebServiceProxy.PictureService.GetPictureBySearchCriteria(GetClientInformation(), searchCriteria);
            Assert.IsTrue(pictures.IsNotEmpty());
        }
コード例 #4
0
        /// <summary>
        /// Convert a IPicturesSearchCriteria instance
        /// to a WebPicturesSearchCriteria instance.
        /// </summary>
        /// <param name="searchCriteria">An IPicturesSearchCriteria object.</param>
        /// <returns>A WebPicturesSearchCriteria object.</returns>
        protected WebPicturesSearchCriteria GetPicturesSearchCriteria(IPicturesSearchCriteria searchCriteria)
        {
            WebPicturesSearchCriteria webSearchCriteria;

            webSearchCriteria = new WebPicturesSearchCriteria();
            if (searchCriteria.IsNotNull())
            {
                // TODO: only a single factor and a single taxon are considered, at present
                if (searchCriteria.Factors.IsNotEmpty() && searchCriteria.Taxa.IsNotEmpty())
                {
                    Int32 taxonId = searchCriteria.Taxa[0].Id;
                    Int32 individualCategoryId = 0;
                    Int32 factorId             = searchCriteria.Factors[0].Id;
                    Int32 hostId   = 0;
                    Int32 periodId = 0;

                    if (webSearchCriteria.SpeciesFactIdentifiers.IsNull())
                    {
                        webSearchCriteria.SpeciesFactIdentifiers = new List <String>();
                    }

                    webSearchCriteria.SpeciesFactIdentifiers.Add(CoreData.SpeciesFactManager.GetSpeciesFactIdentifier(taxonId, individualCategoryId, factorId, false, hostId, false, periodId));
                }
                else
                {
                    if (searchCriteria.Factors.IsNotEmpty())
                    {
                        webSearchCriteria.FactorIds = searchCriteria.Factors.GetIds();
                    }

                    if (searchCriteria.Taxa.IsNotEmpty())
                    {
                        webSearchCriteria.TaxonIds = searchCriteria.Taxa.GetIds();
                    }
                }

                webSearchCriteria.MetaData = GetPictureMetaData(searchCriteria.MetaData);
            }

            return(webSearchCriteria);
        }
 /// <summary>
 /// Get information about pictures that match search criteria.
 /// This information contains the picture, metadata
 /// and picture relations.
 /// </summary>
 /// <param name="clientInformation">Information about the client that makes this web service call.</param>
 /// <param name="searchCriteria">Pictures search criteria.</param>
 /// <param name="height">Specifies a particular height.</param>
 /// <param name="width">Specifies a particular width.</param>
 /// <param name="requestedSize">Requested size of retrieved.</param>
 /// <param name="requestedFormat">Requested format of returned picture.</param>
 /// <param name="metaDataIds">Desired metadata to be returned along with the picture.</param>
 /// <returns>Information about pictures that matches search criteria.</returns>
 public List <WebPictureInformation> GetPicturesInformationBySearchCriteria(
     WebClientInformation clientInformation,
     WebPicturesSearchCriteria searchCriteria,
     Int32?height,
     Int32?width,
     Int64?requestedSize,
     String requestedFormat,
     List <Int32> metaDataIds)
 {
     using (ClientProxy client = new ClientProxy(this, 2))
     {
         return(client.Client.GetPicturesInformationBySearchCriteria(clientInformation,
                                                                     searchCriteria,
                                                                     height.GetValueOrDefault(),
                                                                     height.HasValue,
                                                                     width.GetValueOrDefault(),
                                                                     width.HasValue,
                                                                     requestedSize.GetValueOrDefault(),
                                                                     requestedSize.HasValue,
                                                                     requestedFormat,
                                                                     metaDataIds));
     }
 }