private async Task <FWFormFile> BindFile(ModelBindingContext bindingContext, string value) { var fileInfo = FWJsonHelper.Deserialize <FileData>(value); // Attempts to find the file at the tmp folder. var filePath = Path.Combine(FWApp.WebRootPath, "tmp", fileInfo.FileId); if (File.Exists(filePath)) { var f = File.OpenRead(filePath); byte[] content = new byte[f.Length]; await f.ReadAsync(content, 0, content.Length); return(new FWFormFile() { Content = content, Length = f.Length, FileName = fileInfo.FileName, ContentType = fileInfo.ContentType }); } return(null); }
private void AddAlert(FWMessage alert) { Queue <FWMessage> alerts; if (TempData.ContainsKey(ALERT_QUEUE)) { alerts = FWJsonHelper.Deserialize <Queue <FWMessage> >(TempData[ALERT_QUEUE].ToString()); } else { alerts = new Queue <FWMessage>(); } alerts.Enqueue(alert); TempData[ALERT_QUEUE] = FWJsonHelper.Serialize(alerts); }
private object ReadResultMessagesForAjaxResponses(object data) { if (TempData.ContainsKey(ALERT_QUEUE)) { var alerts = FWJsonHelper.Deserialize <Queue <FWMessage> >(TempData[ALERT_QUEUE].ToString()); if (alerts != null) { var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; data = new { content = data, alerts = JsonConvert.SerializeObject(alerts, settings) }; } } return(data); }
private async Task ValidateRecaptcha(ActionExecutingContext context, string token) { using (var webClient = new HttpClient()) { var content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("secret", _options.PrivateKey), new KeyValuePair <string, string>("response", token) }); HttpResponseMessage response = await webClient.PostAsync(_options.ApiEndpoint, content); string json = await response.Content.ReadAsStringAsync(); var reCaptchaResponse = FWJsonHelper.Deserialize <ReCaptchaResponse>(json); if (reCaptchaResponse == null) { AddModelError(context, Resources.Resources.FWRecaptcha_NoResponse); } else if (!reCaptchaResponse.Success) { AddModelError(context, Resources.Resources.FWRecaptcha_Invalid); } } }
/// <summary> /// In a Razor layoutpage, renders the last request alerts. /// </summary> /// <returns>The alerts.</returns> public IHtmlContent RenderAlerts() { var tempData = _tmpDataFactory.GetTempData(_httpContextAccessor.HttpContext); if (!tempData.ContainsKey(FWBaseController.ALERT_QUEUE)) { return(new HtmlString(string.Empty)); } var alerts = FWJsonHelper.Deserialize <Queue <FWMessage> >(tempData[FWBaseController.ALERT_QUEUE].ToString()); StringBuilder sb = new StringBuilder(); if (alerts != null) { foreach (var alert in alerts) { var alertControl = new FWMessageControl(alert.Message, alert.Type); sb.Append(alertControl.ToString()); } } return(new HtmlString(sb.ToString())); }
public string CreateChart() { return(FWJsonHelper.Serialize(this, true)); }