Example #1
0
        public FichierEntete Add(IFormFile file, Guid documentId, Guid userId)
        {
            if (file.Length > 0)
            {
                var fileName      = Path.GetFileName(file.FileName);
                var fileExtension = Path.GetExtension(fileName);
                var newFileName   = String.Concat(fileName, fileExtension);
                var protector     = _protectorProvider.CreateProtector("LazyDocs.Fichier", userId.ToString());

                var fichier = new EntityFile()
                {
                    DocumentId = documentId,
                    Name       = newFileName,
                    Type       = fileExtension,
                    UserId     = userId,
                    CreateDate = DateTime.Now,
                    Size       = file.Length,
                    Encrypted  = true
                };

                using (var target = new MemoryStream())
                {
                    file.CopyTo(target);
                    fichier.File = protector.Protect(target.ToArray());
                }

                this._context.Files.Add(fichier);
                this._context.SaveChanges();
                return(fichier.ToFichierEntete());
            }
            return(null);
        }