public void AddTest() { CaseInsensitiveStringDictionary target = new CaseInsensitiveStringDictionary(); string key = "kEybA2"; string value = "value"; target.Add(key, value); Assert.IsTrue(target.Count > 0); }
public void IndexerTest() { CaseInsensitiveStringDictionary target = new CaseInsensitiveStringDictionary(); var key = "UIEasdh&/%%2222"; var value = "foo"; target.Add(key, value); Assert.IsTrue(target.Count > 0); Assert.IsTrue(target[key.ToUpper()] == value); }
public void RemoveTest() { CaseInsensitiveStringDictionary target = new CaseInsensitiveStringDictionary(); var key = "UIEasdh&/%%2222"; target.Add(key, "foo"); Assert.IsTrue(target.Count > 0); target.Remove(key.ToUpper()); Assert.IsTrue(target.Count == 0); }
public void ContainsKeyTest() { CaseInsensitiveStringDictionary target = new CaseInsensitiveStringDictionary(); var key = "UIEasdh&/%%2222"; target.Add(key, "foo"); var expected = true; var actual = target.ContainsKey(key) && target.ContainsKey(key.ToLower()) && target.ContainsKey(key.ToUpper()); Assert.AreEqual(expected, actual); }
/// <summary> /// Take the full connection string and break it into is constituent parts /// </summary> /// <param name="self">The connection string itself</param> /// <returns>A dictionary of all the parts</returns> public static CaseInsensitiveStringDictionary <string> ConnectionStringParts(this string self) { var builder = new DbConnectionStringBuilder { ConnectionString = self.Replace("{", "\"").Replace("}", "\"") }; var parts = new CaseInsensitiveStringDictionary <string>(); foreach (string key in builder.Keys) { parts[key] = Convert.ToString(builder[key]); } return(parts); }
public void Dialog(string category, string operation, string code, CaseInsensitiveStringDictionary args, string info = "") { var m = new Message { Category = category, Operation = operation, Code = code, Date = DateTime.Now, Type = SuppressedDialog ? SuppressedMessageType : MessageType.Dialog, Info = info, Source = MessageSource.Application }; m.Args = args; Add(m); }
public static string Get(this CaseInsensitiveStringDictionary <string> self, string key) { self.TryGetValue(key, out string value); return(value); }
public static bool Contains(this CaseInsensitiveStringDictionary <string> self, string key) { return(self.ContainsKey(key) && !self[key].IsNullOrEmpty()); }
private static bool IsRollingIndex(CaseInsensitiveStringDictionary <string> parts) { return(parts.Contains(Keys.Rolling) && parts.Get(Keys.Rolling).ToBool()); }
public ElasticSearchUri(CaseInsensitiveStringDictionary <string> connectionStringParts) { this.connectionStringParts = connectionStringParts; }
/// <summary>Initializes a new instance of the <see cref="RequestOptions"/> class.</summary> /// <param name="connectionStringParts">The connection string parts.</param> public RequestOptions(CaseInsensitiveStringDictionary <string> connectionStringParts) { this.connectionStringParts = connectionStringParts; }
protected void ContextPostExecute <TResponse, UData, VStatus, WRequest, TContext>(TContext context, IDbCommand cmd, IDictionary <string, object> args, DbResult dbr) where TResponse : BaseServiceResponse <UData, VStatus>, new() where WRequest : class, IBaseServiceRequest, new() where TContext : BabbageContext <TResponse, UData, VStatus, WRequest>, new() { var responseType = context.Response.GetType(); var _strategy = context.Strategy as BaseServiceStrategy <TResponse, UData, VStatus, WRequest, TContext>; var strategyName = _strategy.Name; var serviceName = _strategy.Store.Service.Name; if (dbr.Success) { var responseInfo = ""; if (args.Count > 0) { var babbageContext = context as BabbageContext <TResponse, UData, VStatus, WRequest>; if (babbageContext != null) { foreach (var item in args.Where(x => x.Key != "Result" && x.Key != "Args" && x.Value != null && x.Value.GetType().IsCommandOutputParameterType())) { var cmdOut = item.Value as CommandOutputParameter; if (!DBNull.Value.Equals(cmdOut.Value) && cmdOut.Value != null && babbageContext.OutputParameters.Count > 0 && babbageContext.OutputParameters.ContainsKey(item.Key)) { if (cmdOut.Value.GetType() == TypeHelper.TypeOfGuid) { babbageContext.OutputParameters[item.Key].Value = cmdOut.Value.ToString(); } else { babbageContext.OutputParameters[item.Key].Value = cmdOut.Value; } } if (context.Log.Options.DebugMode) { responseInfo += (string.IsNullOrEmpty(responseInfo) ? "" : ", ") + item.Key + ": " + SafeClrConvert.ToString(cmdOut.Value); } } } var resProps = responseType.GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (var prop in resProps) { if (prop.CanWrite && args.ContainsKey(prop.Name)) { var value = args[prop.Name]; var cmdOut = value as CommandOutputParameter; if (cmdOut != null) { if (!DBNull.Value.Equals(cmdOut.Value) && cmdOut.Value != null) { if (cmdOut.Value.GetType() == TypeHelper.TypeOfGuid) { prop.SetValue(context.Response, cmdOut.Value.ToString()); } else { prop.SetValue(context.Response, cmdOut.Value); } } if (prop.CanRead && context.Log.Options.DebugMode) { responseInfo += (string.IsNullOrEmpty(responseInfo) ? "" : ", ") + prop.Name + ": " + SafeClrConvert.ToString(cmdOut.Value); } continue; } var cmdIO = value as CommandInputOutputParameter; if (cmdIO != null) { if (!DBNull.Value.Equals(cmdIO.Value) && cmdIO.Value != null) { if (cmdIO.Value.GetType() == TypeHelper.TypeOfGuid) { prop.SetValue(context.Response, cmdIO.Value.ToString()); } else { prop.SetValue(context.Response, cmdIO.Value); } } if (prop.CanRead && context.Log.Options.DebugMode) { responseInfo += (string.IsNullOrEmpty(responseInfo) ? "" : ", ") + prop.Name + ": " + SafeClrConvert.ToString(cmdIO.Value); } continue; } prop.SetValue(context.Response, value); if (prop.CanRead && context.Log.Options.DebugMode) { responseInfo += (string.IsNullOrEmpty(responseInfo) ? "" : ", ") + prop.Name + ": " + SafeClrConvert.ToString(value); } } } var responseData = context.Response.GetData(); if (responseData != null) { var resDataType = context.Response.GetDataType(); if (resDataType.IsClass || (resDataType.IsValueType && !resDataType.IsEnum && !resDataType.IsPrimitive)) { var resDataProps = responseData.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (var prop in resDataProps) { if (prop.CanWrite && args.ContainsKey(prop.Name)) { var value = args[prop.Name]; var cmdOut = value as CommandOutputParameter; if (cmdOut != null) { if (!DBNull.Value.Equals(cmdOut.Value) && cmdOut.Value != null) { if (cmdOut.Value.GetType() == TypeHelper.TypeOfGuid) { prop.SetValue(responseData, cmdOut.Value.ToString()); } else { prop.SetValue(responseData, cmdOut.Value); } } continue; } var cmdIO = value as CommandInputOutputParameter; if (cmdIO != null) { if (!DBNull.Value.Equals(cmdIO.Value) && cmdIO.Value != null) { if (cmdIO.Value.GetType() == TypeHelper.TypeOfGuid) { prop.SetValue(responseData, cmdIO.Value.ToString()); } else { prop.SetValue(responseData, cmdIO.Value); } } continue; } prop.SetValue(responseData, value); } } } } } context.Log.Debug(ServiceName, strategyName, "response_filtered", responseInfo); var status = SafeClrConvert.ToString((args["Result"] as CommandOutputParameter).Value); var _args = SafeClrConvert.ToString((args["Args"] as CommandOutputParameter).Value); if (!context.Response.SetStatus(status)) { context.Log.Debug(ServiceName, strategyName, "InvalidStatus", status); } if (context.Response.IsFailed()) { try { var sqlError = JsonConvert.DeserializeObject <SqlError>(_args); context.Log.Dialog(serviceName, strategyName, status, sqlError); } catch (Exception e) { context.Log.Danger(serviceName, strategyName, "SqlDeserializationError", e, MessageSource.Library, _args); } } else { CaseInsensitiveStringDictionary mArgs = null; if (!string.IsNullOrEmpty(_args)) { try { mArgs = JsonConvert.DeserializeObject <CaseInsensitiveStringDictionary>(_args); } catch (Exception e) { context.Log.Danger(serviceName, strategyName, "ArgsDeserializationError", e, MessageSource.Library, _args); } } if (mArgs == null) { mArgs = new CaseInsensitiveStringDictionary(); } context.Log.Dialog(serviceName, strategyName, status, mArgs); if (context.Response.Success) { context.Response.Source = DataSource.Db; } } } else { context.Response.Errored(); context.Log.Dialog(serviceName, strategyName, context.Response.GetStatus(), dbr.Exception, MessageSource.Application); //Store.Service.Logger?.LogException(dbr.Exception, serviceName + "." + strategyName); } }