Exemple #1
0
        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);
        }
Exemple #3
0
        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);
 }