Beispiel #1
0
        public void UpdatePictureMetaData()
        {
            Int64 pictureId = 33;
            PictureMetaDataList oldPictureMetaData    = GetPictureManager(true).GetPictureMetaData(GetUserContext(), pictureId, null);
            PictureMetaDataList updatePictureMetaData = new PictureMetaDataList
            {
                new PictureMetaData
                {
                    Id    = 1,
                    Value = "Test (C)"
                },
                new PictureMetaData
                {
                    Id    = 2,
                    Value = "Test Author"
                }
            };
            String updatedBy = GetUserContext().User.GetPerson(GetUserContext()).FullName;
            Int32  affectedRows;

            using (ITransaction transaction = GetUserContext().StartTransaction())
            {
                affectedRows = GetPictureManager().UpdatePictureMetaData(GetUserContext(), pictureId, updatedBy, updatePictureMetaData);
                Assert.IsTrue((affectedRows > 0) && (affectedRows == updatePictureMetaData.Count + 1)); // + 1: updatedBy.
                affectedRows = GetPictureManager().UpdatePictureMetaData(GetUserContext(), pictureId, updatedBy, oldPictureMetaData);
                Assert.IsTrue((affectedRows > 0) && (affectedRows == oldPictureMetaData.Count + 1));    // + 1: updatedBy
            }
        }
        /// <summary>
        /// Get picture by taxon and requested picture related properties.
        /// </summary>
        /// <param name="pictureId">Taxon that expects to be related to picture.</param>
        /// <returns>String of metadata</returns>
        public string GetPictureMetadataByPictureId(long pictureId)
        {
            var metadataIds = new List <int>();
            var pictureText = new StringBuilder();

            if (pictureId > 0)
            {
                PictureMetaDataList metadatList = CoreData.PictureManager.GetPictureMetaData(mUserContext, pictureId, metadataIds);

                if (metadatList.IsNotNull())
                {
                    foreach (IPictureMetaData metaData in metadatList)
                    {
                        if (metaData.Id == (int)PictureMetaDataDescriptionId.Copyright)
                        {
                            // This is the only field used in redlist application and it is the Photogafer.
                            pictureText.Append(metaData.Value);
                        }
                    }
                }
                return(pictureText.ToString());
            }

            return(string.Empty);
        }
Beispiel #3
0
        public void GetPictureMetaDataById_MetaData_Not_Saved_on_db()
        {
            long pictureId = 33;
            PictureMetaDataList pictureMetaDataAttributes = GetPictureManager(true).GetPictureMetaData(GetUserContext(), pictureId, null);

            Assert.IsNotNull(pictureMetaDataAttributes);
            Assert.IsTrue(pictureMetaDataAttributes.IsNotEmpty());
        }
 /// <summary>
 /// Create picture metadata
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="pictureId">Id of the picture whose metadata should be created.</param>
 /// <param name="createMetaData">List of metadata to create.</param>
 public virtual void CreatePictureMetaData(IUserContext userContext,
                                           Int64 pictureId,
                                           PictureMetaDataList createMetaData)
 {
     DataSource.CreatePictureMetaData(userContext,
                                      pictureId,
                                      createMetaData);
 }
 /// <summary>
 /// Delete picture metadata
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="pictureId">Id of the picture whose metadata should be deleted.</param>
 /// <param name="deleteMetaData">List of metadata to delete.</param>
 /// <returns>Number of deleted records.</returns>
 public virtual Int32 DeletePictureMetaData(IUserContext userContext,
                                            Int64 pictureId,
                                            PictureMetaDataList deleteMetaData)
 {
     return(DataSource.DeletePictureMetaData(userContext,
                                             pictureId,
                                             deleteMetaData));
 }
