public void ReadCriteria(ref string Criteria, ref string CritFormula, DataTable dtObject) { int i, Sort; string Fld, Op, Link, T; string[] Crit; int Typ, Idx; string Value; DateTime Vdate = new DateTime(); if ((_RepCriteria != "")) { Crit = Regex.Split(_RepCriteria, ";"); //Crit = _RepCriteria.Split(';'); for (i = 0; i <= (Crit.Length - 1); i++) { if ((Crit[i].ToString().Trim() == "")) { // TODO: Continue For... Warning!!! not translated } Fld = DataTools.GetStrPart(Crit[i].ToString(), 0, "^^^"); Op = DataTools.GetStrPart(Crit[i].ToString(), 1, "^^^"); Value = DataTools.GetStrPart(Crit[i].ToString(), 2, "^^^"); Sort = (DataTools.GetStrPart(Crit[i].ToString(), 3, "^^^") == "" ? 0: Int32.Parse(DataTools.GetStrPart(Crit[i].ToString(), 3, "^^^"))); Link = DataTools.GetStrPart(Crit[i].ToString(), 4, "^^^"); Idx = DataTools.GetStrSerial(DataTools.ReadField(dtObject.Rows[0]["CriteriaFields"]), Fld); T = DataTools.GetStrPart(DataTools.ReadField(dtObject.Rows[0]["CriteriaFieldsTables"]), Idx); //Val(GenericMethods.GetStrPart(GenericMethods.ReadField(dtObject.Rows(0)("CriteriaFieldsTypes")), Idx)) Typ = (DataTools.GetStrPart(DataTools.ReadField(dtObject.Rows[0]["CriteriaFieldsTypes"]), Idx) == ""?0: Int32.Parse(DataTools.GetStrPart(DataTools.ReadField(dtObject.Rows[0]["CriteriaFieldsTypes"]), Idx))); if ((Typ == 7)) { Value = Value.Replace("-", "/").Replace(" ", "/").Replace("\\", "/"); Vdate = new DateTime(Int32.Parse(Value.Split('/')[2]), Int32.Parse(Value.Split('/')[1]), Int32.Parse(Value.Split('/')[0])); } //if ((Sort != 0))//later //{ // rpt.DataDefinition.SortFields.Item[rpt.DataDefinition.SortFields.Count].SortDirection = ((Sort == 1) ? SortDirection.AscendingOrder : SortDirection.DescendingOrder); // if ((T.Substring(0, 1) == "@")) // { // rpt.DataDefinition.SortFields.Item[rpt.DataDefinition.SortFields.Count].Field = rpt.DataDefinition.FormulaFields[Fld]; // } // else // { // rpt.DataDefinition.SortFields.Item[rpt.DataDefinition.SortFields.Count].Field = rpt.Database.Tables[dtObject.Rows[0]["Source"].ToString()].Fields[Fld]; // } //} if ((T == "@@")) { if ((Typ == 7)) { rpt.DataDefinition.FormulaFields[Fld].Text = ("Date (" + (Vdate.Year + ("," + (Vdate.Month + ("," + (Vdate.Day + ")")))))); } else if ((Typ == 3)) { rpt.DataDefinition.FormulaFields[Fld].Text = Value; } else { rpt.DataDefinition.FormulaFields[Fld].Text = ("\'" + (Value + "\'")); } } else if ((T.Substring(0, 1) == "@")) { if ((T == "@")) { T = ("@" + dtObject.Rows[0]["Source"]); } T = T.Substring(1); if ((Value == "NULL")) { CritFormula = (CritFormula + ("(IsNull({" + (((Fld.Substring(0, 1) == "@") ? Fld : (T + ("." + Fld))) + ("})= " + ((Op == "<>") ? "FALSE" : "TRUE"))))); } else { CritFormula = (CritFormula + ("({" + (((Fld.Substring(0, 1) == "@") ? Fld : (T + ("." + Fld))) + "} "))); if ((Typ == 7)) { CritFormula = (CritFormula + (Op + (" Date (" + (Vdate.Year + ("," + (Vdate.Month + ("," + (Vdate.Day + ")")))))))); } else if ((Typ == 3)) { CritFormula = (CritFormula + (Op + (" " + Value))); } else { CritFormula = (CritFormula + (Op + (" \'" + (Value + "\'")))); } } CritFormula = (CritFormula + (") " + (Link + " "))); } else { Value = Value.Replace("*", "%"); if ((Value == "NULL")) { Criteria = (Criteria + (((Op == "<>") ? " NOT" : "") + ("(" + (((T == "") ? Fld : (T + ("." + Fld))) + " IS Null")))); } else { Value = (((Typ == 3) ? "" : "\'") + (((Typ == 7) ? string.Format("MM/dd/yyyy", Vdate) : Value) + ((Typ == 3) ? "" : "\'"))); Criteria = (Criteria + ("(" + (((T == "") ? "" : (T + ".")) + (Fld + (" " + (Op + (" " + Value))))))); } Criteria = (Criteria + (") " + (Link + " "))); } } } if ((CritFormula != "")) { CritFormula = ("(" + (CritFormula.Substring(0, (CritFormula.Length - 4)) + ")")); CritFormula = CritFormula.Replace(" AND ", ") AND ("); } if ((DataTools.ReadField(dtObject.Rows[0]["FilterOnFormula"]) != "")) { CritFormula = (CritFormula + (((CritFormula == "") ? "" : " AND ") + ("(" + (DataTools.ReadField(dtObject.Rows[0]["FilterOnFormula"]) + ")")))); } if ((Criteria != "")) { Criteria = ("(" + (Criteria.Substring(0, (Criteria.Length - 4)) + ")")); Criteria = Criteria.Replace(") AND (", ")) AND (("); } if ((DataTools.ReadField(dtObject.Rows[0]["FilterOn"]) != "")) { Criteria = (Criteria + (((Criteria == "") ? "" : " AND ") + ("(" + (DataTools.ReadField(dtObject.Rows[0]["FilterOn"]) + ")")))); } Fld = ApplyBranchPermissions(dtObject); if ((Fld != "")) { if ((Fld.IndexOf("{")) == 0) { CritFormula = (CritFormula + (((CritFormula == "") ? "" : " AND ") + ("(" + (Fld + ")")))); } else { Criteria = (Criteria + (((Criteria == "") ? "" : " AND ") + ("(" + (Fld + ")")))); } } Fld = ApplySalesmanPermissions(dtObject); if ((Fld != "")) { if ((Fld.IndexOf("{")) == 0) { CritFormula = (CritFormula + (((CritFormula == "") ? "" : " AND ") + ("(" + (Fld + ")")))); } else { Criteria = (Criteria + (((Criteria == "") ? "" : " AND ") + ("(" + (Fld + ")")))); } } }