public ReportDocument PrepareReport() { int i; DataTable dtObject = new DataTable(); string Op; string SQL = ""; string Criteria = ""; string CritFormula = ""; string T; //DateTime Vdate = new DateTime(); SqlDataAdapter daObject = new SqlDataAdapter(("SELECT * FROM Objects WHERE ObjectID=" + _ReportID), DataTools.GetConnectionStr()); bool SP; daObject.Fill(dtObject); SQL = dtObject.Rows[0]["SqlStatment"].ToString(); _RepTitle = dtObject.Rows[0]["ObjectTitle"].ToString(); string RepPath = DataTools.GetConfigSetting("RepPath"); if ((RepPath == "")) { RepPath = Server.MapPath("Reports/"); } rpt.Load((RepPath + dtObject.Rows[0]["ObjectName"].ToString().Split(';')[0])); if ((bool)dtObject.Rows[0]["ConnectToSQL"]) { SetReportConnections(dtObject); try { rpt.VerifyDatabase(); } catch { } } ReadCriteria(ref Criteria, ref CritFormula, dtObject); if (!(bool)dtObject.Rows[0]["ConnectToSQL"]) { if ((Criteria != "")) { SQL = DataTools.AddCriteriaToSql(SQL, Criteria); } SqlDataAdapter daReport = new SqlDataAdapter(SQL, DataTools.GetConnectionStr()); if ((SQL.IndexOf("@Crit") + 1 == 0)) { daReport.Fill(dsReport, dtObject.Rows[0]["Source"].ToString()); } } else { rpt.SetParameterValue(SQL, Criteria); } if ((CritFormula != "")) { if ((rpt.RecordSelectionFormula == "")) { rpt.RecordSelectionFormula = CritFormula; } else { rpt.RecordSelectionFormula = ("(" + (rpt.RecordSelectionFormula + (") AND (" + (CritFormula + ")")))); } } SQL = DataTools.ReadField(dtObject.Rows[0]["SqlNext"]); if ((SQL != "")) { string[] NArr; string NCrit; string TmpStr; string Sstr; NArr = SQL.Split(';'); for (i = 0; (i <= (NArr.Length - 1)); i++) { NCrit = ""; SQL = DataTools.GetStrPart(NArr[i].ToString(), 0, "^"); TmpStr = DataTools.GetStrPart(NArr[i].ToString(), 3, "^"); Sstr = DataTools.GetStrPart(NArr[i].ToString(), 10, "^"); if ((Sstr.Substring(0, 1) == "S")) { NCrit = Criteria; string[] Sarr = Sstr.Split('='); if (((Sarr).Length > 0)) { for (int k = 1; k < Sarr.Length; k++) { // If InStr(1, Sarr(k), ">") Then if ((Sarr[k].IndexOf(">", 0) + 1) != 0) //not sure { NCrit = NCrit.Replace(DataTools.GetStrPart(Sarr[k], 0, ">"), DataTools.GetStrPart(Sarr[k], 1, ">")); } else { NCrit = DelSQLFldCriteria(Sarr[k], NCrit); } } } } if ((TmpStr != "")) { string MinMax; string DataField = DataTools.GetStrPart(NArr[i].ToString(), 4, "^"); DataField = ((DataField == "") ? TmpStr : DataField); Op = DataTools.GetStrPart(NArr[i].ToString(), 6, "^"); Op = ((Op == "") ? "<" : Op); if ((DataTools.GetStrPart(NArr[i].ToString(), 5, "^") == "MAX")) { MinMax = GetFldCriteriaLmt(TmpStr, Criteria, true); if ((MinMax == "")) { //If MinMax = "" Then MinMax = Format(DateAdd(DateInterval.Year, 100, Date.Today), "MM/dd/yyyy") MinMax = string.Format("MM/dd/yyyy", DateTime.Today.AddYears(100)); //increase date by 100y } else { MinMax = GetFldCriteriaLmt(TmpStr, Criteria, false); if ((MinMax == "")) { MinMax = string.Format("MM/dd/yyyy", DateTime.Today.AddYears(-100)); } if ((NCrit != "")) { NCrit = (NCrit + " AND "); } NCrit = (NCrit + ("(" + (DataField + (Op + ("'" + (MinMax + "')")))))); } if (!(bool)dtObject.Rows[0]["ConnectToSQL"]) { // SP = GenericMethods.GetStrPart(NArr(i), 11, "^") = "SP" //If NCrit <> "" And Not SP Then // SQL = GenericMethods.AddCriteriaToSql(SQL, NCrit) //End If SP = (DataTools.GetStrPart(NArr[i].ToString(), 11, "^") == "SP"); if (((NCrit != "") && !SP)) { SQL = DataTools.AddCriteriaToSql(SQL, NCrit); } string IndexName = DataTools.GetStrPart(NArr[i].ToString(), 2, "^"); //Dim Access As Boolean = UCase(GenericMethods.GetStrPart(NArr(i), 7, "^")) = "Y" bool Access = (DataTools.GetStrPart(NArr[i].ToString(), 7, "^")).ToUpper() == "Y"; //IIf(IndexName = "", False, True) Or UCase(GenericMethods.GetStrPart(NArr(i), 8, "^")) = "T" bool TB = (((IndexName == "") ? false : true) | (DataTools.GetStrPart(NArr[i].ToString(), 8, "^").ToUpper()) == "T"); string AppToTb = DataTools.GetStrPart(NArr[i].ToString(), 9, "^"); T = DataTools.GetStrPart(NArr[i].ToString(), 1, "^"); if (!Access) { SqlConnection Cnn = new SqlConnection(DataTools.GetConnectionStr()); SqlCommand cmd = new SqlCommand(SQL, Cnn); if (SP) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Crit", NCrit); } SqlDataAdapter daN = new SqlDataAdapter(cmd); if ((AppToTb != "")) { daN.Fill(dsReport.Tables[AppToTb]); } else { daN.Fill(dsReport, T); } } else { // 'lbl() } } else { rpt.SetParameterValue(SQL, NCrit); } } // Connection Info Was Here ''''''''''''''''''''''''' // Connection Info ''''''''''''''''''''''''''''''''''''''''''''''''''''''' if (!(bool)dtObject.Rows[0]["ConnectToSQL"]) { SetReportConnections(dtObject); } // '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' // ''''''''''''''''''''''''''''''''''''''''''''''''''' string objectTitle = dtObject.Rows[0]["ObjectTitle"].ToString(); rpt.DataDefinition.FormulaFields["CompanyName"].Text = "'Saudisoft Company Limited'"; if ((_RepLan == "Arabic")) { dtObject.Rows[0]["ObjectTitle"] = DataTools.GetDataTable(("Select ArabicCap From Dic Where FieldName='" + (objectTitle + "'")), DataTools.GetConnectionStr()); } rpt.DataDefinition.FormulaFields["ReportTitle"].Text = ("'" + (objectTitle + "'")); rpt.DataDefinition.FormulaFields["CompanyBranch"].Text = "'Jeddah Branch'"; rpt.DataDefinition.FormulaFields["Issuedby"].Text = ("'" + (DataTools.GetUserName() + "'")); } } } return(rpt); }