public JsonResult CheckIfDownloadIsPossible(string key) { var innerEx = string.Empty; var exMessage = string.Empty; try { var widRecord = scheduleRepo.GetAllSchedules().Where(x => x.PublicKey == key).FirstOrDefault(); if (widRecord != null) { var DE = scheduleRepo.GetDE(widRecord.WID); if (DE != null) { var hashedValue = Cryptography.EncryptString(DE.FileData); if (hashedValue == DE.FileHashedValue) { return(Json(new { success = true })); } else { return(Json(new { success = false, infoMessage = "File has been tampered with!" })); } } } } catch (Exception ex) { innerEx = ex.InnerException != null ? ex.InnerException.InnerException != null ? $" {ex.InnerException.Message} {ex.InnerException.InnerException.Message}" : $" {ex.InnerException.Message}" : string.Empty; exMessage = ex.Message; } return(Json(new { success = -1, errorMessage = $"{errorMessage}<br/> <b>Error Detail</b><br/> Error Message: <b>{exMessage}</b> </br> Inner Exception Message:<b> {innerEx}</b>" })); }