/// <summary> /// Gets all recommended picutres from picture relation type. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="pictureRelationType">Picture relation of this type.</param> /// <returns>Picture guids related to specified object.</returns> public PictureGuidList GetAllRecommendedPictureIds(IUserContext userContext, IPictureRelationType pictureRelationType) { PictureGuidList pictureGuidList; pictureGuidList = DataSource.GetAllRecommendedPictureIds(userContext, pictureRelationType); return(pictureGuidList); }
/// <summary> /// Get picture relations related to specified taxon. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="taxon">Taxon that may be related to pictures.</param> /// <param name="pictureRelationType">Type of picture relations that are requested.</param> /// <returns>Picture relations related to specified taxon.</returns> public virtual PictureRelationList GetPictureRelations(IUserContext userContext, ITaxon taxon, IPictureRelationType pictureRelationType) { return(DataSource.GetPictureRelations(userContext, taxon.Id.ToString(), pictureRelationType)); }
/// <summary> /// Get metadata about all recommended pictures selected by picture relation type id. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="pictureRelationType">Type of picture to get metadata for. </param> /// <param name="pictureMetaDataDescriptionsIds">Ids of the metadadescriptions to be retrieved.</param> /// <returns>Picture metadata descriptions for specified ids and pictureId.</returns> public PictureMetaDataInformationList GetAllRecommendedPicturesMetaData(IUserContext userContext, IPictureRelationType pictureRelationType, List <Int32> pictureMetaDataDescriptionsIds) { return(DataSource.GetAllRecommendedPicturesMetaData(userContext, pictureRelationType, pictureMetaDataDescriptionsIds)); }
/// <summary> /// Get recommended picture ids related to corresponding object guids. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="objectGuids">Guids for objects that may be related to a picture.</param> /// <param name="pictureRelationType">Picture relation of this type.</param> /// <returns>Picture guids related to specified object.</returns> public PictureGuidList GetRecommendedPictureIdsByObjectGuid(IUserContext userContext, List <string> objectGuids, IPictureRelationType pictureRelationType) { PictureGuidList pictureGuidList; pictureGuidList = DataSource.GetRecommendedPictureIdsByObjectGuid(userContext, objectGuids, pictureRelationType); return(pictureGuidList); }
///// <summary> ///// Gets a picture from the pictureservice by using the pictureid ///// </summary> ///// <param name="pictureId"></param> ///// <param name="pictureHeight">Height of returned picture.</param> ///// <param name="pictureWidth">Width of returned picture.</param> ///// <param name="requestedPictureSize">Requested size of returned picture.</param> ///// <param name="isRequestedPictureSizeSpecified">Is requested size of returned picture specified.</param> ///// <param name="requestedFormat">Requested format of returned picture.</param> ///// <returns></returns> //public string GetPictureByPictureId(int pictureId, // int pictureHeight, // int pictureWidth, // long requestedPictureSize, // bool isRequestedPictureSizeSpecified, // string requestedFormat) //{ // IPicture picture; // try // { // picture = CoreData.PictureManager.GetPicture(mUserContext, // pictureId, // pictureHeight, // pictureWidth, // requestedPictureSize, // isRequestedPictureSizeSpecified, // requestedFormat); // } // catch (Exception ex) // { // throw new TaxonSpeciesFactManagerException(RedListResource.FailedToGetPictureFromPictureService, ex); // } // return picture == null ? null : picture.Image; //} ///// <summary> ///// Gets a picture by the given taxon id. ///// </summary> ///// <param name="taxon">The taxon to use to retrieve a recommended picture.</param> ///// <returns>The picture object.</returns> //public string GetPictureByTaxon(ITaxon taxon) //{ // long pictureId; // return GetPictureByTaxon(taxon, // AppSettings.Default.PictureXtraLargeHeight, // AppSettings.Default.PictureXtraLargeWidth, // 0, // false, // string.Empty, // out pictureId); //} /// <summary> /// Get picture by taxon and requested picture related properties. /// </summary> /// <param name="taxon">Taxon that expects to be related to picture.</param> /// <param name="pictureHeight">Height of returned picture.</param> /// <param name="pictureWidth">Width of returned picture.</param> /// <param name="requestedPictureSize">Requested size of returned picture.</param> /// <param name="isRequestedPictureSizeSpecified">Is requested size of returned picture specified.</param> /// <param name="requestedFormat">Requested format of returned picture.</param> /// <param name="pictureId">Id for uploded image. Will also be returned from this method.</param> /// <returns>Picture as binary string.</returns> public string GetPictureByTaxon( ITaxon taxon, int pictureHeight, int pictureWidth, long requestedPictureSize, bool isRequestedPictureSizeSpecified, string requestedFormat, out long pictureId) { IPictureRelationType pictureRelationType = CoreData.PictureManager.GetPictureRelationType(mUserContext, PictureRelationTypeIdentifier.TaxonRedList); PictureRelationList pictureRelations = CoreData.PictureManager.GetPictureRelations(mUserContext, taxon, pictureRelationType); pictureId = 0; if (pictureRelations.IsNotNull()) { IPictureRelation pictureRelation = pictureRelations.FirstOrDefault(r => r.IsRecommended); if (pictureRelation.IsNotNull()) { if (pictureRelation != null) { IPicture taxonPicture = CoreData.PictureManager.GetPicture( mUserContext, pictureRelation.PictureId, pictureHeight, pictureWidth, requestedPictureSize, isRequestedPictureSizeSpecified, requestedFormat); if (taxonPicture.IsNotNull()) { pictureId = taxonPicture.Id; } return(taxonPicture.Image); } } } return(null); }
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); }
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()); } } }
///// <summary> ///// Gets a list of metadata for a specific picture ///// </summary> ///// <param name="pictureId"></param> ///// <param name="metaDataIds">A list of meta data ids</param> ///// <returns></returns> //public PictureMetaDataList GetPictureMetaDataListByPictureId(long pictureId, List<int> metaDataIds) //{ // if (pictureId <= 0) // { // throw new TaxonSpeciesFactManagerException(); // } // try // { // return CoreData.PictureManager.GetPictureMetaData(mUserContext, pictureId, metaDataIds); // } // catch (Exception ex) // { // throw new TaxonSpeciesFactManagerException(RedListResource.FailedToGetPictureMetaDataFromPictureManager, ex); // } //} /// <summary> /// Gets the picture relations from a a taxon and a given relation type /// </summary> /// <param name="taxon"></param> /// <returns></returns> public PictureRelationList GetPictureRelations(ITaxon taxon) { IPictureRelationType pictureRelationType = CoreData.PictureManager.GetPictureRelationType(mUserContext, PictureRelationTypeIdentifier.TaxonRedList); return(CoreData.PictureManager.GetPictureRelations(mUserContext, taxon, pictureRelationType)); }