public override CriteriaOperator GetCriteria() { BetweenOperator BetweenFechas = new BetweenOperator("FechaEntrada", FechaDesde, FechaHasta); CriteriaOperator criteria = CriteriaOperator.And(BetweenFechas); return(criteria); }
public ActionResult Index() { #region --- Criteria Operator (parse), Group Operator, Binary Operator, Between Operator --- //1. binary with condition BinaryOperator filter = new BinaryOperator("Age", "23"); XPCollection <Customer> dataCustomer = new XPCollection <Customer>(session, filter); BinaryOperator filter1 = new BinaryOperator(); XPCollection <Customer> dataCustomer1 = new XPCollection <Customer>(session, filter1); //2. Criteria Operator, Group Operator CriteriaOperator filter2 = CriteriaOperator.Parse("Age < 20"); CriteriaOperator filter3 = CriteriaOperator.Parse("Age > 30"); XPCollection <Customer> dataCustomer2 = new XPCollection <Customer>(session, GroupOperator.Or(filter2, filter3)); CriteriaOperator filter4 = CriteriaOperator.Parse("Age > 20"); CriteriaOperator filter5 = CriteriaOperator.Parse("Age < 30"); XPCollection <Customer> dataCustomer3 = new XPCollection <Customer>(session, GroupOperator.And(filter4, filter5)); //3. Between Operator CriteriaOperator filter6 = new BetweenOperator("Age", 20, 30); XPCollection <Customer> dataCustomer4 = new XPCollection <Customer>(session, filter6); //4. Contain Operator ??? //ContainsOperator filter7 = new ContainsOperator("Name","on"); //XPCollection<Customer> dataCustomer5 = new XPCollection<Customer>(session, filter7); //5. In Operator //xpCollection1.Filter = new InOperator("Name", new string[] {"John", "Mike", "Nick"}); #endregion return(View()); }
protected void btnOK_Click(object sender, EventArgs e) { if (int.Parse(cbLoaiphieu.Value.ToString()) == 0 && int.Parse(cbLoaibaocao.Value.ToString()) == 0) //nhập tổng hợp { showGrid(true, false, false, false); } if (int.Parse(cbLoaiphieu.Value.ToString()) == 1 && int.Parse(cbLoaibaocao.Value.ToString()) == 0)//bán tổng hợp { showGrid(false, true, false, false); } if (RadioButtonList1.SelectedIndex != 0 && tbTungay.Text != "" && tbDenngay.Text != "") { DateTime tungay = DateTime.ParseExact(DateTime.ParseExact(tbTungay.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); DateTime denngay = DateTime.ParseExact(DateTime.ParseExact(tbDenngay.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); string filter = new BetweenOperator("ngaylapphieu", tungay, denngay).ToString(); if (gvNhaptonghop.Visible) { gvNhaptonghop.FilterExpression = filter; } else { gvBantonghop.FilterExpression = filter; } } }
public CriteriaOperator Visit(BetweenOperator theOperator) { UpdatePropertyName(theOperator.TestExpression); CriteriaOperator operandValue; if (ToValue(theOperator.BeginExpression, out operandValue)) { theOperator.BeginExpression = operandValue; } else { theOperator.BeginExpression.Accept(this); } if (ToValue(theOperator.EndExpression, out operandValue)) { theOperator.EndExpression = operandValue; } else { theOperator.EndExpression.Accept(this); } return(theOperator); }
public override CriteriaOperator GetCriteria() { GenerateData(); //CriteriaOperator criteria = new BinaryOperator("MyPropertyName", "MyValue"); BetweenOperator BetweenFechas = new BetweenOperator("CompraRepuestos.FechaEntrada", FechaDesde, FechaHasta); CriteriaOperator criteria = CriteriaOperator.And(BetweenFechas); return(criteria); }
public override CriteriaOperator Visit(BetweenOperator theOperator) { theOperator = (BetweenOperator)base.Visit(theOperator); if (IsNull(theOperator.BeginExpression) || IsNull(theOperator.EndExpression) || IsNull(theOperator.TestExpression)) { return(null); } return(theOperator); }
protected void gvNhaptonghop_PreRender(object sender, EventArgs e) { if (RadioButtonList1.SelectedIndex != 0 && tbTungay.Text != "" && tbDenngay.Text != "") { DateTime tungay = DateTime.ParseExact(DateTime.ParseExact(tbTungay.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); DateTime denngay = DateTime.ParseExact(DateTime.ParseExact(tbDenngay.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); string filter = new BetweenOperator("ngaylapphieu", tungay, denngay).ToString(); gvNhaptonghop.FilterExpression = filter; } }
object ICriteriaVisitor.Visit(BetweenOperator theOperator){ Process(theOperator); var leftOperandValue = GetCustomFunctionOperandValue(theOperator.BeginExpression); if (!ReferenceEquals(leftOperandValue,null)) theOperator.BeginExpression = leftOperandValue; var rightOperandValue = GetCustomFunctionOperandValue(theOperator.EndExpression); if (!ReferenceEquals(rightOperandValue,null)) theOperator.EndExpression = rightOperandValue; return theOperator; }
protected override object Visit(BetweenOperator theOperator) { string endString = theOperator.EndExpression.ToString(); if (endString.EndsWith("#") && endString.StartsWith("#")) { endString = endString.TrimStart('#').TrimEnd('#'); theOperator.EndExpression = new ConstantValue(DateTime.Parse(endString + " 23:59:59")); } return(base.Visit(theOperator)); }
public virtual CriteriaOperator Visit(BetweenOperator theOperator) { CriteriaOperator test = theOperator.TestExpression.Accept <CriteriaOperator>(this); CriteriaOperator begin = theOperator.BeginExpression.Accept <CriteriaOperator>(this); CriteriaOperator end = theOperator.EndExpression.Accept <CriteriaOperator>(this); if (object.ReferenceEquals(test, null) || object.ReferenceEquals(begin, null) || object.ReferenceEquals(end, null)) { return(null); } return(new BetweenOperator(test, begin, end)); }
protected override void RaiseFilterPopupDate(DateFilterPopup filterPopup, List <FilterDateElement> list) { CriteriaOperator filter = new BinaryOperator(filterPopup.Column.FieldName, DateTime.Today, BinaryOperatorType.Greater); list.Add(new FilterDateElement(Localizer.Active.GetLocalizedString(StringId.FilterClauseGreater) , "", filter)); filter = new BinaryOperator(filterPopup.Column.FieldName, DateTime.Today, BinaryOperatorType.Less); list.Add(new FilterDateElement(Localizer.Active.GetLocalizedString(StringId.FilterClauseLess) , "", filter)); filter = new BetweenOperator(filterPopup.Column.FieldName, DateTime.Today, DateTime.Today); list.Add(new FilterDateElement(Localizer.Active.GetLocalizedString(StringId.FilterClauseBetween), "", filter)); base.RaiseFilterPopupDate(filterPopup, list); }
protected virtual CriteriaOperator VisitBetween(BetweenOperator theOperator) { CriteriaOperator beginExpression = this.AcceptOperator(theOperator.BeginExpression); CriteriaOperator endExpression = this.AcceptOperator(theOperator.EndExpression); CriteriaOperator testExpression = this.AcceptOperator(theOperator.TestExpression); if (object.ReferenceEquals(theOperator.BeginExpression, beginExpression) && object.ReferenceEquals(theOperator.EndExpression, endExpression) && object.ReferenceEquals(theOperator.TestExpression, testExpression)) { return(theOperator); } return(new BetweenOperator(testExpression, beginExpression, endExpression)); }
public void ShouldBeValueBetweenTwoValues([Range(0, 5)] int value) { // Given var filter = new BetweenOperator(EntityType, IntField, 1, 4); var entity = new FilterTestEntity { IntField = value }; // When var result = filter.IsSatisfiedBy(entity); // Then Assert.AreEqual(value >= 1 && value <= 4, result); }
public void ShouldReturnTrueWhenRangeIsNotSpecify([Range(0, 5)] int value) { // Given var filter = new BetweenOperator(EntityType, IntField, null, null); var entity = new FilterTestEntity { IntField = value }; // When var result = filter.IsSatisfiedBy(entity); // Then Assert.IsTrue(result); }
public void ShouldBeValueBetweenInfinityAndEndValue([Range(0, 5)] int value) { // Given var filter = new BetweenOperator(EntityType, IntField, null, 3); var entity = new FilterTestEntity { IntField = value }; // When var result = filter.IsSatisfiedBy(entity); // Then Assert.AreEqual(value <= 3, result); }
public override CriteriaOperator GetCriteria() { //CriteriaOperator criteria = new BinaryOperator("MyPropertyName", "MyValue"); CriteriaOperator criteria = new BinaryOperator("Automovil", Automovil); BetweenOperator BetweenFechas = new BetweenOperator("FechaEntrada", FechaDesde, FechaHasta); CriteriaOperator criteria2 = CriteriaOperator.And(BetweenFechas); CriteriaOperator criteria3 = null; criteria3 = CriteriaOperator.And(criteria, criteria2); return(criteria3); }
private static Condition Between(BetweenOperator betweenOperator) { OperandProperty opProperty = betweenOperator.TestExpression as OperandProperty; OperandValue opValue = betweenOperator.BeginExpression as OperandValue; OperandValue opValue2 = betweenOperator.EndExpression as OperandValue; var listType = typeof(List <>).MakeGenericType(opValue.Value.GetType()); var list = Activator.CreateInstance(listType, 2); var method = listType.GetMethod("Add"); method.Invoke(list, new object[] { opValue.Value }); method.Invoke(list, new object[] { opValue2.Value }); return(new Condition(opProperty.PropertyName, Operator.IsBetween, list)); }
protected void gvBaocao_PreRender(object sender, EventArgs e) { DateTime tungay = DateTime.ParseExact(DateTime.ParseExact(deTungay.Date.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); DateTime denngay = DateTime.ParseExact(DateTime.ParseExact(deDenngay.Date.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); string filter = new BetweenOperator("ngaylapphieu", tungay, denngay).ToString(); gvBaocao.FilterExpression = filter; //gvBaocao.TotalSummary.Add(SummaryItemType.Sum, "tienlai").DisplayFormat = "c"; //gvBaocao.GroupSummary.Add(SummaryItemType.Sum, "tienlai").ShowInGroupFooterColumn = "tienlai"; //ASPxSummaryItem summaryItem = gvBaocao.TotalSummary["tienlai"]; //if (summaryItem != null) //{ // txtTong.Text = gvBaocao.GetTotalSummaryValue(summaryItem).ToString(); //} }
object ICriteriaVisitor <object> .Visit(BetweenOperator theOperator) { Process(theOperator); var leftOperandValue = GetCustomFunctionOperandValue(theOperator.BeginExpression); if (!ReferenceEquals(leftOperandValue, null)) { theOperator.BeginExpression = leftOperandValue; } var rightOperandValue = GetCustomFunctionOperandValue(theOperator.EndExpression); if (!ReferenceEquals(rightOperandValue, null)) { theOperator.EndExpression = rightOperandValue; } return(theOperator); }
object ICriteriaVisitor <object> .Visit(BetweenOperator theOperator) { Process(theOperator); if (!ReferenceEquals(theOperator.BeginExpression, null)) { theOperator.BeginExpression.Accept(this); } if (!ReferenceEquals(theOperator.EndExpression, null)) { theOperator.EndExpression.Accept(this); } if (!ReferenceEquals(theOperator.TestExpression, null)) { theOperator.TestExpression.Accept(this); } return(null); }
public object Visit(BetweenOperator theOperator) { UpdatePropertyName(theOperator.TestExpression); CriteriaOperator operandValue; if (ToValue(theOperator.BeginExpression, out operandValue)) theOperator.BeginExpression = operandValue; else theOperator.BeginExpression.Accept(this); if (ToValue(theOperator.EndExpression, out operandValue)) theOperator.EndExpression = operandValue; else theOperator.EndExpression.Accept(this); return theOperator; }
protected void btSub_Click(object sender, EventArgs e) { DateTime tungay = DateTime.ParseExact(DateTime.ParseExact(deTungay.Date.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); DateTime denngay = DateTime.ParseExact(DateTime.ParseExact(deDenngay.Date.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"), "yyyy/MM/dd", CultureInfo.InvariantCulture); string filter = new BetweenOperator("ngaylapphieu", tungay, denngay).ToString(); gvBaocao.FilterExpression = filter; //string tungay, denngay; //tungay = deTungay.Date.ToShortDateString(); //denngay = deDenngay.Date.ToShortDateString(); //SqlDataSource1.SelectParameters.Add("tungay", tungay); //SqlDataSource1.SelectParameters.Add("denngay", denngay); //gvBaocao.DataSource = null; //gvBaocao.DataSourceID = null; //gvBaocao.DataSource = SqlDataSource1; //gvBaocao.DataBind(); //DataSet ds = new DataSet(); //using (SqlConnection con = new SqlConnection(ketnoi.kn)) //{ // SqlCommand cmd = new SqlCommand("report_doanhthu", con); // cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.AddWithValue("@tungay", tungay); // cmd.Parameters.AddWithValue("@denngay", denngay); // try // { // con.Open(); // SqlDataAdapter sa = new SqlDataAdapter(cmd); // sa.Fill(ds); // } // catch (Exception) // { // //throw ex; // } //} //gvBaocao.DataSource = ds.Tables[0]; //gvBaocao.DataBind(); }
private void ShowSearchForm_Execute(object sender, PopupWindowShowActionExecuteEventArgs e) { List <CriteriaOperator> Criterias = new List <CriteriaOperator>(); var item = this.View.ObjectTypeInfo; var SearchTypeInfo = XafTypesInfo.Instance.FindTypeInfo(searchAttribute.SearchFormType); var members = item.Members.Where(m => m.FindAttribute <SearchAttribute>() != null); foreach (var member in members) { var SearchParameters = member.FindAttribute <SearchAttribute>(); if (SearchParameters.IsRange) { var FromValue = SearchTypeInfo.FindMember($"From{member.Name}").GetValue(SearchFormObject); var ToValue = SearchTypeInfo.FindMember($"To{member.Name}").GetValue(SearchFormObject); BetweenOperator betweenOperator = new BetweenOperator(member.Name, FromValue, ToValue); Criterias.Add(betweenOperator); } else { var SingleValue = SearchTypeInfo.FindMember($"{member.Name}").GetValue(SearchFormObject); BinaryOperator binaryOperator = new BinaryOperator(member.Name, SingleValue); Criterias.Add(binaryOperator); } } var SearchCriteria = CriteriaOperator.Or(Criterias); ((ListView)View).CollectionSource.Criteria["SearchForm"] = SearchCriteria; SearchFormBase searchFormBase = (SearchFormBase)SearchFormObject; if (searchFormBase.SaveParameters) { var os = this.Application.CreateObjectSpace(); var Storage = os.CreateObject <SearchFormStorage>(); Storage.UserName = SecuritySystem.CurrentUserName; Storage.ViewId = this.View.Id; Storage.Criteria = SearchCriteria.ToString(); os.CommitChanges(); } }
object ICriteriaVisitor.Visit(BetweenOperator theOperator) { return(string.Format("{0} is between {1} and {2}", theOperator.TestExpression.Accept(this).ToString(), theOperator.BeginExpression.Accept(this).ToString(), theOperator.EndExpression.Accept(this).ToString())); }
public static IList <WeeklyInventory> GetThisWeeksInventroy(DateTime StartDate, DateTime EndDate, IObjectSpace space) { IList <WeeklyInventory> weeklyInventory = new List <WeeklyInventory>(); // IObjectSpace space = AppHelper.Application.CreateObjectSpace(); //get the list of locations IList <Location> locationList = space.GetObjects <Location>(); bool groupCheck = false; foreach (Location loc in locationList) { //filter the measures by LDC and date if (loc.Name.Contains("IPS")) { Console.Write('s'); } WeeklyInventory WeekI = new WeeklyInventory(); WeekI.Location = loc; XPCollection <Move> moves = loc.MoveFrom; // BetweenOperator betOp = new BetweenOperator("MoveDate", DateTime.Now.AddDays(-97), DateTime.Now.AddDays(-90)); BetweenOperator betOp = new BetweenOperator("MoveDate", StartDate, EndDate); NotOperator notOP = new NotOperator(new NullOperator("Appliance")); GroupOperator grpOP = new GroupOperator(); grpOP.OperatorType = GroupOperatorType.And; grpOP.Operands.Add(betOp); grpOP.Operands.Add(notOP); moves.Filter = grpOP; // moves.Filter = betOp; List <InventoryItem> invList = new List <InventoryItem>(); //loc.MoveFrom[0].Appliance foreach (Move mov in moves) { FastFileLineItem item = space.FindObject <FastFileLineItem>(new BinaryOperator("Move.Oid", mov.Oid.ToString())); foreach (InventoryItem inv in invList) { if (item.HAPApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name && item.HAPApplication.BasicScheduledDate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy")) { inv.Quantity += mov.Quantity; groupCheck = true; } else if (item.ENBLIApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name && item.ENBLIApplication.TAPSAssessmentDate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy")) { inv.Quantity += mov.Quantity; groupCheck = true; } else if (item.ENBLIApplication != null && mov.Appliance.SageName == inv.Appliance.SageName && mov.LocationTo.Name == inv.LocationTo.Name && item.ENBLIApplication.ENBLIADate.ToString("dd/MM/yyyy") == inv.InstallDate.ToString("dd/MM/yyyy")) { inv.Quantity += mov.Quantity; groupCheck = true; } } if (!groupCheck) { if (item.HAPApplication != null) { InventoryItem invItem = new InventoryItem(); invItem.Appliance = mov.Appliance; invItem.LocationTo = mov.LocationTo; invItem.Quantity = mov.Quantity; invItem.InstallDate = item.HAPApplication.BasicScheduledDate; invList.Add(invItem); } else if (item.ENBLIApplication != null) { InventoryItem invItem = new InventoryItem(); invItem.Appliance = mov.Appliance; invItem.LocationTo = mov.LocationTo; invItem.Quantity = mov.Quantity; if (item.ENBLIApplication.TAPSAssessmentDate != null && item.ENBLIApplication.TAPSAssessmentDate != DateTime.MinValue) { invItem.InstallDate = item.ENBLIApplication.TAPSAssessmentDate; } else { invItem.InstallDate = item.ENBLIApplication.ENBLIADate; } invList.Add(invItem); } } groupCheck = false; } if (invList.Count > 0) { WeekI.InventoryItemList = invList; weeklyInventory.Add(WeekI); } } return(weeklyInventory); }
CriteriaOperator ICriteriaVisitor <CriteriaOperator> .Visit(BetweenOperator theOperator) { return(this.VisitBetween(theOperator)); }
public override Object Visit(BetweenOperator theOperator) { return base.Visit(theOperator); }
public object Visit(BetweenOperator theOperator) { return BooleanCriteriaStateObject.Logical; }
public virtual object Visit(BetweenOperator theOperator) { Validate(theOperator.TestExpression); Validate(theOperator.EndExpression); Validate(theOperator.BeginExpression); return null; }
public object Visit(BetweenOperator theOperator) { BooleanCriteriaState testExRes = Process(theOperator.TestExpression); BooleanCriteriaState beginExRes = Process(theOperator.BeginExpression); BooleanCriteriaState endExRes = Process(theOperator.EndExpression); if (testExRes == BooleanCriteriaState.Logical || beginExRes == BooleanCriteriaState.Logical || endExRes == BooleanCriteriaState.Logical) throw new ArgumentException(MustBeArithmetical); return BooleanCriteriaStateObject.Logical; }
CriteriaOperator ICriteriaVisitor <CriteriaOperator> .Visit(BetweenOperator theOperator) { throw new NotImplementedException(); }
/// <contentfrom cref="ICriteriaVisitor.Visit(BetweenOperator)"/> public object Visit(BetweenOperator theOperator) { Process(theOperator.TestExpression); Process(theOperator.BeginExpression); Process(theOperator.EndExpression); return null; }
/// <contentfrom cref="ICriteriaVisitor.Visit(BetweenOperator)"/> public object Visit(BetweenOperator theOperator) { theOperator.TestExpression = Process(theOperator.TestExpression); theOperator.BeginExpression = Process(theOperator.BeginExpression); theOperator.EndExpression = Process(theOperator.EndExpression); return theOperator; }
public object Visit(BetweenOperator theOperator) { object left = Accept(theOperator.TestExpression); if (Compare(left, Accept(theOperator.BeginExpression), false) < 0) { return false; } if (Compare(left, Accept(theOperator.EndExpression), false) > 0) { return false; } return true; }
/// <summary> /// Initializes the operator resolver. /// </summary> /// <returns>The operator resolver.</returns> private static OperatorResolver InitOperatorResolver() { Mock <OperatorResolver> opResolverMock = new Mock <OperatorResolver>(); IExpressionFactory exprFactory = new ExpressionFactory( ModelResolvers.ExprResolver, ModelResolvers.RuleExprResolver, ModelResolvers.JoinExprResolver, opResolverMock.Object); JoinApplyMeasuresOperator joinApplyMeasuresOp = new JoinApplyMeasuresOperator( exprFactory, ModelResolvers.DsResolver); opResolverMock.Setup(o => o(It.IsAny <string>())) .Returns((string key) => { IOperatorDefinition op; if (key.In("count", "min", "max", "median", "sum", "avg", "stddev_pop", "stddev_samp", "var_pop", "var_samp")) { op = new AggrFunctionOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "aggr") { op = new AggrOperator(); } else if (key.In("first_value", "last_value", "lag", "rank", "ratio_to_report", "lead")) { op = new AnalyticFunctionOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key.In("+", "-", "*", "/")) { op = new ArithmeticOperator(joinApplyMeasuresOp); } else if (key == "between") { op = new BetweenOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key.In("and", "or", "xor", "not")) { op = new BooleanOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "calc") { op = new CalcOperator(ModelResolvers.DsResolver); } else if (key == "check_datapoint") { op = new CheckDatapointOperator(ModelResolvers.DsResolver, exprFactory); } else if (key.In("=", "<>", "<", "<=", ">", ">=")) { op = new ComparisonOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "comp") { op = new ComponentOperator(ModelResolvers.DsResolver, new ComponentTypeInference(ModelResolvers.DsResolver)); } else if (key == "const") { op = new ConstantOperator(ModelResolvers.DsResolver); } else if (key == "current_date") { op = new CurrentDateOperator(ModelResolvers.DsResolver); } else if (key == "exists_in") { op = new ExistsInOperator(ModelResolvers.DsResolver); } else if (key == "get") { op = new GetOperator(new Mock <IDataModelProvider>().Object); // operator tests should mock IDataModel implementation } else if (key == "if") { op = new IfThenElseOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key.In("in", "not_in")) { op = new InOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "isnull") { op = new IsNullOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "join") { op = new JoinOperator(ModelResolvers.DsResolver); } else if (key.In("keep", "drop")) { op = new KeepDropOperator(ModelResolvers.DsResolver); } else if (key == "match_characters") { op = new MatchCharactersOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "#") { op = new MembershipOperator(); } else if (key.In("ceil", "floor", "abs", "exp", "ln", "sqrt", "mod", "round", "power", "log", "trunc")) { op = new NumericOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "nvl") { op = new NvlOperator(joinApplyMeasuresOp); } else if (key == "opt") { op = new OptionalOperator(ModelResolvers.DsResolver); } else if (key == "period_indicator") { op = new PeriodIndicatorOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver, exprFactory); } else if (key == "pivot") { op = new PivotOperator(ModelResolvers.DsResolver); } else if (key == "ref") { op = new ReferenceOperator(); } else if (key == "rename") { op = new RenameOperator(ModelResolvers.DsResolver); } else if (key.In("union", "intersect", "setdiff", "symdiff")) { op = new SetOperator(); } else if (key.In("||", "trim", "rtrim", "ltrim", "upper", "lower", "substr", "replace", "instr", "length")) { op = new StringOperator(joinApplyMeasuresOp, ModelResolvers.DsResolver); } else if (key == "sub") { op = new SubspaceOperator(ModelResolvers.DsResolver); } else if (key.In("fill_time_series", "flow_to_stock", "stock_to_flow", "timeshift", "time_agg")) { op = new TimeOperator(); } else if (key.In("plus", "minus")) { op = new UnaryArithmeticOperator(joinApplyMeasuresOp); } else if (key == "unpivot") { op = new UnpivotOperator(ModelResolvers.DsResolver); } // --- else if (key == "calcExpr") { op = new CalcExprOperator(ModelResolvers.DsResolver); } else if (key == "collection") { op = new CollectionOperator(ModelResolvers.DsResolver); } else if (key == "datasetClause") { op = new DatasetClauseOperator(); } else if (key == "group") { op = new GroupOperator(ModelResolvers.DsResolver); } else if (key == "order") { op = new OrderOperator(ModelResolvers.DsResolver); } else if (key == "partition") { op = new PartitionOperator(ModelResolvers.DsResolver); } else if (key == "renameExpr") { op = new RenameExprOperator(ModelResolvers.DsResolver); } else if (key == "subExpr") { op = new SubspaceExprOperator(); } else if (key == "when") { op = new WhenOperator(); } else { throw new InvalidOperationException("Operator not found"); } op.Symbol = key; return(op); }); return(opResolverMock.Object); }
protected virtual void Process(BetweenOperator theOperator) { }
private void GenerateData() { BinaryOperator BinarySolicitud = new BinaryOperator("CodSolicitud", 0, BinaryOperatorType.Greater); BetweenOperator BetweenFechas = new BetweenOperator("FechaEntrada", FechaDesde, FechaHasta); CriteriaOperator criteria = CriteriaOperator.And(BetweenFechas, BinarySolicitud); ICollection <SolicitudReparacion> ListadoDeSolicitudes = ObjectSpace.GetObjects <SolicitudReparacion>(criteria); if (!ReferenceEquals(ListadoDeSolicitudes, null)) { foreach (SolicitudReparacion ObjSolicitud in ListadoDeSolicitudes) { decimal total = 0; decimal TotalAproximado = 0; string TrabajoRealizado = ""; int dias = 0; TimeSpan tiempoTranscurrido; BinaryOperator BinaryCompra = new BinaryOperator("CompraRepuestos", ObjSolicitud); CriteriaOperator criteriaCompra = CriteriaOperator.And(BinaryCompra); ICollection <CompraRepuesto> ListadoCompras = ObjectSpace.GetObjects <CompraRepuesto>(criteriaCompra); BinaryOperator BinarySalida = new BinaryOperator("SalidaVehiculo", ObjSolicitud); CriteriaOperator criteriaSalida = CriteriaOperator.And(BinarySalida); ICollection <SolicitudSalidaVehiculo> ListadoSalidas = ObjectSpace.GetObjects <SolicitudSalidaVehiculo>(criteriaSalida); BinaryOperator BinaryAproximado = new BinaryOperator("SolicitudRepuesto", ObjSolicitud); CriteriaOperator criteriaAproximado = CriteriaOperator.And(BinaryAproximado); ICollection <SolicitudRepuestos> ListadoAproximado = ObjectSpace.GetObjects <SolicitudRepuestos>(criteriaAproximado); if (!ReferenceEquals(ListadoCompras, null)) { if (!ReferenceEquals(ListadoCompras, null)) { foreach (CompraRepuesto ComprasList in ListadoCompras) { total = total + ComprasList.Total; } } if (!ReferenceEquals(ListadoSalidas, null)) { foreach (SolicitudSalidaVehiculo SalidaList in ListadoSalidas) { TrabajoRealizado = TrabajoRealizado + SalidaList.TrabajoRealizado; tiempoTranscurrido = SalidaList.FechaSalida.Subtract(ObjSolicitud.FechaEntrada); dias = tiempoTranscurrido.Days + 1; } } if (!ReferenceEquals(ListadoAproximado, null)) { foreach (SolicitudRepuestos AproximadoList in ListadoAproximado) { TotalAproximado += AproximadoList.Total; } } } if (total > 0 && dias > 0) { ObjSolicitud.RendimientoReal = total / dias; } else { ObjSolicitud.RendimientoReal = 0; } ObjSolicitud.CostoEjecucionReal = total; ObjSolicitud.CostoEjecucionAproximado = TotalAproximado; ObjSolicitud.TrabajoRealizado = TrabajoRealizado; } //guardando la data this.ObjectSpace.CommitChanges(); } }
object ICriteriaVisitor.Visit(BetweenOperator theOperator) { object val = Process(theOperator.TestExpression); if(Compare(val, Process(theOperator.BeginExpression)) < 0) return false; if(Compare(val, Process(theOperator.EndExpression)) > 0) return false; return true; }
public CriteriaOperator Visit(BetweenOperator theOperator) { return((CriteriaOperator)(IsFullIndexed(theOperator.TestExpression) ? (object)new FunctionOperator(FullTextContainsFunction.FunctionName, theOperator.GetOperators()) : theOperator)); }
public override CriteriaOperator GetCriteria() { CriteriaOperator criteriaClase = new BinaryOperator("Clase", Clase); CriteriaOperator criteriaSubClase = new BinaryOperator("SubClase", SubClase); CriteriaOperator criteriaAmbiente = new BinaryOperator("Ambiente", Ambiente); CriteriaOperator criteriaEmpleado = new BinaryOperator("Empleado", Empleado); CriteriaOperator criteriaCuentaContable = new BinaryOperator("CuentaContable", CuentaContable); CriteriaOperator criteriaFuente = new BinaryOperator("Fuente", Fuente); //para filtrar los estados 1 y 2 CriteriaOperator ProcesoDescargoFinal = null; //para filtrar los estados 1 y 2 BinaryOperator BinaryEstado1 = new BinaryOperator("Estado", Estado.Disponible); BinaryOperator BinaryEstado2 = new BinaryOperator("Estado", Estado.Asignado); ProcesoDescargoFinal = CriteriaOperator.Or(BinaryEstado1, BinaryEstado2); if (!ReferenceEquals(EstadoFisico, null)) { BinaryOperator ProcesoDescargo1 = new BinaryOperator("EstadoFisico", EstadoFisico, BinaryOperatorType.NotEqual); ProcesoDescargoFinal = CriteriaOperator.And(ProcesoDescargoFinal, ProcesoDescargo1); } if (!ReferenceEquals(OmitirAmbiente, null)) { BinaryOperator ProcesoDescargo2 = new BinaryOperator("Ambiente", OmitirAmbiente, BinaryOperatorType.NotEqual); ProcesoDescargoFinal = CriteriaOperator.And(ProcesoDescargoFinal, ProcesoDescargo2); } BetweenOperator BetweenFechas = new BetweenOperator("FechaDeAdquisicion", FechaDesde, FechaHasta); string dateTime = "1980/01/01"; DateTime dt = Convert.ToDateTime(dateTime); BetweenOperator BetweenFechas2 = new BetweenOperator("FechaDeAdquisicion", dt, FechaHasta); CriteriaOperator criteriaFinal = null; if (!ReferenceEquals(Clase, null)) { if (ReferenceEquals(criteriaFinal, null)) { criteriaFinal = CriteriaOperator.And(criteriaClase); } else { criteriaFinal = CriteriaOperator.And(criteriaClase, criteriaFinal); } } if (!ReferenceEquals(SubClase, null)) { if (!ReferenceEquals(Clase, null)) { criteriaFinal = CriteriaOperator.And(criteriaSubClase, criteriaFinal); } } if (!ReferenceEquals(Ambiente, null)) { if (ReferenceEquals(criteriaFinal, null)) { criteriaFinal = CriteriaOperator.And(criteriaAmbiente); } else { criteriaFinal = CriteriaOperator.And(criteriaAmbiente, criteriaFinal); } } if (!ReferenceEquals(Empleado, null)) { if (ReferenceEquals(criteriaFinal, null)) { criteriaFinal = CriteriaOperator.And(criteriaEmpleado); } else { criteriaFinal = CriteriaOperator.And(criteriaEmpleado, criteriaFinal); } } if (!ReferenceEquals(CuentaContable, null)) { if (ReferenceEquals(criteriaFinal, null)) { criteriaFinal = CriteriaOperator.And(criteriaCuentaContable); } else { criteriaFinal = CriteriaOperator.And(criteriaCuentaContable, criteriaFinal); } } if (!ReferenceEquals(Fuente, null)) { if (ReferenceEquals(criteriaFinal, null)) { criteriaFinal = CriteriaOperator.And(criteriaFuente); } else { criteriaFinal = CriteriaOperator.And(criteriaFuente, criteriaFinal); } } int axoDesde = FechaDesde.Year; int axoHasta = FechaHasta.Year; if (axoDesde > 1 && axoHasta > 1) { criteriaFinal = CriteriaOperator.And(criteriaFinal, BetweenFechas); } else if (axoDesde == 1 && axoHasta > 1) { criteriaFinal = CriteriaOperator.And(criteriaFinal, BetweenFechas2); } if (Precio == Mayor600.Mayor) { BinaryOperator Valor = new BinaryOperator("ValorInicial", 600, BinaryOperatorType.GreaterOrEqual); criteriaFinal = CriteriaOperator.And(criteriaFinal, Valor); } else if (Precio == Mayor600.Menor) { BinaryOperator Valor = new BinaryOperator("ValorInicial", 600, BinaryOperatorType.Less); criteriaFinal = CriteriaOperator.And(criteriaFinal, Valor); } criteriaFinal = CriteriaOperator.And(criteriaFinal, ProcesoDescargoFinal); return(criteriaFinal); }
Object yyparse (yyInput yyLex) { if (yyMax <= 0) yyMax = 256; int yyState = 0; int [] yyStates = new int[yyMax]; Object yyVal = null; Object [] yyVals = new Object[yyMax]; int yyToken = -1; int yyErrorFlag = 0; int yyTop = 0; goto skip; yyLoop: yyTop++; skip: for(;; ++yyTop) { if(yyTop >= yyStates.Length) { int[] i = new int[yyStates.Length + yyMax]; yyStates.CopyTo(i, 0); yyStates = i; Object[] o = new Object[yyVals.Length + yyMax]; yyVals.CopyTo(o, 0); yyVals = o; } yyStates[yyTop] = yyState; yyVals[yyTop] = yyVal; yyDiscarded: for(;;) { int yyN; if ((yyN = yyDefRed[yyState]) == 0) { if(yyToken < 0) yyToken = yyLex.advance() ? yyLex.token() : 0; if((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) { yyState = yyTable[yyN]; yyVal = yyLex.value(); yyToken = -1; if (yyErrorFlag > 0) -- yyErrorFlag; goto yyLoop; } if((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == yyToken) yyN = yyTable[yyN]; else switch(yyErrorFlag) { case 0: yyerror("syntax error"); goto case 1; case 1: case 2: yyErrorFlag = 3; do { if((yyN = yySindex[yyStates[yyTop]]) != 0 && (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == Token.yyErrorCode) { yyState = yyTable[yyN]; yyVal = yyLex.value(); goto yyLoop; } } while (--yyTop >= 0); yyerror("irrecoverable syntax error"); goto yyDiscarded; case 3: if (yyToken == 0) yyerror("irrecoverable syntax error at end-of-file"); yyToken = -1; goto yyDiscarded; } } int yyV = yyTop + 1 - yyLen[yyN]; yyVal = yyV > yyTop ? null : yyVals[yyV]; switch(yyN) { case 1: #line 54 "grammar.y" { result = new CriteriaOperator[0]; } break; case 2: #line 55 "grammar.y" { result = ((List<CriteriaOperator>)yyVals[-1+yyTop]).ToArray(); } break; case 3: #line 59 "grammar.y" { yyVal = new List<CriteriaOperator>(new CriteriaOperator[] {(CriteriaOperator)yyVals[0+yyTop]}); } break; case 4: #line 60 "grammar.y" { yyVal = yyVals[-2+yyTop]; ((List<CriteriaOperator>)yyVal).Add((CriteriaOperator)yyVals[0+yyTop]); } break; case 5: #line 64 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 6: #line 65 "grammar.y" { OperandProperty prop2 = (OperandProperty)yyVals[-2+yyTop]; OperandProperty prop4 = (OperandProperty)yyVals[0+yyTop]; prop2.PropertyName = '<' + prop2.PropertyName + '>' + prop4.PropertyName; yyVal = prop2; } break; case 7: #line 74 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 8: #line 75 "grammar.y" { yyVal = new OperandProperty("^"); } break; case 9: #line 79 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 10: #line 80 "grammar.y" { OperandProperty prop1 = (OperandProperty)yyVals[-2+yyTop]; OperandProperty prop3 = (OperandProperty)yyVals[0+yyTop]; prop1.PropertyName += '.' + prop3.PropertyName; yyVal = prop1; } break; case 11: #line 89 "grammar.y" { AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop]; yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-2+yyTop], null, agg.AggregateType, agg.AggregatedExpression); } break; case 12: #line 93 "grammar.y" { AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop]; yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-5+yyTop], (CriteriaOperator)yyVals[-3+yyTop], agg.AggregateType, agg.AggregatedExpression); } break; case 13: #line 97 "grammar.y" { AggregateOperand agg = (AggregateOperand)yyVals[0+yyTop]; yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-4+yyTop], null, agg.AggregateType, agg.AggregatedExpression); } break; case 14: #line 101 "grammar.y" { yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Exists, null); } break; case 15: #line 102 "grammar.y" { yyVal = JoinOperand.JoinOrAggreagate((OperandProperty)yyVals[-2+yyTop], null, Aggregate.Exists, null); } break; case 18: #line 110 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Count, null); } break; case 19: #line 111 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Exists, null); } break; case 20: #line 112 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Count, null); } break; case 21: #line 113 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)null, Aggregate.Exists, null); } break; case 22: #line 114 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Min, null); } break; case 23: #line 115 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Max, null); } break; case 24: #line 116 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Avg, null); } break; case 25: #line 117 "grammar.y" { yyVal = new AggregateOperand((OperandProperty)null, (CriteriaOperator)yyVals[-1+yyTop], Aggregate.Sum, null); } break; case 26: #line 121 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 27: #line 122 "grammar.y" { string paramName = (string)yyVals[0+yyTop]; if(string.IsNullOrEmpty(paramName)) { OperandValue param = new OperandValue(); resultParameters.Add(param); yyVal = param; } else { bool paramNotFound = true; foreach(OperandValue v in resultParameters) { OperandParameter p = v as OperandParameter; if(ReferenceEquals(p, null)) continue; if(p.ParameterName != paramName) continue; paramNotFound = false; resultParameters.Add(p); yyVal = p; break; } if(paramNotFound) { OperandParameter param = new OperandParameter(paramName); resultParameters.Add(param); yyVal = param; } } } break; case 28: #line 148 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 29: #line 149 "grammar.y" { yyVal = yyVals[0+yyTop]; } break; case 30: #line 150 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Multiply ); } break; case 31: #line 151 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Divide ); } break; case 32: #line 152 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Plus ); } break; case 33: #line 153 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Minus ); } break; case 34: #line 154 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Modulo ); } break; case 35: #line 155 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseOr ); } break; case 36: #line 156 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseAnd ); } break; case 37: #line 157 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.BitwiseXor ); } break; case 38: #line 158 "grammar.y" { yyVal = new UnaryOperator( UnaryOperatorType.Minus, (CriteriaOperator)yyVals[0+yyTop] ); try { if(yyVals[0+yyTop] is OperandValue) { OperandValue operand = (OperandValue)yyVals[0+yyTop]; if(operand.Value is Int32) { operand.Value = -(Int32)operand.Value; yyVal = operand; break; } else if(operand.Value is Int64) { operand.Value = -(Int64)operand.Value; yyVal = operand; break; } else if(operand.Value is Double) { operand.Value = -(Double)operand.Value; yyVal = operand; break; } else if(operand.Value is Decimal) { operand.Value = -(Decimal)operand.Value; yyVal = operand; break; } else if(operand.Value is Int16) { operand.Value = -(Int16)operand.Value; yyVal = operand; break; } else if(operand.Value is SByte) { operand.Value = -(SByte)operand.Value; yyVal = operand; break; } } } catch {} } break; case 39: #line 191 "grammar.y" { yyVal = new UnaryOperator( UnaryOperatorType.Plus, (CriteriaOperator)yyVals[0+yyTop] ); } break; case 40: #line 192 "grammar.y" { yyVal = new UnaryOperator( UnaryOperatorType.BitwiseNot, (CriteriaOperator)yyVals[0+yyTop] ); } break; case 41: #line 193 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Equal); } break; case 42: #line 194 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.NotEqual); } break; case 43: #line 195 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Greater); } break; case 44: #line 196 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Less); } break; case 45: #line 197 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.GreaterOrEqual); } break; case 46: #line 198 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.LessOrEqual); } break; case 47: #line 199 "grammar.y" { yyVal = new BinaryOperator( (CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Like); } break; case 48: #line 200 "grammar.y" { yyVal = new UnaryOperator(UnaryOperatorType.Not, new BinaryOperator( (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[0+yyTop], BinaryOperatorType.Like)); } break; case 49: #line 201 "grammar.y" { yyVal = new UnaryOperator(UnaryOperatorType.Not, (CriteriaOperator)yyVals[0+yyTop]); } break; case 50: #line 202 "grammar.y" { yyVal = GroupOperator.And((CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop]); } break; case 51: #line 203 "grammar.y" { yyVal = GroupOperator.Or((CriteriaOperator)yyVals[-2+yyTop], (CriteriaOperator)yyVals[0+yyTop]); } break; case 52: #line 204 "grammar.y" { yyVal = yyVals[-1+yyTop]; } break; case 53: #line 205 "grammar.y" { yyVal = new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-2+yyTop]); } break; case 54: #line 206 "grammar.y" { yyVal = new UnaryOperator(UnaryOperatorType.Not, new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-3+yyTop])); } break; case 55: #line 207 "grammar.y" { yyVal = new InOperator((CriteriaOperator)yyVals[-2+yyTop], (IEnumerable<CriteriaOperator>)yyVals[0+yyTop]); } break; case 56: #line 208 "grammar.y" { yyVal = new BetweenOperator((CriteriaOperator)yyVals[-6+yyTop], (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop]); } break; case 57: #line 209 "grammar.y" { yyVal = new UnaryOperator(UnaryOperatorType.IsNull, (CriteriaOperator)yyVals[-1+yyTop]); } break; case 58: #line 210 "grammar.y" { yyVal = new FunctionOperator(FunctionOperatorType.IsNull, (CriteriaOperator)yyVals[-3+yyTop], (CriteriaOperator)yyVals[-1+yyTop]); } break; case 59: #line 211 "grammar.y" { FunctionOperator fo = new FunctionOperator((FunctionOperatorType)yyVals[-1+yyTop], (IEnumerable<CriteriaOperator>)yyVals[0+yyTop]); lexer.CheckFunctionArgumentsCount(fo.OperatorType, fo.Operands.Count); yyVal = fo; } break; case 60: #line 212 "grammar.y" { yyVal = null; } break; case 61: #line 216 "grammar.y" { yyVal = yyVals[-1+yyTop]; } break; case 62: #line 217 "grammar.y" { yyVal = new List<CriteriaOperator>(); } break; case 63: #line 221 "grammar.y" { List<CriteriaOperator> lst = new List<CriteriaOperator>(); lst.Add((CriteriaOperator)yyVals[0+yyTop]); yyVal = lst; } break; case 64: #line 226 "grammar.y" { List<CriteriaOperator> lst = (List<CriteriaOperator>)yyVals[-2+yyTop]; lst.Add((CriteriaOperator)yyVals[0+yyTop]); yyVal = lst; } break; #line default } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; int yyM = yyLhs[yyN]; if(yyState == 0 && yyM == 0) { yyState = yyFinal; if(yyToken < 0) yyToken = yyLex.advance() ? yyLex.token() : 0; if(yyToken == 0) return yyVal; goto yyLoop; } if(((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyState)) yyState = yyTable[yyN]; else yyState = yyDgoto[yyM]; goto yyLoop; } } }
public object Visit(BetweenOperator theOperator){ return IsFullIndexed(theOperator.TestExpression) ? (object) new FunctionOperator(FullTextContainsFunction.FunctionName, theOperator.GetOperators()) : theOperator; }