Exemplo n.º 1
0
      private void Load_Parameter(long RepID)
      {
          string strTmp;

          string[]      arrTmp;
          List <string> ddlLink     = new List <string>();
          List <string> lstCriteria = new List <string>();

          DataSet        dsDic    = new DataSet();
          Paramters      rep_par  = new Paramters();
          SqlDataAdapter daObject = new SqlDataAdapter(("SELECT ObjectTitle, UseAndOnly,ByBranch,CriteriaFields,CriteriaFieldsCaptions,SortFieldsList,Criteria" + "FieldsUnique,CriteriaFieldsTypes,CriteriaFieldsOperators,CriteriaFieldsSources FROM Objects WHERE ObjectID=" + RepID), DataTools.GetConnectionStr());

          Session["ReportID"] = RepID;
          daObject.Fill(dtObject);
          Session["dtObject"] = dtObject;
          rep_par.RepTitle    = dtObject.Rows[0]["ObjectTitle"].ToString();

          strTmp = ((dtObject.Rows[0]["CriteriaFields"].ToString()) == null ? "" : dtObject.Rows[0]["CriteriaFields"].ToString()).Replace("\r\n", "");
          arrTmp = strTmp.Split(';');
          string[] arrtmp2 = (string[])arrTmp.Clone();
          for (int i = 0; (i <= (arrtmp2.Length - 1)); i++)
          {
              if ((DataTools.GetStrPart(DataTools.ReadField(dtObject.Rows[0]["CriteriaFieldsCaptions"]), i) != ""))
              {
                  arrtmp2[i] = DataTools.GetStrPart(DataTools.ReadField(dtObject.Rows[0]["CriteriaFieldsCaptions"]), i);
              }
          }

          strTmp = string.Join(";", arrtmp2);
          dsDic  = DataTools.GetDic(strTmp);
          strTmp = "";
          for (int i = 0; (i <= (arrTmp.Length - 1)); i++)
          {
              strTmp = "";
              foreach (DataRow dr in dsDic.Tables[0].Rows)
              {
                  if ((dr[0].ToString() == arrtmp2[i]))
                  {
                      strTmp = dr["LatinCap"].ToString();
                      break;
                  }
              }

              ddlFields.Add(((strTmp == "") ? arrTmp[i] : strTmp));
          }

          ddlLink.Add("AND");
          if (!(bool)dtObject.Rows[0]["UseAndOnly"])
          {
              ddlLink.Add("OR");
          }

          DataTable dtCrit = new DataTable();

          Session["Criteria"]    = "";
          Session["CriteriaCap"] = "";
          dtCrit = DataTools.DLookUp(DataTools.GetConnectionStr(), "UsersRecent", "Criteria", ("UserName='******' AND ObjectID=" + RepID))), "", "", "AccessDate DESC", 1);

          if ((dtCrit.Rows.Count > 0))
          {
              string CritFromTbl = dtCrit.Rows[0][0].ToString();
              if (CritFromTbl != null && (CritFromTbl.Trim() != ""))
              {
                  arrTmp = CritFromTbl.ToString().Split(';');
                  for (int i = 0; (i <= (arrTmp.Length - 1)); i++)
                  {
                      ValidateLine(DataTools.GetStrSerial(dtObject.Rows[0]["CriteriaFields"].ToString(), DataTools.GetStrPart(arrTmp[i], 0, "^^^")), DataTools.GetStrPart(arrTmp[i], 1, "^^^"), DataTools.GetStrPart(arrTmp[i], 2, "^^^"), DataTools.GetStrPart(arrTmp[i], 3, "^^^"), DataTools.GetStrPart(arrTmp[i], 4, "^^^"), ref strTmp);
                      lstCriteria.Add(DataTools.GetStrPart(Session["CriteriaCap"].ToString(), i));
                      //Session["lstCriteria"] = (DataTools.GetStrPart(Session["Criteria"].ToString(), i));
                      //Session["criteria_val"] = (DataTools.GetStrPart(Session["CriteriaCap"].ToString(), i));
                  }
              }
          }
      }