public Boolean ContainsAll(TListString AValue) { if(AValue == null || AValue.FList.Count == 0) return true; for(int i = AValue.FList.Count - 1; i >= 0; i--) if(!FList.ContainsKey(AValue.FList[i])) return false; return true; }
/// <summary> /// Возвращает значение параметра типа TListString /// </summary> protected TListString AsTListString(String AName) { Object LValue; if (!FData.TryGetValue(AName, out LValue)) return null; try { if(LValue is SqlUdt) LValue = ((SqlUdt)LValue).CreateUdtObject(true); if (LValue is TListString) return (TListString)LValue; else { TListString LResult = new TListString(); if (LValue is SqlString) LResult.FromString(((SqlString)LValue).Value); else if (LValue is SqlChars) LResult.FromString(((SqlChars)LValue).ToString()); //else if (LValue is Sql.SqlAnsiString) return new SqlBinary(((Sql.SqlAnsiString)LValue).Buffer); else { System.IO.BinaryReader r; if (LValue is SqlBytes) r = new System.IO.BinaryReader(((SqlBytes)LValue).Stream); else if (LValue is SqlBinary) r = new System.IO.BinaryReader(new System.IO.MemoryStream(((SqlBinary)LValue).Value)); else throw new Exception(); LResult.Read(r); } return LResult; } } catch { throw new Exception(String.Format("Не удалось сконвертировать значение '{0}' параметра '{1}' в тип VarBinary", Sql.ValueToString(LValue, Sql.ValueDbStyle.Text), AName)); } }
public void AddTListString(String AName, TListString AValue) { base.AddParam(AName, new SqlUdt(AValue)); }