/// <summary>
 /// Get information about pictures that match search criteria.
 /// This information contains the picture, metadata
 /// and picture relations.
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method 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 <IPictureInformation> GetPicturesInformation(
     IUserContext userContext,
     IPicturesSearchCriteria searchCriteria,
     Int32?height,
     Int32?width,
     Int64?requestedSize,
     String requestedFormat,
     List <Int32> metaDataIds)
 {
     return(DataSource.GetPicturesInformation(userContext,
                                              searchCriteria,
                                              height,
                                              width,
                                              requestedSize,
                                              requestedFormat,
                                              metaDataIds));
 }
Exemplo n.º 2
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 matches search criteria.
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="searchCriteria">Pictures search criteria.</param>
 /// <returns>Pictures that matches search criteria.</returns>
 public virtual PictureList GetPictures(IUserContext userContext,
                                        IPicturesSearchCriteria searchCriteria)
 {
     return(DataSource.GetPictures(userContext, searchCriteria));
 }