示例#1
0
        public void AddUserFile(User user, UserFile file)
        {
            using (var db = GetConnect(_mf.ConnectionString))
            {
                SHA256 sha = new SHA256Managed();
                file.Hash = Convert.ToBase64String(sha.ComputeHash(file.Bin));

                var newUserFile = new DbUserfile
                {
                    Userid      = user.Id,
                    Hash        = file.Hash,
                    Filename    = file.Filename,
                    Contenttype = file.ContentType,
                };

                if (db.Files.Any(o => o.Hash == file.Hash))
                {
                    db.Userfiles.Add(newUserFile);
                    db.SaveChanges();
                }
                else
                {
                    DbFile newFile = new DbFile
                    {
                        Hash = file.Hash,
                        Bin  = file.Bin,
                    };

                    db.Files.Add(newFile);
                    db.Userfiles.Add(newUserFile);
                    db.SaveChanges();
                }
            }
        }
示例#2
0
 private UserFile GetInner(DbUserfile obj)
 {
     return(new UserFile
     {
         Id = obj.Id,
         Filename = obj.Filename,
         ContentType = obj.Contenttype,
         Hash = obj.Hash,
         UserId = obj.Userid,
     });
 }