public override string GetSqlCmd(ISearchCondition sc) { var sqlCmd = @" --declare @employeeId int = 3; --declare @orderDateStart datetime = '1996-07-05'; --declare @orderDateEnd datetime = '1996-07-10'; --declare @shipCity nvarchar(15) = 'Lyon'; SELECT [OrderID],[CustomerID],[EmployeeID],[OrderDate],[RequiredDate],[ShippedDate],[ShipVia] ,[Freight],[ShipName],[ShipAddress],[ShipCity],[ShipRegion],[ShipPostalCode],[ShipCountry] FROM [dbo].[Orders] (nolock) as t Where 1=1 --[@employeeId]-- and t.EmployeeID = @employeeId --[@shipCity]-- and t.ShipCity = @shipCity --[@orderDateStart]-- and t.OrderDate >= @orderDateStart --[@orderDateEnd]-- and t.OrderDate <= @orderDateEnd "; foreach (var condition in GetConditionList(sc)) { sqlCmd = condition.CleanUpSql(sqlCmd); } return(sqlCmd); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> private static void SetStringCondition(ISearchCondition <string> cond, string val) { if (val.Length == 0) { return; } if (val.Contains("*") || val.Contains("?")) { //TODO Remove when paging is implemented on queries int charCount = 0; foreach (char c in val) { if (c != '*' && c != '?') { charCount++; } } if (charCount < 4) { throw new ArgumentException("Wildcard parameters require at least 4 characters."); } String value = val.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); } else { cond.EqualTo(val); } }
private static void ConcatSearchCondition(ISearchCondition fromCondition, ISearchCondition toCondition) { if (fromCondition.IsEmpty) { fromCondition.Search.Conditions.AddRange(toCondition.Search.Conditions); } else { if (fromCondition.Search.Precedence < Precedence.LogicalConjunction) { var sc1 = new SearchCondition(); sc1.Conditions.AddRange(fromCondition.Search.Conditions); fromCondition.Search.Conditions.Clear(); fromCondition.Search.Conditions.AddLast(new Condition(false, sc1)); } if (toCondition.Search.Precedence < Precedence.LogicalConjunction) { var sc2 = new SearchCondition(); sc2.Conditions.AddRange(toCondition.Search.Conditions); fromCondition.Search.Conditions.AddLast(new Condition(false, sc2)); } else { fromCondition.Search.Conditions.AddRange(toCondition.Search.Conditions); } } }
public override string GetSqlCmd(ISearchCondition sc) { var sqlCmd = @" SELECT ""TBA_011"".""CUSTOMERID"", ""TBA_010"".""CAMPAIGNTAG"", sf_get_customername(""TBA_011"".""CUSTOMERID"") as customer, ""TBA_011"".""ASSIGNEDDATE"", ""TBA_011"".""AVAILABLEDATE"", ""TBA_011"".""LASTCONTACTDATE"", ""TBA_011"".""STATUS"", sf_get_username(""TBA_011"".""ASSIGNEDTO"") as assignedto, sf_get_username(""TBA_011"".""ASSIGNEDBY"") as assignedby, ""TBA_011"".""REMARK"" FROM ""TBA_011"", ""TBA_010"" WHERE (""TBA_011"".""CAMPAIGNLIST"" = ""TBA_010"".""CAMPAIGNLIST"") and ((""TBA_011"".""STATUS"" not in (1202, 1203))) -- 1202:不接受外呼名單 / 1203:名單錯誤 --[@customerId]-- and TBA_011.CustomerId = @CustomerId --[@assignDateStart]-- and TBA_011.ASSIGNEDDATE >= to_date('@AssignDateStart','yyyy/mm/dd') --[@assignDateEnd]-- and TBA_011.ASSIGNEDDATE <= to_date('@AssignDateEnd','yyyy/mm/dd') ORDER BY ""TBA_011"".""CUSTOMERID"" ASC, ""TBA_011"".""ORGCALLINGLIST"" ASC "; foreach (var condition in GetConditionList(sc)) { sqlCmd = condition.CleanUpSql(sqlCmd); } return(sqlCmd); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for a DICOM range matching string value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> public static void SetRangeCondition(ISearchCondition <string> cond, string val) { if (val.Length == 0) { return; } if (val.Contains("-")) { string[] vals = val.Split(new[] { '-' }); if (val.IndexOf('-') == 0) { cond.LessThanOrEqualTo(vals[1]); } else if (val.IndexOf('-') == val.Length - 1) { cond.MoreThanOrEqualTo(vals[0]); } else { cond.Between(vals[0], vals[1]); } } else { cond.EqualTo(val); } }
private static void ApplyCondition(ISearchCondition<string> condition, string value, bool exactMatch) { if(exactMatch) condition.EqualTo(value); else condition.StartsWith(value); }
private IEnumerable <ICleanUpSql> GetConditionList(ISearchCondition sc) { yield return(new OrderShipCityCleanUp(sc)); yield return(new OrderEmployeeIdCleanUp(sc)); yield return(new OrderDateCleanUp(sc)); }
/// <summary> /// Applies this time range to the specified <see cref="ISearchCondition{T}"/>, using the specified current time. /// </summary> /// <remarks> /// T must be either a <see cref="DateTime"/> or a nullable <see cref="DateTime"/>. /// </remarks> /// <param name="condition"></param> /// <param name="currentTime"></param> public void Apply(ISearchCondition condition, DateTime currentTime) { DateTime startTime, endTime; Resolve(currentTime, out startTime, out endTime); ApplyRange(condition, _start != null, startTime, _end != null, endTime); }
public JoinedTable(EJoinType joinType, ITableSource table, bool isWeak, ISearchCondition searchCondition) { JoinType = joinType; Table = table; IsWeak = isWeak; Condition = searchCondition; CanConvertApply = true; }
/// <summary> /// Returns the "operator" for the given search condition. /// </summary> /// <param name="searchCondition">The condition to search on.</param> /// <returns>The operator, including a flag if it should be inverted.</returns> protected virtual string GetSearchConditionOperator(ISearchCondition searchCondition) { // Sanity. if (null == searchCondition) { throw new ArgumentNullException(nameof(searchCondition)); } // Set the default value. If we are to invert, add a "!", otherwise blank string. string returnValue = searchCondition.InvertOperator ? "!" : ""; // Build the operator based on the search condition. switch (searchCondition.Operator) { case SearchConditionOperators.Unknown: throw new NotImplementedException($"The operator {searchCondition.Operator} cannot be used."); case SearchConditionOperators.Equals: returnValue += "="; break; case SearchConditionOperators.LessThan: returnValue += "<<="; break; case SearchConditionOperators.LessThanOrEqual: returnValue += "<="; break; case SearchConditionOperators.GreaterThan: returnValue += ">>="; break; case SearchConditionOperators.GreaterThanOrEqual: returnValue += ">="; break; case SearchConditionOperators.MatchesWildcard: returnValue += "**="; break; case SearchConditionOperators.Contains: returnValue += "*="; break; case SearchConditionOperators.StartsWith: returnValue += "^="; break; default: throw new NotImplementedException($"The operator {searchCondition.Operator} is not supported."); } // Return the operator. return(returnValue); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for an array of matching string values. /// </summary> /// <param name="cond"></param> /// <param name="vals"></param> public static void SetStringArrayCondition(ISearchCondition<string> cond, string[] vals) { if (vals == null || vals.Length == 0) return; if (vals.Length == 1) SetStringCondition(cond, vals[0]); else cond.In(vals); }
public static void Log(DateTime searchingBeginningTime, DateTime searchingEndingTime, ISearchCondition searchCondition) { logger.Info( string.Format("[{0}] Package searching begin at {1} end at {2}, Searching Condition: {3}", ((TimeSpan)searchingEndingTime.Subtract(searchingBeginningTime)).ToString(), searchingBeginningTime.ToString(), searchingEndingTime.ToString(), searchCondition.ToString())); }
private static void ApplyCondition(ISearchCondition <string> condition, string value, bool exactMatch) { if (exactMatch) { condition.EqualTo(value); } else { condition.StartsWith(value); } }
private static void ApplyOrdering(Worklist.WorklistOrdering ordering, ISearchCondition condition, int index) { if (ordering == Worklist.WorklistOrdering.PrioritizeOldestItems) { condition.SortAsc(index); } else { condition.SortDesc(index); } }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> public static void SetGuiStringCondition(ISearchCondition <string> cond, string val) { if (string.IsNullOrEmpty(val) || SearchValueOnlyWildcard(val, true)) { return; } String value = val.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); }
public static List <IFile> Search(IFile root, ISearchCondition condition) { List <IFile> re = new List <IFile>(); if (condition.IsSatisfiable(root)) { re.Add(root); } foreach (IFile child in root.Children) { re.AddRange(Search(child, condition)); } return(re); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> public static void SetStringCondition(ISearchCondition<string> cond, string val) { if (val.Length == 0 || SearchValueOnlyWildcard(val, false)) return; if (val.Contains("*") || val.Contains("?")) { String value = val.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); } else cond.EqualTo(val); }
public SearchRule(string id, string name, ISearchCondition <T> condition, IEnumerable <RuleAction <T> > actions) { Assert.ArgumentNotNullOrEmpty(id, "p_Id"); this.ID = id; this.Name = name; this.Condition = condition; if (actions != null && actions.Any()) { this.Actions = new List <RuleAction <T> >(actions); } else { this.Actions = new RuleAction <T> [0]; } }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for an array of matching string values. /// </summary> /// <param name="cond"></param> /// <param name="vals"></param> public static void SetStringArrayCondition(ISearchCondition <string> cond, string[] vals) { if (vals == null || vals.Length == 0) { return; } if (vals.Length == 1) { cond.EqualTo(vals[0]); } else { cond.In(vals); } }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for a <see cref="ServerEntityKey"/> reference. /// </summary> /// <param name="cond"></param> /// <param name="vals"></param> public static void SetKeyCondition(ISearchCondition <ServerEntityKey> cond, ServerEntityKey[] vals) { if (vals == null || vals.Length == 0) { return; } if (vals.Length == 1) { cond.EqualTo(vals[0]); } else { cond.In(vals); } }
private static void ApplyRange(ISearchCondition condition, bool hasLower, DateTime lower, bool hasUpper, DateTime upper) { // if both upper and lower bounded, use the between operator, otherwise use the >= and < operators // note that in SQL server, BETWEEN a AND b means a <= x < b (it is asymmetrical), however // this is not necessarily the case in other database servers... not much we can do about this. if (hasLower && hasUpper) { condition.Between(lower, upper); } else if (hasLower) { condition.MoreThanOrEqualTo(lower); } else if (hasUpper) { condition.LessThan(upper); } }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for a DICOM range matching string value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> public static void SetRangeCondition(ISearchCondition<string> cond, string val) { if (val.Length == 0) return; if (val.Contains("-")) { string[] vals = val.Split(new[] { '-' }); if (val.IndexOf('-') == 0) cond.LessThanOrEqualTo(vals[1]); else if (val.IndexOf('-') == val.Length - 1) cond.MoreThanOrEqualTo(vals[0]); else cond.Between(vals[0], vals[1]); } else cond.EqualTo(val); }
public override string GetSqlCmd(ISearchCondition sc) { return(@" --declare @employeeId nvarchar(10) = '3'; --declare @orderDateStart datetime = '1996-07-05'; --declare @orderDateEnd datetime = '1996-07-10'; --declare @shipCity nvarchar(15) = 'Lyon'; SELECT [OrderID],[CustomerID],[EmployeeID],[OrderDate],[RequiredDate],[ShippedDate],[ShipVia] ,[Freight],[ShipName],[ShipAddress],[ShipCity],[ShipRegion],[ShipPostalCode],[ShipCountry] FROM [dbo].[Orders] (nolock) as t Where 1=1 and ((isnull(@employeeId,'')='') or (t.EmployeeID = @employeeId)) and ((isnull(@shipCity,'')='') or (t.ShipCity = @shipCity)) and ((isnull(@orderDateStart,'')='') or (t.OrderDate >= @orderDateStart)) and ((isnull(@orderDateEnd,'')='') or (t.OrderDate <= @orderDateEnd)) "); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> private static void SetStringCondition(ISearchCondition <string> cond, string val) { if (val.Length == 0) { return; } if (val.Contains("*") || val.Contains("?")) { String value = val.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); } else { cond.EqualTo(val); } }
protected override void BuildWhereSearchCondition(ISearchCondition condition) { if (NeedTake && !NeedSkip && SelectQuery.OrderBy.IsEmpty && SelectQuery.Having.IsEmpty) { BuildPredicate( Precedence.LogicalConjunction, new ExprExpr( new SqlExpression(null, "ROWNUM", Precedence.Primary), EOperator.LessOrEqual, SelectQuery.Select.TakeValue)); if (base.BuildWhere()) { StringBuilder.Append(" AND "); BuildSearchCondition(Precedence.LogicalConjunction, condition); } } else { BuildSearchCondition(Precedence.Unknown, condition); } }
/// <summary> /// Set a xPath based <see cref="ISearchCondition{T}"/> for an <see cref="XmlDocument"/> column. /// </summary> /// <param name="cond"></param> /// <param name="xPath"></param> /// <param name="match"></param> public static void SetXmlStringCondition(ISearchCondition <XmlDocument> cond, string xPath, string match) { var doc = new XmlDocument(); var xPathElem = doc.CreateElement("Select"); doc.AppendChild(xPathElem); var equalElem = doc.CreateElement("XPath"); xPathElem.AppendChild(equalElem); var attribElem = doc.CreateAttribute("path"); attribElem.Value = xPath; xPathElem.Attributes.Append(attribElem); if (match.Contains("*") || match.Contains("?")) { var value = match.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); attribElem = doc.CreateAttribute("value"); attribElem.Value = value; xPathElem.Attributes.Append(attribElem); cond.Like(doc); } else { attribElem = doc.CreateAttribute("value"); attribElem.Value = match; xPathElem.Attributes.Append(attribElem); cond.EqualTo(doc); } }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> private static void SetStringCondition(ISearchCondition<string> cond, string val) { if (val.Length == 0) return; if (val.Contains("*") || val.Contains("?")) { //TODO Remove when paging is implemented on queries int charCount = 0; foreach (char c in val) if (c != '*' && c != '?') charCount++; if (charCount < 4) throw new ArgumentException("Wildcard parameters require at least 4 characters."); String value = val.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); } else cond.EqualTo(val); }
/// <summary> /// 指定された条件に一致するファイルを対象のディレクトリに保存します。 /// </summary> /// <param name="searchCondition">検索条件オブジェクト。</param> void IGetMediaFile.SaveFile(ISearchCondition searchCondition) { //;区切りで細切れにする //それぞれのスクリプトを解析 //URLからファイル名を取得 //MimeTypeをスクリプトから取得 //クラスオブジェクトにする var dataObjList = GetSplitedObject(this.psStr); //searchConditionでデータを取得する var filterdList = dataObjList.Where(elem => searchCondition.extension.Contains(elem.extension)) .ToList(); Console.WriteLine("ダウンロード対象は{0}件です。", filterdList.Count); //データをダウンロードする //ダウンロードしたデータを保存する foreach (var item in filterdList) { Console.WriteLine("DL:{0}", item.FileName); DataDownloader.DownloadFile(item.Url, destUri, item.FileName); } }
/// <summary> /// <see cref="Har"/>クラスデータから、動画データを取得して保存します。 /// </summary> /// <returns>成功した場合true。失敗した場合false。</returns> void IGetMediaFile.SaveVideo(ISearchCondition searchCondition) { //mimeTypeが"video"から始まっているデータを取得する var videoData = targetHar.log.entries.Where(entry => entry.response.content.mimeType.StartsWith("video")).ToList(); //取得したデータのtextをそれぞれbase64でデコードする //デコードしたファイルを、保存先に保存する //ファイル名はrequestのurlのファイル名とする foreach (var data in videoData) { if (!(data.response.content.text == null)) { var fileName = Path.GetFileName(data.request.url); fileName = System.Text.RegularExpressions.Regex.Replace(fileName, "\\?.*", ""); var destFullPath = Path.Combine(dest, fileName); using (var fs = File.Create(destFullPath)) { //textをbase64デコードして書き込む fs.Write(Convert.FromBase64String(data.response.content.text)); } } } }
public FugoAssignDateCleanUp(ISearchCondition sc) { _sc = sc; }
public OrderEmployeeIdCleanUp(ISearchCondition sc) { _sc = sc; }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for DICOM string based (wildcard matching) value. /// </summary> /// <param name="cond"></param> /// <param name="val"></param> public static void SetGuiStringCondition(ISearchCondition<string> cond, string val) { if ( string.IsNullOrEmpty(val) || SearchValueOnlyWildcard(val, true)) return; String value = val.Replace('*', '%'); value = value.Replace('?', '_'); cond.Like(value); }
public ComponentGroup Search(ISearchCondition searchCondition) { ComponentGroup result = null; //UserInfo == null�������ж�Ҫȡ�������ĸ���վ�IJ�Ʒ��������Ϊû�в鵽��Ʒ���� hotelSearchHotelByZyl.Debug("Flag UserInfo Start :" + DateTime.Now.ToLongTimeString()); if (UserInfo == null) return null; hotelSearchHotelByZyl.Debug("Flag UserInfo End :" + DateTime.Now.ToLongTimeString()); if (searchCondition is Terms.Sales.Business.AirSearchCondition) result = SearchAir((Terms.Sales.Business.AirSearchCondition)searchCondition); else if (searchCondition is Terms.Sales.Business.HotelSearchCondition) result = SearchHotel((Terms.Sales.Business.HotelSearchCondition)searchCondition); else if (searchCondition is Terms.Sales.Business.PackageSearchCondition) result = SearchPackage((Terms.Sales.Business.PackageSearchCondition)searchCondition); else if (searchCondition is Terms.Sales.Business.VehcileSearchCondition) return SearchVehcile((Terms.Sales.Business.VehcileSearchCondition)searchCondition); return result; }
public Search(Type dataObjectType, ISearchCondition searchCondition) : this(dataObjectType) { SearchCondition = searchCondition; }
IQueryExpression ISqlExpressionWalkable.Walk(bool skipColumns, Func <IQueryExpression, IQueryExpression> action) { Search = (ISearchCondition)Search.Walk(skipColumns, action); return(null); }
/// <summary> /// Set a <see cref="ISearchCondition{T}"/> for a <see cref="ServerEntityKey"/> reference. /// </summary> /// <param name="cond"></param> /// <param name="vals"></param> public static void SetKeyCondition(ISearchCondition<ServerEntityKey> cond, ServerEntityKey[] vals) { if (vals == null || vals.Length == 0) return; if (vals.Length == 1) cond.EqualTo(vals[0]); else cond.In(vals); }
public void Log(DateTime searchingBeginningTime, DateTime searchingEndingTime, ISearchCondition searchCondition) { if (searchCondition is Terms.Sales.Business.AirSearchCondition) { AirSearchingLogger.Log(searchingBeginningTime, searchingEndingTime, searchCondition); } else if (searchCondition is Terms.Sales.Business.HotelSearchCondition) { HotelSearchingLogger.Log(searchingBeginningTime, searchingEndingTime, searchCondition); } else if (searchCondition is Terms.Sales.Business.PackageSearchCondition) { PackageSearchingLogger.Log(searchingBeginningTime, searchingEndingTime, searchCondition); } else if (searchCondition is Terms.Sales.Business.TourSearchCondition) { if(searchCondition == null) TourSearchingLogger.Log(searchingBeginningTime, searchingEndingTime); else TourSearchingLogger.Log(searchingBeginningTime, searchingEndingTime, searchCondition); } }
public OrderShipCityCleanUp(ISearchCondition sc) { _sc = sc; }
public ComponentGroup Search(ISearchCondition searchCondition, string Language) { //UserInfo == null�������ж�Ҫȡ�������ĸ���վ�IJ�Ʒ��������Ϊû�в鵽��Ʒ���� hotelSearchHotelByZyl.Debug("Flag UserInfo Start :" + DateTime.Now.ToLongTimeString()); if (UserInfo == null) return null; hotelSearchHotelByZyl.Debug("Flag UserInfo End :" + DateTime.Now.ToLongTimeString()); return SearchTour((Terms.Sales.Business.TourSearchCondition)searchCondition, Language); }
public FugoCustomerIdCleanUp(ISearchCondition sc) { _sc = sc; }
/// <summary> /// Set a xPath based <see cref="ISearchCondition{T}"/> for an <see cref="XmlDocument"/> column. /// </summary> /// <param name="cond"></param> /// <param name="xPath"></param> /// <param name="match"></param> public static void SetXmlStringCondition(ISearchCondition<XmlDocument> cond, string xPath, string match) { var doc = new XmlDocument(); var xPathElem = doc.CreateElement("Select"); doc.AppendChild(xPathElem); var equalElem = doc.CreateElement("XPath"); xPathElem.AppendChild(equalElem); var attribElem = doc.CreateAttribute("path"); attribElem.Value = xPath; xPathElem.Attributes.Append(attribElem); if (match.Contains("*") || match.Contains("?")) { var value = match.Replace("%", "[%]").Replace("_", "[_]"); value = value.Replace('*', '%'); value = value.Replace('?', '_'); attribElem = doc.CreateAttribute("value"); attribElem.Value = value; xPathElem.Attributes.Append(attribElem); cond.Like(doc); } else { attribElem = doc.CreateAttribute("value"); attribElem.Value = match; xPathElem.Attributes.Append(attribElem); cond.EqualTo(doc); } }
public ComponentGroup TourSearch(ISearchCondition searchCondition, List<string> citys, string Language) { return SearchTour((Terms.Sales.Business.TourSearchCondition)searchCondition, citys, Language); }
/// <summary> /// PowerShellリクエストスクリプトの文字列を使用して初期化します。 /// </summary> /// <param name="psStr"></param> public PSRequestScript(string psStr, ISearchCondition searchCondition) { this.psStr = psStr; this.searchCondition = searchCondition; }