Example #1
0
      public DataTable OpenPopup(string ddl)
      {
          DataTable SearchResult = new DataTable();
          string    SQL          = "SELECT ItemCode, ItemName, PartNumber From ItemsDirectory ORDER BY ItemsDirectory.ItemCode; SELECT ItemName From ItemsDirectory ORDER BY ItemName; SELECT Cat1Code,Cat1Name From ItemCategory1 ORDER BY Cat1Code; SELECT Cat1Name From ItemCategory1 ORDER BY Cat1Name; SELECT Cat2Code,Cat2Name From ItemCategory2 ORDER BY Cat2Code; SELECT Cat2Name From ItemCategory2 ORDER BY Cat2Name; SELECT Cat3Code,Cat3Name From ItemCategory3 ORDER BY Cat3Code; SELECT Cat3Name From ItemCategory3 ORDER BY Cat3Name; SELECT Cat4Code,Cat4Name From ItemCategory4 ORDER BY Cat4Code; SELECT Cat4Name From ItemCategory4 ORDER BY Cat4Name; SELECT PersonCode As VendCode,PersonName As VendName FROM Persons Where(Active=1 AND PersonType=2) Order By PersonCode; SELECT PartNumber From ItemsDirectory ORDER BY PartNumber; SELECT GroupID, ItemGroup FROM ItemsGroups ORDER BY GroupID; SELECT ManufacturerCode,Manufacturer FROM Manufacturers ORDER BY ManufacturerCode; Select BranchCode, BranchName From BranchCodes Order By BranchCode;";

          SqlDataAdapter daObject = new SqlDataAdapter((SQL), DataTools.GetConnectionStr());

          daObject.Fill(SearchResult);
          return(SearchResult);
      }
Example #2
0
      string ApplyBranchPermissions(DataTable dtObj)
      {
          if (!(bool)dtObj.Rows[0]["ByBranch"])
          {
              return("");
          }

          string SQL;
          string TabName;
          int    FldIndex;

          SQL = ("SELECT BranchCode FROM UserRights WHERE UserName='******' AND ObjectID=" + (_ReportID + " AND CanRun=1"))));
          SqlDataAdapter daBrns = new SqlDataAdapter(SQL, DataTools.GetConnectionStr());
          DataTable      dtBrns = new DataTable();

          daBrns.Fill(dtBrns);
          string Brns = "";

          foreach (DataRow dtr in dtBrns.Rows)
          {
              Brns = (Brns + ("'" + (dtr[0] + "',")));
          }

          if ((Brns != ""))
          {
              Brns = Brns.Substring(0, (Brns.Length - 1));
          }

          FldIndex = DataTools.GetStrSerial(DataTools.ReadField(dtObj.Rows[0]["CriteriaFields"]), "BranchCode");
          if ((FldIndex == -1))
          {
              TabName = "";
          }
          else
          {
              TabName = DataTools.GetStrPart(DataTools.ReadField(dtObj.Rows[0]["CriteriaFieldsTables"]), FldIndex);
          }

          if ((TabName.Substring(0, 1) == "@"))
          {
              if ((TabName == "@"))
              {
                  TabName = ("@" + DataTools.ReadField(dtObj.Rows[0]["Source"]));
              }

              SQL = ("({" + (TabName.Substring(1) + ".BranchCode} IN ["));
              SQL = (SQL + (Brns.Replace("'", "\"") + "])"));
          }
          else
          {
              SQL = ("((" + (((TabName == "") ? "BranchCode" : (TabName + ".BranchCode")) + (" IN (" + (Brns + ")))"))));
          }

          return(SQL);
      }
