private int SaveNewVersion(CreateVersionViewModel model)
        {
            byte[] byteArray = null;

            using (var memory = new MemoryStream())
            {
                model.Archive.InputStream.CopyTo(memory);
                byteArray = memory.GetBuffer();
            }

            var fileName            = string.Format(GlobalPatternConstants.VERSION_NAME, DateTime.Now.ToUniversalTime(), model.Archive.FileName);
            var fullPath            = storage.UploadFile(byteArray, fileName, GlobalConstants.STORAGE_FOLDER);
            var extensionStartIndex = model.Archive.FileName.LastIndexOf('.');
            var fileExtension       = model.Archive.FileName.Substring(extensionStartIndex + 1, model.Archive.FileName.Length - extensionStartIndex - 1).ToLower();

            var version = new ThesesSystem.Models.Version()
            {
                ThesisId      = model.Id,
                StoragePath   = fullPath,
                FileName      = model.Archive.FileName,
                FileExtension = fileExtension
            };

            this.Data.Versions.Add(version);
            this.Data.SaveChanges();

            return(version.Id);
        }
        private int SaveNewVersion(CreateVersionViewModel model)
        {
            byte[] byteArray = null;

            using (var memory = new MemoryStream())
            {
                model.Archive.InputStream.CopyTo(memory);
                byteArray = memory.GetBuffer();
            }

            var fileName = string.Format(GlobalPatternConstants.VERSION_NAME, DateTime.Now.ToUniversalTime(), model.Archive.FileName);
            var fullPath = storage.UploadFile(byteArray, fileName, GlobalConstants.STORAGE_FOLDER);
            var extensionStartIndex = model.Archive.FileName.LastIndexOf('.');
            var fileExtension = model.Archive.FileName.Substring(extensionStartIndex + 1, model.Archive.FileName.Length - extensionStartIndex - 1).ToLower();

            var version = new ThesesSystem.Models.Version()
            {
                ThesisId = model.Id,
                StoragePath = fullPath,
                FileName = model.Archive.FileName,
                FileExtension = fileExtension
            };

            this.Data.Versions.Add(version);
            this.Data.SaveChanges();

            return version.Id;
        }