示例#1
0
        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>"
            }));
        }