public void UpdatePictureRelations() { Boolean pictureRelationFound; IPictureRelation pictureRelation = new PictureRelation { Id = 1, IsRecommended = false, ObjectGuid = "1", PictureId = 1, SortOrder = 2, Type = CoreData.PictureManager.GetPictureRelationType(GetUserContext(), 3) }; PictureRelationList pictureRelations = new PictureRelationList { pictureRelation }; Int32 affectedRows; PictureRelationList updatedPictureRelations; using (ITransaction transaction = GetUserContext().StartTransaction()) { affectedRows = GetPictureManager(true).UpdatePictureRelations(GetUserContext(), pictureRelations); Assert.IsTrue((affectedRows > 0) && (affectedRows == pictureRelations.Count)); updatedPictureRelations = this.GetPictureManager().GetPictureRelations(GetUserContext(), pictureRelation.PictureId); Assert.IsNotNull(updatedPictureRelations); Assert.IsTrue(updatedPictureRelations.IsNotEmpty()); pictureRelationFound = false; foreach (IPictureRelation updatedPictureRelation in updatedPictureRelations) { if (pictureRelation.Id == updatedPictureRelation.Id) { Assert.AreEqual(pictureRelation.Id, updatedPictureRelation.Id); Assert.AreEqual(pictureRelation.IsRecommended, updatedPictureRelation.IsRecommended); Assert.AreEqual(pictureRelation.ObjectGuid, updatedPictureRelation.ObjectGuid); Assert.AreEqual(pictureRelation.PictureId, updatedPictureRelation.PictureId); Assert.AreEqual(pictureRelation.SortOrder, updatedPictureRelation.SortOrder); Assert.AreEqual(pictureRelation.Type.Id, updatedPictureRelation.Type.Id); pictureRelationFound = true; } } Assert.IsTrue(pictureRelationFound); } }
///// <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 CreatePictureRelations() { Boolean isRecommended = false; String objectGuid = "226679"; Int64 pictureId = 33; Int32 typeId = 3; PictureRelationList pictureRelations = new PictureRelationList { new PictureRelation { IsRecommended = isRecommended, ObjectGuid = objectGuid, PictureId = pictureId, SortOrder = 2, Type = CoreData.PictureManager.GetPictureRelationType(GetUserContext(), typeId) }, new PictureRelation { IsRecommended = isRecommended, ObjectGuid = objectGuid, PictureId = pictureId + 1, SortOrder = 3, Type = CoreData.PictureManager.GetPictureRelationType(GetUserContext(), typeId) } }; PictureRelationList newPictureRelations; using (ITransaction transaction = GetUserContext().StartTransaction()) { GetPictureManager(true).CreatePictureRelations(GetUserContext(), pictureRelations); newPictureRelations = GetPictureManager().GetPictureRelations(GetUserContext(), pictureId); Assert.IsTrue(0 < newPictureRelations.Count); newPictureRelations = GetPictureManager().GetPictureRelations(GetUserContext(), pictureId + 1); Assert.IsTrue(0 < newPictureRelations.Count); } }
/// <summary> /// Update picture relations. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="updatePictureRelations">List of picture relations to update.</param> /// <returns>Number of updated records.</returns> public virtual Int32 UpdatePictureRelations(IUserContext userContext, PictureRelationList updatePictureRelations) { return(DataSource.UpdatePictureRelations(userContext, updatePictureRelations)); }
/// <summary> /// Create picture relations. /// </summary> /// <param name="userContext"> /// Information about the user that makes this method call. /// </param> /// <param name="createPictureRelations">List of picture relations to create.</param> public virtual void CreatePictureRelations(IUserContext userContext, PictureRelationList createPictureRelations) { DataSource.CreatePictureRelations(userContext, createPictureRelations); }