Beispiel #6
0
        public void GetPictureMetaDataById_With_Empty_MetaDataList()
        {
            long                pictureId = 33;
            List <int>          metaData  = new List <int>();
            PictureMetaDataList pictureMetaDataAttributes = GetPictureManager(true).GetPictureMetaData(GetUserContext(), pictureId, metaData);

            Assert.IsNotNull(pictureMetaDataAttributes);
            Assert.IsTrue(pictureMetaDataAttributes.IsNotEmpty());
        }
Beispiel #7
0
        public void GetPictureMetaDataById_With_Negative_PictureId_And_Null_MetaDataList()
        {
            long                pictureId = -33;
            List <int>          metaData  = null;
            PictureMetaDataList pictureMetaDataAttributes = GetPictureManager(true).GetPictureMetaData(GetUserContext(), pictureId, metaData);

            Assert.IsNull(pictureMetaDataAttributes);
            Assert.IsTrue(pictureMetaDataAttributes.IsEmpty());
        }
        /// <summary>
        /// Add metadata to search criteria.
        /// </summary>
        /// <param name="metaData">The metadata.</param>
        public void Add(IPictureMetaData metaData)
        {
            if (MetaData.IsNull())
            {
                MetaData = new PictureMetaDataList();
            }

            MetaData.Add(metaData);
        }
 /// <summary>
 /// Update picture metadata
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="pictureId">Id of the picture whose metadata should be updated.</param>
 /// <param name="updatedBy">User who last updated the picture.</param>
 /// <param name="updateMetaData">List of metadata to update.</param>
 /// <returns>Number of updated records.</returns>
 public virtual Int32 UpdatePictureMetaData(IUserContext userContext,
                                            Int64 pictureId,
                                            String updatedBy,
                                            PictureMetaDataList updateMetaData)
 {
     return(DataSource.UpdatePictureMetaData(userContext,
                                             pictureId,
                                             updatedBy,
                                             updateMetaData));
 }
Beispiel #10
0
        public void CreateDeletePictureFilename()
        {
            Int64 pictureId = 33;
            PictureMetaDataList pictureMetaData = new PictureMetaDataList
            {
                new PictureMetaData
                {
                    Id    = 1,
                    Value = "(C) Test 2014"
                },
                new PictureMetaData
                {
                    Id    = 2,
                    Value = "Test Author"
                },
                new PictureMetaData
                {
                    Id    = 3,
                    Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                }
            };
            IPicture     picture  = GetPictureManager(true).GetPicture(GetUserContext(), pictureId, null, null, 0, false, string.Empty);
            String       filename = @"\Temp\JN_Leiobunum-blackwalli_226679_Hane_new.jpg";
            Int32        affectedRows;
            DateTime     lastModified       = DateTime.Now;
            String       updatedBy          = GetUserContext().User.GetPerson(GetUserContext()).FullName;
            List <Int32> pictureMetaDataIds = new List <int> {
                1, 2, 3
            };
            PictureMetaDataList newPictureMetaData;
            IPictureResponse    pictureResponse;

            using (ITransaction transaction = GetUserContext().StartTransaction())
            {
                pictureResponse = GetPictureManager().CreatePictureFilename(GetUserContext(), picture.Image, filename, lastModified, picture.VersionId + 1, updatedBy, pictureMetaData);
                Assert.AreEqual(pictureResponse.AffectedRows, 1);
                Assert.IsTrue(pictureResponse.Id > 0);
                newPictureMetaData = GetPictureManager().GetPictureMetaData(GetUserContext(), pictureResponse.Id, pictureMetaDataIds);
                Assert.IsNotNull(newPictureMetaData);
                Assert.IsTrue(newPictureMetaData.IsNotEmpty());
                Assert.AreEqual(pictureMetaData.Count, newPictureMetaData.Count);
                for (int i = 0; i < newPictureMetaData.Count; i++)
                {
                    Assert.AreEqual(pictureMetaData[i].Id, newPictureMetaData[i].Id);
                    Assert.AreEqual(pictureMetaData[i].Value, newPictureMetaData[i].Value);
                }

                affectedRows = GetPictureManager().DeletePictureMetaData(GetUserContext(), pictureResponse.Id, pictureMetaData);
                Assert.AreEqual(affectedRows, pictureMetaData.Count);
                affectedRows = GetPictureManager().DeletePictureFilename(GetUserContext(), null, filename, picture.PictureStringId);
                Assert.IsTrue(0 < affectedRows);
            }
        }
        public void GetPictureMetaDataById_With_MetaDataList()
        {
            long       pictureId = 33;
            List <int> metaData  = new List <int> {
                2, 3
            };
            PictureMetaDataList pictureMetaDataAttributes = GetPictureDataSource(true).GetPictureMetaData(GetUserContext(), pictureId, metaData);

            Assert.IsNotNull(pictureMetaDataAttributes);
            Assert.IsTrue(pictureMetaDataAttributes.IsNotEmpty());
            Assert.AreEqual(pictureMetaDataAttributes.Count, metaData.Count);
        }