Example #3
0
        private void BindGrid(bool FillData = false)
        {
            string SQL = Session["PopUpSQL"].ToString();
            // Warning!!! Optional parameters not supported
            int             i      = 0;
            HyperLinkColumn C      = new HyperLinkColumn();
            SqlDataAdapter  daList = new SqlDataAdapter(SQL, DataTools.GetConnectionStr());
            DataSet         dsList = new DataSet();

            if (FillData)
            {
                daList.Fill(dsList);
                Session["dsList"] = dsList;
            }
            else
            {
                dsList = (DataSet)Session["dsList"];
            }

            C.HeaderText           = dsList.Tables[0].Columns[i].ColumnName;
            C.DataNavigateUrlField = dsList.Tables[0].Columns[0].ColumnName;
            // C.DataNavigateUrlFormatString = "JavaScript:setTextContent(window.parent.opener.document.getElementById('txtValue'),'{0}');top.returnValue='{0}';top.window.close();"
            C.DataNavigateUrlFormatString = "JavaScript:window.parent.opener.setTargetField(\'{0}\');top.returnValue=\'{0}\';top.window.close();";
            C.DataTextField       = dsList.Tables[0].Columns[0].ColumnName;
            C.ItemStyle.ForeColor = System.Drawing.Color.Blue;
            DataGrid1.Columns.Add(C);
            for (i = 0; (i
                         <= (dsList.Tables[0].Columns.Count - 1)); i++)
            {
                if ((i > 0))
                {
                    BoundColumn cln = new BoundColumn();
                    cln.HeaderText = dsList.Tables[0].Columns[i].ColumnName;
                    cln.DataField  = dsList.Tables[0].Columns[i].ColumnName;
                    DataGrid1.Columns.Add(cln);
                }
            }

            //if ((Session[(Session.SessionID + "Language")].ToString() == "Arabic"))
            //{
            //    // pageBody.Attributes.Add("dir", "rtl")
            //    //DataTools.Translate(DataGrid1, true);
            //}

            DataGrid1.DataSource       = Session["dsList"];
            DataGrid1.CurrentPageIndex = (CurrentPage - 1);
            DataGrid1.DataBind();
            lblPageCount.Text = DataGrid1.PageCount.ToString();
            lblPage.Text      = (DataGrid1.CurrentPageIndex.ToString() + 1);
        }
Example #4
0
      string ApplySalesmanPermissions(DataTable dtObj)
      {
          // Check if salesman in criteria fields
          string SQL;
          int    FldIndex = DataTools.GetStrSerial(DataTools.ReadField(dtObj.Rows[0]["CriteriaFields"]), "Salesman");

          if ((FldIndex == -1))
          {
              FldIndex = DataTools.GetStrSerial(DataTools.ReadField(dtObj.Rows[0]["CriteriaFieldsCaptions"]), "Salesman");
          }

          if ((FldIndex == -1))
          {
              return("");
          }

          DataTable dtr = DataTools.DLookUp(DataTools.GetConnectionStr(), "Persons", "PersonCode", ("PersonType=3  AND UserName='******' AND Rank=1")));

          if ((dtr.Rows.Count == 0))
          {
              return("");
          }

          string Salesman = dtr.Rows[0][0].ToString();
          string TabName  = DataTools.GetStrPart(DataTools.ReadField(dtObj.Rows[0]["CriteriaFieldsTables"]), FldIndex);
          string FldName  = DataTools.GetStrPart(DataTools.ReadField(dtObj.Rows[0]["CriteriaFields"]), FldIndex);

          if ((TabName.Substring(0, 1) == "@"))
          {
              if ((TabName == "@"))
              {
                  TabName = ("@" + DataTools.ReadField(dtObj.Rows[0]["Source"]));
              }

              SQL = ("({" + (TabName.Substring(1) + ("." + (FldName + ("} = '" + (Salesman + "'"))))));
          }
          else
          {
              SQL = ("((" + (((TabName == "") ? FldName : (TabName + ("." + FldName))) + (" = ('" + (Salesman + "')))"))));
          }

          return(SQL);
      }
