コード例 #1
0
        /// <summary>
        /// Inserts Media into the Medias Table
        /// </summary>
        /// <param name="media">A new populated media.</param>
        /// <returns>Insert Count</returns>
        private int Insert(Media media)
        {
            DbParameter        outParameter = database.MakeParameter("@Identity", 0, ParameterDirection.Output);
            List <DbParameter> parameters   = new List <DbParameter>
            {
                database.MakeParameter("@Title", media.Title),
                database.MakeParameter("@Description", media.Description),
                database.MakeParameter("@MediaMonth", media.Month),
                database.MakeParameter("@MediaYear", media.Year),
                database.MakeParameter("@MediaDay", media.Day),
                database.MakeParameter("@UserId", media.Owner.UserId),
                database.MakeParameter("@Status", media.Status.ToString()),
                database.MakeParameter("@Tags", media.Tags),
                outParameter
            };

            database.NonQuery("Media_Insert", parameters);
            int id = Convert.ToInt32(outParameter.Value);

            foreach (MediaFile file in media.MediaFiles)
            {
                file.MediaId = id;
                _mediaFileRepository.Save(file);
            }

            TagCollection interalTagCollection = new TagCollection(media.Tags);

            foreach (Tag tag in interalTagCollection.Tags)
            {
                _tagRepository.InsertTagWithMediaId(tag, id);
            }

            return(id);
        }
コード例 #2
0
        /// <summary>
        /// Images the resizer.
        /// </summary>
        public void ResizeTheImages()
        {
            List <MediaFile> mediaFiles = CreateAndInsertMediaFiles();
            MediaQueue       mediaQueue = _mediaQueueRepository.RetrieveQueuedByMediaId(_uploaderMedia.Id)[0];

            foreach (MediaFile file in mediaFiles)
            {
                byte[] bytes = _resizerService.ResizeImage(mediaQueue.MediaBytes, file.PhotoType);

                using (Bitmap bitmap = _queueFileService.GetBitmap(bytes))
                {
                    file.Size   = bytes.LongLength;
                    file.Width  = bitmap.Width;
                    file.Height = bitmap.Height;
                }

                _queueFileService.AddFileToQueue(bytes, _uploaderMedia.Id, file);
            }

            _mediaFileRepository.Save(mediaFiles);
        }