/// <summary> /// Saves the digital file. /// </summary> /// <param name="digitalFileTypeId">The digital file type identifier.</param> /// <param name="fileName">Name of the file.</param> /// <param name="fileExtension">The file extension.</param> /// <param name="contentType">Type of the content.</param> /// <param name="theContent">The content.</param> /// <param name="digitalFileId">The digital file identifier.</param> /// <returns></returns> public string SaveDigitalFile(int digitalFileTypeId, string fileName, string fileExtension, string contentType, byte[] theContent, IDigitalFileView digitalFileView) { if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException(nameof(fileName)); } if (string.IsNullOrEmpty(contentType)) { throw new ArgumentNullException(nameof(contentType)); } if (theContent == null) { throw new ArgumentNullException(nameof(theContent)); } var result = string.Empty; var newRecord = new DigitalFile { FileTypeId = digitalFileView.FileTypeId, FileContent = theContent, FileExtension = fileExtension, FileName = fileName, ContentType = contentType, DigitalTypeId = digitalFileTypeId, IsActive = true, DateCreated = DateTime.Now }; try { using ( var dbContext = (PitalyticsEntities)this.dbContextFactory.GetDbContext()) { var fileInfo = dbContext.DigitalFiles.SingleOrDefault(x => x.FileTypeId == newRecord.FileTypeId && x.IsActive == true); if (fileInfo != null) { fileInfo.IsActive = false; } dbContext.DigitalFiles.Add(newRecord); dbContext.SaveChanges(); } } catch (Exception e) { result = string.Format("SaveDigitalFile - {0} , {1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""); } return(result); }
/// <summary> /// Saves the digital file. /// </summary> /// <param name="digitalFileTypeId">The digital file type identifier.</param> /// <param name="fileName">Name of the file.</param> /// <param name="fileExtension">The file extension.</param> /// <param name="contentType">Type of the content.</param> /// <param name="theContent">The content.</param> /// <param name="digitalFileId">The digital file identifier.</param> /// <returns></returns> /// <exception cref="ArgumentNullException"> /// fileName /// or /// contentType /// or /// theContent /// </exception> public string SaveDigitalFile(int digitalFileTypeId, string fileName, string fileExtension, string contentType, byte[] theContent, out int digitalFileId) { if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException(nameof(fileName)); } if (string.IsNullOrEmpty(contentType)) { throw new ArgumentNullException(nameof(contentType)); } if (theContent == null) { throw new ArgumentNullException(nameof(theContent)); } var result = string.Empty; digitalFileId = 0; var newRecord = new DigitalFile { TheDigitalFile = theContent, FileExtension = fileExtension, FileName = fileName, ContentType = contentType, DigitalTypeId = digitalFileTypeId, IsActive = true, DateCreated = DateTime.Now }; try { using ( var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS)) { dbContext.DigitalFiles.Add(newRecord); dbContext.SaveChanges(); } } catch (Exception e) { result = string.Format("SaveDigitalFile - {0} , {1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""); } digitalFileId = newRecord.DigitalFileId; return(result); }
static void Main(string[] args) { var levelOneFiles = new DigitalFile[5] { new DigitalFile("FirstFile1", 256), new DigitalFile("FirstFile2", 128), new DigitalFile("FirstFile3", 512), new DigitalFile("FirstFile4", 312), new DigitalFile("FirstFile5", 786) }; var levelTwoFiles = new DigitalFile[3] { new DigitalFile("SecondFile1", 431), new DigitalFile("SecondFile2", 128), new DigitalFile("SecondFile3", 512) }; var levelThreeFiles = new DigitalFile[3] { new DigitalFile("ThirdFile2", 1244), new DigitalFile("ThirdFile2", 1244), new DigitalFile("ThirdFile3", 788) }; var levelTwoFolders = new DigitalFolder[1] { new DigitalFolder("SecondLevelFolder1", levelThreeFiles, null) }; var levelOneFolders = new DigitalFolder[2] { new DigitalFolder("FirstLevelFolder1", levelOneFiles, levelTwoFolders), new DigitalFolder("FirstLevelFolder2", levelTwoFiles, levelTwoFolders) }; }