Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        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)
            };
        }