/// <summary> /// Deletes user's profile picture stored in the user profile directory. It is an instance method. /// </summary> /// <returns>true if user's profile picture is successfully deleted; otherwise false.</returns> public bool DeleteFile(FileClassfication fileClassfication, string fileName) { bool result = false; string directoryPath = null; switch (fileClassfication) { case FileClassfication.Profile: directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirProfile); break; case FileClassfication.Offline: directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirOffline); break; case FileClassfication.Album: directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirAlbum); break; } if (Directory.Exists(directoryPath)) { result = File.DeleteFile(fileName, directoryPath); } else { throw new ApplicationException(CustomHttpStatusCode.InvalidUser.ToString("D")); } return(result); }
/// <summary> /// Updates user's profile picture stores in the user's profile directory. /// </summary> /// <param name="fileData">A string containing base64-encoded file data.</param> /// <param name="senderID">A string containing sender user id. It is required only while uploading offline file.</param> /// <returns>true if user's profile picture is successfully updated; otherwise false. </returns> public string UploadImageFile(string fileData, FileClassfication fileClassfication, string senderID) { string result = null; string fileName = null; string directoryPath = null; switch (fileClassfication) { case FileClassfication.Profile: fileName = NeeoUtility.ConvertToFileName(_userID); directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirProfile); if (Directory.Exists(directoryPath)) { result = File.SaveFile(fileName, fileData, directoryPath).ToString(); } else { throw new ApplicationException(CustomHttpStatusCode.InvalidUser.ToString("D")); } break; case FileClassfication.Offline: string timeStamp = NeeoUtility.GetTimeStamp(DateTime.UtcNow).ToString(); fileName = NeeoUtility.GetFileNameInOfflineFileFormat(senderID, _userID, timeStamp); directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirOffline); if (Directory.Exists(directoryPath)) { if (File.SaveFile(fileName, fileData, directoryPath)) { result = NeeoUtility.GenerateImageUrl(_userID, timeStamp, fileClassfication, 0, senderID); } } else { throw new ApplicationException(CustomHttpStatusCode.InvalidUser.ToString("D")); } break; case FileClassfication.Album: fileName = NeeoUtility.GetTimeStamp(DateTime.UtcNow).ToString(); directoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirAlbum); if (Directory.Exists(directoryPath)) { result = File.SaveFile(NeeoUtility.ConvertToFileName(fileName), fileData, directoryPath).ToString(); } else { throw new ApplicationException(CustomHttpStatusCode.InvalidUser.ToString("D")); } break; } return(result); }
/// <summary> /// /// </summary> /// <param name="fileName"></param> /// <param name="fileClassfication"></param> /// <returns></returns> public string GetFileState(string fileName, FileClassfication fileClassfication) { if (fileClassfication == FileClassfication.Offline) { string userDirectoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirOffline); if (Directory.Exists(userDirectoryPath)) { DirectoryInfo dirInfo = new DirectoryInfo(userDirectoryPath); FileInfo fileInfo = dirInfo.GetFiles().SingleOrDefault(x => x.Name == fileName); if (fileInfo != null) { return(fileInfo.FullName); } else { return(null); } } else { return(null); } } else if (fileClassfication == FileClassfication.Album) { string userDirectoryPath = Path.Combine(_rootPath, NeeoUtility.GetDirectoryHierarchy(_userID), _dirAlbum); if (Directory.Exists(userDirectoryPath)) { DirectoryInfo dirInfo = new DirectoryInfo(userDirectoryPath); FileInfo fileInfo = dirInfo.GetFiles().SingleOrDefault(x => x.Name == fileName); if (fileInfo != null) { return(fileInfo.FullName); } else { return(null); } } else { return(null); } } return(null); }