Example #5
0
        public ActionResult LoginPage(Users _login)
        {
            if (ModelState.IsValid) //validating the user inputs
            {
                FillMainFormsMenu();
                FillMainReportsMenu();
                bool    isExist                  = false;
                DataSet report_ds                = new DataSet();
                DataSet form_ds                  = new DataSet();
                List <MainMenuModel>     RPT     = new List <MainMenuModel>();
                List <MainMenuModel>     FRM     = new List <MainMenuModel>();
                Dictionary <int, string> Frm_dic = new Dictionary <int, string>();
                Dictionary <int, string> Rpt_dic = new Dictionary <int, string>();

                List <string> _menus2 = new List <string>();
                List <string> list    = new List <string>();
                using (JEDMISDBEntities _entity = new JEDMISDBEntities())  // out Entity name is "JEDMISDBEntities"
                {
                    //validating the user name in tbl users table whether the user name is exist or not
                    isExist = _entity.Users.Where(x => x.UserName.Trim().ToLower() == _login.UserName.Trim().ToLower()).Any();

                    // Get the login user details and bind it to User class
                    if (isExist)
                    {
                        UserModel _loginCredentials = _entity.UserRights.Where(x => x.UserName.Trim().ToLower() == _login.UserName.Trim().ToLower())
                                                      .Select(x => new UserModel
                        {
                            UserName   = x.UserName,
                            CanRun     = x.CanRun,
                            ObjectID   = x.ObjectID,
                            BranchCode = x.BranchCode,
                            //UserRights = x.UserRights
                        }).FirstOrDefault();

                        Session["UserName"]   = _loginCredentials.UserName;
                        Session["BranchCode"] = _loginCredentials.BranchCode;
                        //var mnu = db.Objects.Where(x => x.ObjectType == "R").GroupBy(x=>x.MainMnuName).ToList();

                        //Get the Menu details from entity and bind it in MenuModels list.
                        //List<MenuModels> _menus = _entity.Objects.Where(x => x.ObjectType == "R").Select(x => new MenuModels
                        //{
                        //    ObjectID = x.ObjectID,
                        //    ObjectName = x.ObjectName,
                        //    MainMnuName = x.MainMnuName,
                        //    ObjectTitle = x.ObjectTitle,
                        //    MenuIndex = x.MenuIndex,
                        //    MenuTitle = x.MenuTitle,
                        //    MnuName = x.MnuName,
                        //    CriteriaFields = x.CriteriaFields
                        //}).ToList();

                        //code goning to be enhance more
                        //here we load all report menus to datatable and save in in mainmenumodel
                        foreach (DataRow r in MainMenuNamesDT.Rows)
                        {
                            //DT.Clear();
                            DT           = DataTools.DLookUp(DataTools.GetConnectionStr(), "SELECT Objects.ObjectName, Objects.ObjectTitle, Objects.ObjectID, Objects.ObjectType, Objects.HlpHtmlFile,ISNULL(Dic.LatinCap, Objects.ObjectTitle) AS LatinCap, ISNULL(Dic.LatinCap, Objects.ObjectTitle) AS ArabicCap  FROM Objects INNER JOIN (SELECT DISTINCT TOP 100 PERCENT ObjectID, UserName FROM UserRights WHERE (CanRun = 1) ORDER BY ObjectID, UserName) UR ON UR.ObjectID=Objects.ObjectID LEFT OUTER JOIN dic ON dic.FieldName = Objects.ObjectTitle ", "", "MainMnuName= '" + r["MainMnuName"].ToString() + "' AND UR.UserName='******' AND Objects.Visible=1 AND Objects.MenuHidden=0", "", "", "MenuIndex", 0);
                            DT.TableName = r["MainMnuName"].ToString();
                            //int x =Int32.Parse( r["ObjectID"].ToString());
                            //string y = r["LatinCap"].ToString();
                            foreach (DataRow item in MenuDic.Rows)
                            {
                                if (r["MainMnuName"].ToString() == item["FieldName"].ToString())
                                {
                                    DT.TableName = item["LatinCap"].ToString();
                                }
                            }
                            report_ds.Tables.Add(DT);//this dataset save all submenu and name the table with name of menu name
                            List <string> list2 = DT.AsEnumerable().Select(t => t.Field <string>("LatinCap")).ToList();



                            foreach (DataRow item in DT.Rows)
                            {
                                Rpt_dic.Add(Int32.Parse(item["ObjectID"].ToString()), item["LatinCap"].ToString());
                            }
                            //DT.AsEnumerable().Select(row => DT.Columns.Cast<DataColumn>().ToDictionary(column => column.ColumnName, column => row["LatinCap"] as string));

                            RPT.Add(new MainMenuModel {
                                MnuName = DT.TableName.ToString(), SubMainName = list2, Rep_submnu = Rpt_dic
                            });
                        }

                        foreach (DataRow r in MainMenuFormsDT.Rows)
                        {
                            //DT.Clear();
                            DT           = DataTools.DLookUp(DataTools.GetConnectionStr(), "SELECT Objects.ObjectName, Objects.ObjectTitle, Objects.ObjectID, Objects.ObjectType, Objects.HlpHtmlFile,ISNULL(Dic.LatinCap, Objects.ObjectTitle) AS LatinCap, ISNULL(Dic.LatinCap, Objects.ObjectTitle) AS ArabicCap  FROM Objects INNER JOIN (SELECT DISTINCT TOP 100 PERCENT ObjectID, UserName FROM UserRights WHERE (CanRun = 1) ORDER BY ObjectID, UserName) UR ON UR.ObjectID=Objects.ObjectID LEFT OUTER JOIN dic ON dic.FieldName = Objects.ObjectTitle ", "", "MainMnuName= '" + r["MainMnuName"].ToString() + "' AND UR.UserName='******' AND Objects.Visible=1 AND Objects.MenuHidden=0", "", "", "MenuIndex", 0);
                            DT.TableName = r["MainMnuName"].ToString();
                            foreach (DataRow item in MainMenuDic.Rows)
                            {
                                if (r["MainMnuName"].ToString() == item["FieldName"].ToString())
                                {
                                    DT.TableName = item["LatinCap"].ToString();
                                }
                            }
                            form_ds.Tables.Add(DT);
                            List <string> list2 = DT.AsEnumerable().Select(t => t.Field <string>("LatinCap")).ToList();
                            foreach (DataRow item in DT.Rows)
                            {
                                Frm_dic.Add(Int32.Parse(item["ObjectID"].ToString()), item["LatinCap"].ToString());
                            }
                            FRM.Add(new MainMenuModel {
                                MnuName = DT.TableName.ToString(), SubMainName = list2, Frm_submnu = Frm_dic
                            });
                        }

                        FormsAuthentication.SetAuthCookie(_loginCredentials.UserName, false); // set the formauthentication cookie
                        Session["LoginCredentials"] = _loginCredentials;                      // Bind the _logincredentials details to "LoginCredentials" session
                        Session["ReportMenu"]       = RPT;                                    //Bind the _menus list to MenuMaster session
                        Session["FormMenu"]         = FRM;


                        return(RedirectToAction("ViewReport", "Report"));
                    }
                    else
                    {
                        ViewBag.ErrorMsg = "Please enter the valid credentials!...";
                        return(View());
                    }
                }
            }
            return(View());
        }
