예제 #1
0
        private void CheckFile(Message message)
        {
            var filePath = _dbController.GetPrivateFilePath(message.StringMessage);

            if (filePath == null)
            {
                SendResult(false, "Файл не найден");
                _dbController.UpdateDamageStatus(message.StringMessage, true);
                return;
            }
            SHA1   hash = SHA1.Create();
            string fileHash;

            if (!File.Exists(filePath))
            {
                SendResult(false, "Файл не найден на сервере. Обратитесь к администратору");
                _dbController.UpdateDamageStatus(message.StringMessage, true);
                return;
            }
            using (FileStream fs = new FileStream(filePath, FileMode.Open))
            {
                fileHash = ByteToStringConverter(hash.ComputeHash(fs));
            }
            var result = _dbController.CheckFileHash(message.StringMessage, fileHash);

            _dbController.UpdateDamageStatus(message.StringMessage, !result);
            SendResult(result);
        }