//protected void Page_Load(object sender, EventArgs e) //{ // //try // //{ // // //if (IsPostBack == false) // // //{ // // Ctx ctx = Session["ctx"] as Ctx; // // string title = Convert.ToString(Request.QueryString["title"]); // // int AD_Process_ID = Convert.ToInt32(Request.QueryString["pid"]); // // int AD_Table_ID = Convert.ToInt32(Request.QueryString["tid"]); // // int Record_ID = Convert.ToInt32(Request.QueryString["rid"]); // // int AD_PInstance_ID = Convert.ToInt32(Request.QueryString["aid"]); // // VAdvantage.ProcessEngine.ProcessInfo pi = new VAdvantage.ProcessEngine.ProcessInfo(title, AD_Process_ID, AD_Table_ID, Record_ID); // // pi.SetAD_PInstance_ID(AD_PInstance_ID); // // CrystalReportEngine cr = new CrystalReportEngine(ctx, pi); // // rd = cr.GetReportDocument(); // // CrystalReportViewer1.ReportSource = rd; // // //} // // //else { // // // CrystalReportViewer1.ReportSource = (ReportDocument)Session["Repr"]; // // //} // //} // //catch (Exception ex) // //{ // // log.SaveError("", ex.Message); // //} //} protected void Page_Init(object sender, EventArgs e) { try { //if (IsPostBack == false) //{ Ctx ctx = Session["ctx"] as Ctx; string title = Convert.ToString(Request.QueryString["title"]); int AD_Process_ID = Convert.ToInt32(Request.QueryString["pid"]); int AD_Table_ID = Convert.ToInt32(Request.QueryString["tid"]); int Record_ID = Convert.ToInt32(Request.QueryString["rid"]); int AD_PInstance_ID = Convert.ToInt32(Request.QueryString["aid"]); VAdvantage.ProcessEngine.ProcessInfo pi = new VAdvantage.ProcessEngine.ProcessInfo(title, AD_Process_ID, AD_Table_ID, Record_ID); pi.SetAD_PInstance_ID(AD_PInstance_ID); CrystalReportEngine cr = new CrystalReportEngine(ctx, pi); rd = cr.GetReportDocument(); CrystalReportViewer1.ReportSource = rd; //} //else { // CrystalReportViewer1.ReportSource = (ReportDocument)Session["Repr"]; //} } catch (Exception ex) { log.SaveError("", ex.Message); } }
/// <summary> /// Load report parameter string from VA039 module. /// </summary> /// <param name="ctx"></param> /// <param name="reportID"></param> /// <param name="AD_PInstance_ID"></param> /// <param name="pi"></param> /// <returns></returns> public string GetReportParameters(Ctx ctx, int reportID, int AD_PInstance_ID, VAdvantage.ProcessEngine.ProcessInfo pi) { object result = null; Assembly assem = Assembly.Load("VA039"); Type type = assem.GetType("VA039.Classes.Common"); if (type != null) { var o = Activator.CreateInstance(type); MethodInfo methodInfo = type.GetMethod("GetReportParameterString", new Type[] { typeof(Ctx), typeof(int), typeof(int), typeof(VAdvantage.ProcessEngine.ProcessInfo) }); object[] param = new object[4]; param[0] = ctx; param[1] = reportID; param[2] = AD_PInstance_ID; param[3] = pi; result = methodInfo.Invoke(o, param); } return(result.ToString()); }
/// <summary> /// Generates a url of report with parameters. /// </summary> /// <param name="ctx"></param> /// <param name="log"></param> /// <param name="pi"></param> /// <returns></returns> public string GetReportString(Ctx ctx, VLogger log, VAdvantage.ProcessEngine.ProcessInfo pi) { string reportFilePath = ""; List <string> result = GetUserBILogin(ctx, log); int outvalue = 0; // check if return result returned by login is token or interger. If int value then show respective message. if (!int.TryParse(result[0], out outvalue)) { object biRepID = DB.ExecuteScalar("SELECT VA039_BIREPORTID FROM AD_PRocess where AD_Process_ID=" + pi.GetAD_Process_ID()); int rID = GetReportID(ctx, biRepID.ToString()); string filters = GetReportParameters(ctx, rID, pi.GetAD_PInstance_ID(), pi); reportFilePath = result[1] + "JsAPI?clientOrg=" + MClient.Get(ctx).GetValue() + "&reportUUID=" + biRepID + "&token=" + result[0] + "&showFilters=false&showInfo=false" + filters; } else { if (outvalue == 1) { reportFilePath = Msg.GetMsg(ctx, "VA037_BIToolMembership"); } else if (outvalue == 2) { reportFilePath = Msg.GetMsg(ctx, "VA037_BIUrlNotFound"); } else if (outvalue == 3) { reportFilePath = Msg.GetMsg(ctx, "VA037_NotBIUser"); } else if (outvalue == 4) { reportFilePath = Msg.GetMsg(ctx, "VA037_BICallingError"); } } return(reportFilePath); }