Example #6
0
        protected void mainrptMenu_ItemDataBound(DataTable dataitem)
        {
            List <string> spanMainRepMenu = new List <string>();

            if (dataitem.Rows.Count < 1)
            {
                return;
            }

            try
            {
                //HtmlGenericControl divRepSubMenu = (HtmlGenericControl)(e.Item.FindControl("divRepSubMenu"));
                foreach (DataRow row in dataitem.Rows)
                {
                    if ((row == null))
                    {
                        return;
                    }

                    if (MainMenuDic != null)
                    {
                        DataRow[] r = MainMenuDic.Select(("FieldName='" + (row["MainMnuName"].ToString() + "'")));
                        if ((r.Length > 0))
                        {
                            if ((Language == "Arabic"))
                            {
                                if ((r[0]["ArabicCap"] == DBNull.Value))
                                {
                                    spanMainRepMenu.Add(r[0]["LatinCap"].ToString());
                                }
                                else
                                {
                                    spanMainRepMenu.Add(r[0]["ArabicCap"].ToString());
                                    // btn.Text = r(0)("LatinCap").ToString()
                                }
                            }
                            else
                            {
                                spanMainRepMenu.Add(r[0]["LatinCap"].ToString());
                                // btnFrmMenu.Text = r(0)("LatinCap").ToString()
                            }
                        }
                        else
                        {
                            // btn.Text = row("MnuName").ToString()
                            spanMainRepMenu.Add(row["MainMnuName"].ToString());
                        }
                    }
                    else
                    {
                        // btn.Text = row("MnuName").ToString()
                        spanMainRepMenu.Add(row["MainMnuName"].ToString());
                    }

                    DT = DataTools.DLookUp(DataTools.GetConnectionStr(), "Objects", "MnuName", ("MainMnuName='" + (row["MainMnuName"].ToString() + "' AND ObjectType='R' ")), "", "", "", 0, true);
                }
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
            }
        }
