private void LoadSettings() { var cmd = _db.GetCommand("usp1_AppSetting_get_all"); (cmd as SqlCommand).Parameters.AddWithValue("@AppId", _appid); var dbr = _db.ExecuteReader(cmd, (reader) => { var x = new AppSettingModel { AppSettingCategoryID = SafeClrConvert.ToInt32(reader["AppSettingCategoryID"]), AppSettingID = SafeClrConvert.ToInt32(reader["AppSettingID"]), Title = SafeClrConvert.ToString(reader["Title"]), Description = SafeClrConvert.ToString(reader["Description"]), Key = SafeClrConvert.ToString(reader["Key"]), Value = SafeClrConvert.ToString(reader["Value"]), Encrypted = SafeClrConvert.ToBoolean(reader["Encrypted"]), DecryptedValue = SafeClrConvert.ToString(reader["DecryptedValue"]) }; x.Category = _categories[x.AppSettingCategoryID]; _settings.TryAdd(x.Key, x); return(x); }); }
public override Task <PaymentProviderBeginPaymentResponse> BeginPaymentAsync(BeginPaymentRequest request, System.Threading.CancellationToken cancellation) { var tcs = new TaskCompletionSource <PaymentProviderBeginPaymentResponse>(); try { var pec = new ir.shaparak.pec.EShopService(); pec.PinPaymentRequestCompleted += new PinPaymentRequestCompletedEventHandler((sender, args) => { if (args.Error != null) { tcs.TrySetException(args.Error); } else if (!args.Cancelled) { try { var result = new PaymentProviderBeginPaymentResponse <AyandehBankTranStatus>(Now); result.ProviderType = this.ProviderType; result.Code = args.authority; result.SendData.Add(BankCodeArgName, args.authority.ToString()); result.Status = args.status; result.Succeeded = (args.status == 0 && args.authority != -1); result.GatewayUrl = Config.GatewayUrl + $"?{BankCodeArgName}={args.authority}"; result.SendMethod = Config.GatewayMethod; tcs.SetResult(result); } catch (Exception ex) { tcs.TrySetException(ex); } } else { tcs.SetCanceled(); } pec.Dispose(); }); var orderid = SafeClrConvert.ToInt32(request.PaymentCode); var pay = SafeClrConvert.ToInt32(request.Amount); byte pecStatus = 0; long auth = 0; cancellation.Register(() => pec.CancelAsync(request.PaymentCode)); pec.PinPaymentRequestAsync(Config.Credentials.Pin, pay, orderid, (string.IsNullOrEmpty(request.ReturnUrl) ? Config.CallbackUrl : request.ReturnUrl), auth, pecStatus, request.PaymentCode); } catch (Exception e) { tcs.SetException(e); } return(tcs.Task); }
public ICircuitBreaker CreateBreaker(object arg) { ICircuitBreaker result; var maxFailures = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerMaxFailures"]); if (maxFailures <= 0) { maxFailures = 5; } var invocationTimeout = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerInvocationTimeout"]); if (invocationTimeout <= 0) { invocationTimeout = 500; } var circuitResetTimeout = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerResetTimeout"]); if (circuitResetTimeout <= 0) { circuitResetTimeout = 5000; } result = new CB( TaskScheduler.Current, maxFailures: maxFailures, invocationTimeout: TimeSpan.FromMilliseconds(invocationTimeout), circuitResetTimeout: TimeSpan.FromMilliseconds(circuitResetTimeout)); return(result); }
private async Task <PaymentManagerReversalPaymentResponse> SaveReversalPaymentAsync(ReversalRequest request, PaymentProviderReversalPaymentResponse providerResponse, CancellationToken cancellation) { var result = new PaymentManagerReversalPaymentResponse(); result.Request = request; var dbOk = false; Logger.LogCategory("SaveReversalPaymentAsync"); if (providerResponse.Succeeded || !Config.SaveOnlySuccessfulOperations) { Logger.Log("Start saving in the database"); var args = new { Result = CommandParameter.Output(SqlDbType.VarChar, 50), PaymentCode = request.PaymentCode, BankType = providerResponse.ProviderType, StepStatus = SafeClrConvert.ToString(providerResponse.Status), StepDate = providerResponse.Date, StepSucceeded = providerResponse.Succeeded, @StepData = "" }; var cmd = _db.GetCommand("usp1_Payment_save_reversal_step"); result.DbResult = await _db.ExecuteNonQueryAsync(cmd, args, cancellation); if (result.DbResult.Success) { result.Status = args.Result.Value.ToString(); Logger.Log("DbStatus = " + result.Status); dbOk = result.Status == "Success"; if (!dbOk) { result.Status = "SaveError"; } } else { Logger.Log("Failed: " + result.DbResult.Exception.ToString(",")); result.Failed(result.DbResult.Exception); } } else { dbOk = true; } if (providerResponse.Succeeded && dbOk) { result.Succeeded(); } return(result); }
private static int GC_THRESHOLD = 30; // if 30% of ip addresses are candidate to be removed // (i.e. their sessions have been timed out), try garbage collection // on the ip addresses list ("entries" variable). #endregion static DosAttackModule() { REQUEST_THRESHOLD = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_REQUEST_THRESHOLD"]); if (REQUEST_THRESHOLD <= 0) { REQUEST_THRESHOLD = 15; } RELEASE_INTERVAL = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_RELEASE_INTERVAL"]); if (RELEASE_INTERVAL <= 0) { RELEASE_INTERVAL = 10 * 60; } GC_CHECK_INTERVAL = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_GC_CHECK_INTERVAL"]); if (GC_CHECK_INTERVAL <= 0) { GC_CHECK_INTERVAL = 30 * 60; } SESSION_TIMEOUT = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_SESSION_TIMEOUT"]); if (SESSION_TIMEOUT <= 0) { SESSION_TIMEOUT = 8 * 60; } GC_THRESHOLD = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_GC_THRESHOLD"]); if (GC_THRESHOLD <= 0) { GC_THRESHOLD = 30; } moduleEnabled = SafeClrConvert.ToBoolean(WebConfigurationManager.AppSettings["DOS_DEFENDER_ENABLED"] ?? "true"); excludeIPs = SafeClrConvert.ToString(WebConfigurationManager.AppSettings["DOS_DEFENDER_EXCLUDE_IPS"]).Split(','); }
protected override PaymentProviderEndPaymentResponse endPayment(IDictionary <string, string> request, string code, string status) { var result = new PaymentProviderEndPaymentResponse <ZarinPalBankTranStatus>(Now); var _status = SafeClrConvert.ToInt32(status); result.ProviderType = this.ProviderType; result.StrongStatus = _status.ToEnum <ZarinPalBankTranStatus>(); string authority = code; if (!EndPaymentSucceeded(status)) { result.Status = status; } else { var service = new com.zarinpal.www.PaymentGatewayImplementationService(); long refId = 0; var amount = SafeClrConvert.ToInt32(request["Amount"]); _status = service.PaymentVerification(Config.Credentials.MerchantId, authority, amount, out refId); result.Query = authority; result.Code = refId; result.StrongStatus = _status.ToEnum <ZarinPalBankTranStatus>(); result.Status = _status.ToString(); result.Succeeded = _status == 100; } return(result); }
public ActionResult Add() { try { var wcm = GetCache(); var key = SafeClrConvert.ToString(Request.Form["txtKey"]); var f = JsonConvert.DeserializeObject <Foo>(SafeClrConvert.ToString(Request.Form["txtData"])); var life = SafeClrConvert.ToInt32(Request.Form["txtLifeLength"]); if (life < 0) { life = 0; } if (f != null && !string.IsNullOrEmpty(key)) { wcm.Add(key, f, life); TempData["Message"] = "Item added"; } else { TempData["Message"] = "Item is not Foo or has no key"; } } catch (Exception e) { TempData["Message"] = e.Message; } return(Redirect("/cache")); }
public static object ToEnum(Type type, object value, object defaultValue, bool ignoreCase = true) { object result = null; if (value != null) { if (value is string) { try { result = Enum.Parse(type, (string)value, ignoreCase); return(result); } catch { result = defaultValue; } } result = SafeClrConvert.ToInt(value).ToEnum(type, defaultValue); } return(result); }
public bool IsPrivate() { // http://en.wikipedia.org/wiki/Private_network // Private IP Addresses are: // 24-bit block: 10.0.0.0 through 10.255.255.255 // 20-bit block: 172.16.0.0 through 172.31.255.255 // 16-bit block: 192.168.0.0 through 192.168.255.255 // Link-local addresses: 169.254.0.0 through 169.254.255.255 (http://en.wikipedia.org/wiki/Link-local_address) var is24BitBlock = A == "10"; if (is24BitBlock) { return(true); // Return to prevent further processing } var b = SafeClrConvert.ToByte(B); var is20BitBlock = A == "172" && B != "*" && b >= 16 && b <= 31; if (is20BitBlock) { return(true); // Return to prevent further processing } var is16BitBlock = A == "192" && B == "168"; if (is16BitBlock) { return(true); // Return to prevent further processing } var isLinkLocalAddress = A == "169" && B == "254"; return(isLinkLocalAddress); }
public IEnumerable <BasicData> GetAll() { var result = new BasicData[] {}; var dt = Cache.Get <DataTable>(CACHE_KEY); if (dt == null) { Load(); } dt = Cache.Get <DataTable>(CACHE_KEY); if (dt != null && dt.Rows.Count > 0) { result = new BasicData[dt.Rows.Count]; var i = 0; foreach (DataRow row in dt.Rows) { result[i++] = new BasicData { Category = SafeClrConvert.ToString(row["Category"]), Id = SafeClrConvert.ToInt32(row["Id"]), Name = SafeClrConvert.ToString(row["Name"]), Title = SafeClrConvert.ToString(row["Title"]), Description = SafeClrConvert.ToString(row["Description"]), Code = SafeClrConvert.ToString(row["Code"]), Parent = SafeClrConvert.ToInt32(row["Parent"]) }; } } return(result); }
public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result) { if (indexes.Length > 0) { var key = SafeClrConvert.ToString(indexes[0]); if (_keys != null) { result = _keys[key]; } else { result = ""; } } else { result = ""; } if (result == null) { result = ""; } return(true); }
protected override void OnBasicPropertyDetected(string propertyName, string propertyValue, JsonValueType propertyType) { if (string.Compare(propertyName, "count", StringComparison.OrdinalIgnoreCase) == 0) { Count = SafeClrConvert.ToInt32(propertyValue); } }
public override Task <ShetabPaymentStep1> BeginPaymentAsync(string paymentcode, decimal amount, string returnUrl, System.Threading.CancellationToken cancellation) { var tcs = new TaskCompletionSource <ShetabPaymentStep1>(); try { var pec = new ir.shaparak.pec.EShopService(); pec.PinPaymentRequestCompleted += new PinPaymentRequestCompletedEventHandler((sender, args) => { if (args.Error != null) { tcs.TrySetException(args.Error); } else if (!args.Cancelled) { try { var result = new ShetabPaymentStep1 <ParsianBankTranStatus>(); result.BankType = this.BankType; result.Code = args.authority; result.SendData.Add("au", args.authority.ToString()); result.Status = args.status; result.Succeeded = (args.status == 0 && args.authority != -1); result.GatewayUrl = Config.GatewayUrl + "?au=" + args.authority.ToString(); result.SendMethod = Config.GatewayMethod; tcs.SetResult(result); } catch (Exception ex) { tcs.TrySetException(ex); } } else { tcs.SetCanceled(); } pec.Dispose(); }); var orderid = SafeClrConvert.ToInt32(paymentcode); var pay = SafeClrConvert.ToInt32(amount); byte pecStatus = 0; long auth = 0; cancellation.Register(() => pec.CancelAsync(paymentcode)); pec.PinPaymentRequestAsync(Config.Credentials.Pin, pay, orderid, returnUrl, auth, pecStatus, paymentcode); } catch (Exception e) { tcs.SetException(e); } return(tcs.Task); }
private string compressResult(string result) { var buffer_length = SafeClrConvert.ToInt(CallContext?.EngineService?.Settings["Stream_Buffer_Length"]); return(compressor.Base64Compress(result, new ZlibCompressionOptions { CompressBufferSize = buffer_length })); }
public override Task <PaymentProviderBeginPaymentResponse> BeginPaymentAsync(BeginPaymentRequest request, System.Threading.CancellationToken cancellation) { var tcs = new TaskCompletionSource <PaymentProviderBeginPaymentResponse>(); try { var service = new com.zarinpal.www.PaymentGatewayImplementationService(); service.PaymentRequestCompleted += new PaymentRequestCompletedEventHandler((object sender, PaymentRequestCompletedEventArgs args) => { if (args.Error != null) { tcs.TrySetException(args.Error); } else if (!args.Cancelled) { try { var result = new PaymentProviderBeginPaymentResponse <ZarinPalBankTranStatus>(Now); result.ProviderType = this.ProviderType; result.Code = SafeClrConvert.ToLong(args.Authority); result.Status = args.Result; result.Succeeded = (args.Result == 100); result.GatewayUrl = Config.GatewayUrl + $"/{result.Code}"; result.SendMethod = Config.GatewayMethod; result.StrongStatus = args.Result.ToEnum <ZarinPalBankTranStatus>(); tcs.SetResult(result); } catch (Exception ex) { tcs.TrySetException(ex); } } else { tcs.SetCanceled(); } service.Dispose(); }); var amount = SafeClrConvert.ToInt32(request.Amount); cancellation.Register(() => service.CancelAsync(request.PaymentCode)); service.PaymentRequestAsync(Config.Credentials.MerchantId, amount, request.Info, "", "", (string.IsNullOrEmpty(request.ReturnUrl) ? Config.CallbackUrl : request.ReturnUrl)); } catch (Exception e) { tcs.SetException(e); } return(tcs.Task); }
public virtual LoggerPurgeResponse Purge(LoggerPurgeRequest request) { var response = new LoggerPurgeResponse(); if (ConnectionStringProvider != null) { try { var query = GetPurgeSql(); var constr = ConnectionStringProvider.GetConnectionString(); if (!string.IsNullOrEmpty(constr)) { using (var con = new SqlConnection(constr)) { using (var cmd = new SqlCommand(query, con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddOutput("@Result", SqlDbType.NVarChar, 100); cmd.Parameters.AddOutput("@Info", SqlDbType.NVarChar); cmd.Parameters.AddInput("@FromDate", request.FromDate); cmd.Parameters.AddInput("@ToDate", request.ToDate); FinalizePurgeCommand(cmd); con.Open(); cmd.ExecuteNonQuery(); response.SetStatus(cmd.Parameters[0].Value); response.Info = SafeClrConvert.ToString(cmd.Parameters[1].Value); } } } else { response.Message = "ConnectionStringProvider has no connection string"; response.Info = $"Provider = {ConnectionStringProvider.GetType().Name}"; response.SetStatus("NoConStr"); } } catch (Exception e) { response.Failed(e); } } else { response.Message = "No ConnectionStringProvider is specified"; response.SetStatus("NoConStrProvider"); } return(response); }
private bool IsCompressedResponseRequested() { if (CallContext != null && CallContext.HttpContext != null && CallContext.HttpContext.Request != null) { var Request = CallContext.HttpContext.Request; return(CallContext.Api?.CompressedResponse || SafeClrConvert.ToBoolean(Request.Headers["x-request-compressed-response"])); } return(false); }
public static IEnumerable <SelectListItem> GetSelectList(this HtmlHelper helper, object value) { IEnumerable <SelectListItem> result = null; var enumType = helper.ViewData["EnumType"] as Type ?? helper.ViewData.ModelMetadata.ModelType; if (enumType != null && enumType.IsEnum) { var itemTexts = helper.ViewData["ItemTexts"] as IEnumerable <string>; if (itemTexts == null) { itemTexts = helper.ViewContext.HttpContext.Cache["EditorTemplate." + enumType.Name + ".ItemTexts"] as IEnumerable <string>; if (itemTexts == null) { itemTexts = new List <string>(); var arr = Enum.GetValues(enumType); foreach (var item in arr) { var name = null as string; var display = enumType .GetMember(item.ToString()).First() .GetCustomAttributes(false) .OfType <DisplayAttribute>() .LastOrDefault(); if (display != null) { name = display.GetName(); } else { name = item.ToString(); } (itemTexts as List <string>).Add(name); } helper.ViewContext.HttpContext.Cache["EditorTemplate." + enumType.Name + ".ItemTexts"] = itemTexts; } } result = WebHelper.CreateSelectList(enumType, SafeClrConvert.ToInt32(value), itemTexts); } if (result == null) { result = helper.ViewData["Items"] as IEnumerable <SelectListItem> ?? new List <SelectListItem>(); } return(result); }
private double Harness(ICacheManager cm, int TaskCount, int MaxItems, int GetCount) { var srg = new SimpleRandomGenerator(); for (var i = 0; i < MaxItems; i++) { var f = new Foo(); f.Name = srg.Generate(new RandomGeneratorSetting(RandomCodeType.Alpha, 300)); f.Size = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 3)); f.Price = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 5)); f.Exists = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 2)) % 2 == 0; cm.Add("item" + i, f); } var tasks = new Task[TaskCount]; var rnd = new Random(); for (var i = 0; i < TaskCount; i++) { tasks[i] = new Task((c) => { var _c = c as ICacheManager; if (_c != null) { for (var j = 0; j < GetCount; j++) { var x = _c.Get("item" + rnd.Next(0, MaxItems)); consume(x); Thread.Yield(); } } }, cm); } var sw = new Stopwatch(); sw.Start(); for (var i = 0; i < TaskCount; i++) { tasks[i].Start(); } Task.WaitAll(tasks); sw.Stop(); return(sw.ElapsedMilliseconds); }
public override void Test() { var connstr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; var conn = new SqlConnection(connstr); try { conn.Open(); using (SqlCommand command = new SqlCommand("select * from dbo.FilmTbl where filmcode=42690", conn)) using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var f = new Film(); f.FilmCode = SafeClrConvert.ToInt32(reader["FilmCode"]); f.FilmDesc = SafeClrConvert.ToString(reader["FilmDesc"]); f.Iranian = SafeClrConvert.ToBoolean(reader["Iranian"]); f.Director = SafeClrConvert.ToString(reader["Director"]); f.Summary = SafeClrConvert.ToString(reader["Summary"]); f.ReleaseDate = SafeClrConvert.ToString(reader["ReleaseDate"]); f.RunningTime = SafeClrConvert.ToString(reader["RunningTime"]); f.Genre = SafeClrConvert.ToString(reader["Genre"]); f.Trailer = SafeClrConvert.ToString(reader["Trailer"]); f.Year = SafeClrConvert.ToString(reader["Year"]); f.Producer = SafeClrConvert.ToString(reader["Producer"]); f.Casting = SafeClrConvert.ToString(reader["Casting"]); f.Credits = SafeClrConvert.ToString(reader["Credits"]); f.Filmimage = SafeClrConvert.ToString(reader["Filmimage"]); f.Film_id = SafeClrConvert.ToInt32(reader["Film_id"]); f.Category_Id = SafeClrConvert.ToInt32(reader["Category_Id"]); f.date = SafeClrConvert.ToDateTime(reader["date"]); f.FilmHorizontalImage = SafeClrConvert.ToString(reader["FilmHorizontalImage"]); f.distribution = SafeClrConvert.ToString(reader["distribution"]); f.ShowSale = SafeClrConvert.ToBoolean(reader["ShowSale"]); f.Film_Field1 = SafeClrConvert.ToString(reader["Film_Field1"]); f.Film_Field2 = SafeClrConvert.ToString(reader["Film_Field2"]); f.Film_Order = SafeClrConvert.ToInt32(reader["Film_Order"]); f.Rating = SafeClrConvert.ToInt32(reader["Rating"]); f.Rating_Users = SafeClrConvert.ToInt32(reader["Rating_Users"]); f.Film_Field3 = SafeClrConvert.ToString(reader["Film_Field3"]); System.Console.WriteLine(JsonConvert.SerializeObject(f)); } } } catch (Exception e) { System.Console.WriteLine(e); } }
protected BasicData read(string category, DataRow row) { var result = new BasicData { Id = SafeClrConvert.ToInt32(row["ID"]), Category = category, Name = SafeClrConvert.ToString(row["Name"]), Title = SafeClrConvert.ToString(row["Title"]), Code = SafeClrConvert.ToString(row["Code"]), Description = SafeClrConvert.ToString(row["Description"]) }; return(result); }
protected internal virtual string GetResourceBasePath(string key, string defaultValue) { var basePath = SafeClrConvert.ToString(Settings[$"{key}"]); if (string.IsNullOrEmpty(basePath)) { basePath = defaultValue; } Logger?.Log($"GetResourceBasePath: Args({nameof(key)}: \"{key}\", {nameof(defaultValue)}: \"{defaultValue}\")"); Logger?.Log($" result: \"{basePath}\""); return(basePath); }
public override void Test() { var _args = new { a = "alireza", b = CommandParameter.Output(SqlDbType.NVarChar, -1) }; var dbr = DA.DefaultDb.ExecuteNonQuery("ust_test2", _args); if (dbr.Success) { var s = SafeClrConvert.ToString(_args.b.Value); System.Console.WriteLine("b: " + s); } else { System.Console.WriteLine(dbr.Exception.Message); } }
public ActionResult Get() { var wcm = GetCache(); var key = SafeClrConvert.ToString(Request.Form["txtKey"]); var x = wcm.Get(key); TempData["Item"] = x; if (x == null) { TempData["Message"] = "Item not found"; } return(Redirect("/cache")); }
public override void Test() { var guid = Guid.NewGuid(); var _args = new { p1 = CommandParameter.Guid(guid), p2 = CommandParameter.Output(SqlDbType.UniqueIdentifier) }; var dbr = DA.DefaultDb.ExecuteNonQuery("ust_test1", _args); if (dbr.Success) { var s = SafeClrConvert.ToString(_args.p2.Value); System.Console.WriteLine("p2: " + s); } else { System.Console.WriteLine(dbr.Exception.Message); } }
protected virtual LogItem Transform(IDataReader reader) { var result = new LogItem { Row = SafeClrConvert.ToLong(reader["Row"]), Id = SafeClrConvert.ToInt(reader["Id"]), Member = SafeClrConvert.ToString(reader["Member"]), Category = SafeClrConvert.ToString(reader["Category"]), Message = SafeClrConvert.ToString(reader["Message"]), FilePath = SafeClrConvert.ToString(reader["FilePath"]), LogDate = SafeClrConvert.ToDateTime(reader["LogDate"]), Line = SafeClrConvert.ToInt(reader["Line"]), }; return(result); }
public ActionResult Send(NotifyType notifyType) { var result = new ServiceResponse <object>(); var request = null as NotifyRequest; switch (notifyType) { case NotifyType.Email: request = new EmailNotifyRequest { Body = Request.Form["Body"], Email = Request.Form["To"], Subject = Request.Form["Subject"], IsHtml = SafeClrConvert.ToBoolean(Request.Form["IsHtml"]) }; break; case NotifyType.SMS: request = new SmsNotifyRequest { Message = Request.Form["Message"], MobileNo = Request.Form["targetNumber"] }; break; default: result.Status = "InvalidOrUnsupportedNotifyType"; result.Message = "Specified notify type is not supported or valid"; break; } if (request != null) { try { result.Data = notificationService.Notify(notifyType, request); result.Success = true; } catch (Exception e) { result.Exception = e; } } return(Content(JsonConvert.SerializeObject(result), "application/javascript")); }
public BasicData GetById(string category, int id) { var result = new BasicData(); var rows = GetAll(category); foreach (var row in rows) { var _id = SafeClrConvert.ToInt32(row["ID"]); if (id == _id) { result = read(category, row); } } return(result); }
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { var skip = SafeClrConvert.ToBoolean(filterContext.HttpContext.Items["x_request_body_read"]); if (!skip) { var data = ""; using (var reader = new StreamReader(filterContext.HttpContext.Request.InputStream)) { data = reader.ReadToEnd(); } filterContext.HttpContext.Items.Add("x_request_body_read", true); filterContext.HttpContext.Items.Add("x_request_body", data); } }
public BasicData GetByName(string category, string name) { var result = new BasicData(); var rows = GetAll(category); foreach (var row in rows) { var _name = SafeClrConvert.ToString(row["Name"]); if (string.Compare(_name, name, StringComparison.OrdinalIgnoreCase) == 0) { result = read(category, row); } } return(result); }