public Result <MediaModel> UploadPicture(UploadFileData imageData) { if (imageData == null) { return(Result <MediaModel> .NewFailure($"Parameter '{nameof(imageData)}' is NULL.")); } try { var savedFile = new SavedFileInfo(); foreach (var option in ResizeOptions) { var rScaledImage = _imgConvUtil.GetScaledJpegBytes(imageData.Bytes, option); if (!rScaledImage.Success) { return(Result <MediaModel> .NewFailure(rScaledImage.ErrorMessage)); } var scaledImage = rScaledImage.Value; var storageSaveFileModel = _mapper.Map <StorageFileSaveModel>(imageData); storageSaveFileModel.Bytes = scaledImage.Bytes; var rStorageFileData = _filesBinaryStorage.SaveFile(storageSaveFileModel: storageSaveFileModel); if (!rStorageFileData.Success) { return(Result <MediaModel> .NewFailure(rStorageFileData.ErrorMessage)); } var imgType = _mapper.Map <ImageType>(option.OperationType); var scaledPicInfo = new SavedScaledPicInfo( dimention: scaledImage.Size, filePathParts: rStorageFileData.Value.RelativeFilePathParts, imgType: imgType); savedFile.AddScaledPicInfo(data: scaledPicInfo); } // Save the pic data to table. var storageSaveMediaModel = GetStorageSaveMediaModel(imageData, savedFile); var resultStorageSaveFile = _filesInfoStorage.SaveMedia(storageSaveMediaModel); if (!resultStorageSaveFile.Success) { return(Result <MediaModel> .NewFailure(resultStorageSaveFile.ErrorMessage)); } var result = _mapper.Map <MediaModel>(resultStorageSaveFile.Value); return(Result <MediaModel> .NewSuccess(result)); } catch (Exception ex) { return(Result <MediaModel> .NewFailure(ex.ToString())); } }
private void AddRecentFile(string file, string password) { var filename = GetRecentsXmlFile(); var serializer = new XmlSerializer(typeof(List <SavedFileInfo>)); var newSavedFileInfo = new SavedFileInfo(file, password); if (!File.Exists(filename)) { using (var stream = new FileStream(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { serializer.Serialize(stream, new List <SavedFileInfo> { newSavedFileInfo }); } } else { List <SavedFileInfo> recentFiles; using (var stream = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { recentFiles = serializer.Deserialize(stream) as List <SavedFileInfo>; if (recentFiles == null) { return; } } using (var stream = new FileStream(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { var existingEntry = recentFiles.FirstOrDefault(x => x.FilePath.ToLowerInvariant() == file.ToLowerInvariant()); if (existingEntry != null) { recentFiles.Remove(existingEntry); } recentFiles.Insert(0, newSavedFileInfo); serializer.Serialize(stream, recentFiles); PopulateRecentFiles(recentFiles); } } }
private StorageMediaCreateModel GetStorageSaveMediaModel(UploadFileData imageData, SavedFileInfo savedFile) { var storageSaveMediaModel = new StorageMediaCreateModel() { AdId = imageData.AdId, FileType = StorageFileType.Jpeg, IsPrimary = imageData.IsPrimary, DateCreated = DateTime.UtcNow, OriginalFileName = imageData.Name, Position = imageData.Position }; foreach (var picData in savedFile.ScaledPicsInfo) { storageSaveMediaModel.ScaledPicData.Add(new StoragePicScaledData() { Size = picData.Dimention, PathParts = picData.FilePathParts, PicType = _mapper.Map <StoragePicType>(picData.ImgType) }); } return(storageSaveMediaModel); }