Example #7
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));
                  }
              }
          }
      }
Example #8
0
      public List <string> LoadCriteria(int obid)
      {
          DataTable      dtObject = new DataTable();
          var            Criteria = new List <string>();
          SqlDataAdapter daObject = new SqlDataAdapter(("SELECT * FROM Objects WHERE ObjectID=" + obid), DataTools.GetConnectionStr());

          daObject.Fill(dtObject);
          List <string> Criterias = dtObject.AsEnumerable().Select(t => t.Field <string>("CriteriaFields")).ToList();

          Criterias = Criterias[0].Split(';').ToList();


          //var query = db.Objects.Where(x => x.ObjectID == obid).FirstOrDefault();
          return(Criterias);
      }
Example #9
0
      void SetReportConnections(DataTable dtObject)
      {
          int i;  SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(DataTools.GetConnectionStr());

          for (i = 0; (i <= (rpt.Database.Tables.Count - 1)); i++)
          {
              if ((bool)dtObject.Rows[0]["ConnectToSQL"])
              {
                  TableLogOnInfo Tlogin;
                  Tlogin = rpt.Database.Tables[i].LogOnInfo;


                  Tlogin.ConnectionInfo.DatabaseName = builder.InitialCatalog.ToString();
                  Tlogin.ConnectionInfo.ServerName   = builder.DataSource.ToString();
                  Tlogin.ConnectionInfo.Password     = builder.Password.ToString();
                  Tlogin.ConnectionInfo.UserID       = builder.UserID.ToString();
                  // Tlogin.ConnectionInfo.IntegratedSecurity = False
                  Tlogin.ConnectionInfo.IntegratedSecurity = false;
                  rpt.Database.Tables[i].ApplyLogOnInfo(Tlogin);
                  //string DatabaseName = DataTools.GetConfigSetting("DatabaseName");
                  //string ServerName = DataTools.GetConfigSetting("ServerName");
                  //string Password = DataTools.GetConfigSetting("Pwd");
                  //string UserID = DataTools.GetConfigSetting("UserID");
                  //rpt.SetDatabaseLogon(UserID, Password, ServerName, DatabaseName, true);
              }
              else
              {
                  rpt.Database.Tables[i].SetDataSource(dsReport.Tables[rpt.Database.Tables[i].Name]);
              }
          }

          ReportDocument SubRep;

          for (i = 0; (i <= (rpt.Subreports.Count - 1)); i++)
          {
              SubRep = rpt.Subreports[i];
              for (int k = 0; (k <= (SubRep.Database.Tables.Count - 1)); k++)
              {
                  if ((bool)dtObject.Rows[0]["ConnectToSQL"])
                  {
                      TableLogOnInfo Tlogin;
                      Tlogin = SubRep.Database.Tables[k].LogOnInfo;
                      Tlogin.ConnectionInfo.DatabaseName       = builder.InitialCatalog.ToString();
                      Tlogin.ConnectionInfo.ServerName         = builder.DataSource.ToString();
                      Tlogin.ConnectionInfo.Password           = builder.Password.ToString();
                      Tlogin.ConnectionInfo.UserID             = builder.UserID.ToString();
                      Tlogin.ConnectionInfo.IntegratedSecurity = false;
                      SubRep.Database.Tables[k].ApplyLogOnInfo(Tlogin);
                  }
                  else
                  {
                      SubRep.Database.Tables[k].SetDataSource(dsReport.Tables[rpt.Database.Tables[k].Name]);
                  }
              }
          }
      }