Beispiel #12
0
        /// <summary>
        /// Convert a list of IPictureMetaData instances
        /// to a list of WebPictureMetaData instances.
        /// </summary>
        /// <param name="pictureMetaDataList">List of IPictureMetaDataList instances.</param>
        /// <returns>A list of WebPictureMetaData instances.</returns>
        private List <WebPictureMetaData> GetPictureMetaData(PictureMetaDataList pictureMetaDataList)
        {
            List <WebPictureMetaData> webPictureMetaDataList;

            webPictureMetaDataList = null;
            if (pictureMetaDataList.IsNotEmpty())
            {
                webPictureMetaDataList = pictureMetaDataList.Select(GetPictureMetaData).ToList();
            }

            return(webPictureMetaDataList);
        }
 /// <summary>
 /// Creates a new picture filename.
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="picture">Picture to save to disk.</param>
 /// <param name="filename">Filename of the picture filename.</param>
 /// <param name="lastModified">The date when the picture was last modified.</param>
 /// <param name="versionId">Version number of picture.</param>
 /// <param name="updatedBy">User who last updated the picture.</param>
 /// <param name="createMetaData">List of metadata to create.</param>
 /// <returns>Response message containing user context created pictureId and number of inserted rows.</returns>
 public virtual IPictureResponse CreatePictureFilename(IUserContext userContext,
                                                       String picture,
                                                       String filename,
                                                       DateTime?lastModified,
                                                       Int64 versionId,
                                                       String updatedBy,
                                                       PictureMetaDataList createMetaData)
 {
     return(DataSource.CreatePictureFilename(userContext,
                                             picture,
                                             filename,
                                             lastModified,
                                             versionId,
                                             updatedBy,
                                             createMetaData));
 }
Beispiel #14
0
        public void CreateDeletePictureMetaData()
        {
            Int64 pictureId = 32;
            PictureMetaDataList pictureMetaData = new PictureMetaDataList
            {
                new PictureMetaData
                {
                    Id    = 1,
                    Value = "(C) Test 2014"
                },
                new PictureMetaData
                {
                    Id    = 2,
                    Value = "Test Author"
                },
                new PictureMetaData
                {
                    Id    = 3,
                    Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                }
            };
            PictureMetaDataList newPictureMetaData;
            Int32 affectedRows;

            using (ITransaction transaction = GetUserContext().StartTransaction())
            {
                GetPictureManager(true).CreatePictureMetaData(GetUserContext(), pictureId, pictureMetaData);
                newPictureMetaData = GetPictureManager().GetPictureMetaData(GetUserContext(), pictureId, null);
                Assert.AreEqual(newPictureMetaData.Count, pictureMetaData.Count);
                pictureMetaData[0].Value = string.Empty;
                pictureMetaData[1].Value = string.Empty;
                pictureMetaData[2].Value = string.Empty;
                affectedRows             = GetPictureManager().DeletePictureMetaData(GetUserContext(), pictureId, pictureMetaData);
                Assert.IsTrue((affectedRows > 0) && (affectedRows == pictureMetaData.Count));
            }
        }