/// <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); }
/// <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); }