Example #10
0
      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);
      }
Example #11
0
      public void ViewReport(Paramters reportparameter)
      {
          _ReportID    = reportparameter.ReportID;
          _RepCriteria = reportparameter.RepCriteria;
          _RepDest     = reportparameter.RepDest;
          _RepSort     = reportparameter.RepSort;
          _RepTitle    = reportparameter.RepTitle;
          _RepCap      = reportparameter.RepCap;
          _RepLan      = reportparameter.RepLanguage;
          if (IsPostBack())
          {
              PrepareReport();
              if ((_RepLan == "Arabic"))
              {
                  //RTL(rpt);
              }

              if ((_RepDest == 0))
              {
                  Session["dsReports"] = dsReport;
                  //Cache["rpt" + ReportID] = rpt;
              }

              DataTools.dbExecute((" INSERT INTO UsersRecent(UserName,ObjectID,Criteria,AccessDate)VALUES('" + (DataTools.GetUserName() + ("'," + (_ReportID + (",'" + (_RepCriteria + "',getdate())")))))), DataTools.GetConnectionStr());
          }
          else
          {
              //rpt = Cache[("rpt" + ReportID)];
              _RepDest = long.Parse(Session["RepDest"].ToString());
          }
          //try
          //{
          var Criterialist = new List <string>();

          if ((Request.HttpMethod == "POST"))
          {
              DataTools.dbExecute((" INSERT INTO UsersRecent(UserName,ObjectID,Criteria,AccessDate)VALUES('" + (DataTools.GetUserName() + ("'," + (_ReportID + (",'" + (_RepCriteria + "',getdate())")))))), DataTools.GetConnectionStr());

              switch (_RepDest)
              {
              case 0:

                  this.HttpContext.Session["rptSource"] = rpt;

                  break;

              case 1:
                  ExportReport((_RepTitle + ".pdf"), CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                  break;

              case 2:
                  ExportReport((_RepTitle + ".xls"), CrystalDecisions.Shared.ExportFormatType.Excel);
                  break;

              case 3:
                  ExportReport((_RepTitle + ".xls"), CrystalDecisions.Shared.ExportFormatType.ExcelRecord);
                  break;

              case 4:
                  ExportReport((_RepTitle + ".rtf"), CrystalDecisions.Shared.ExportFormatType.RichText);
                  break;

              case 5:
                  ExportReport((_RepTitle + ".htm"), CrystalDecisions.Shared.ExportFormatType.HTML40);
                  break;

              case 6:
                  ExportReport((_RepTitle + ".doc"), CrystalDecisions.Shared.ExportFormatType.WordForWindows);
                  break;

              case 7:
                  ExportReport((_RepTitle + ".rpt"), CrystalDecisions.Shared.ExportFormatType.CrystalReport);
                  break;

              case 11:
                  PrintReport();
                  break;
              }
          }
          //return Json(Criterialist, JsonRequestBehavior.AllowGet);
          //return RedirectToAction("ShowGenericRpt", "GenericReportViewer");

          //}
          //catch
          //{
          //    return null;
          //}
      }