public HttpResponseMessage GetChartElement(Guid formId, string controlId, Guid?threadId = null)
        {
            sysBpmsDynamicForm dynamicForm = new DynamicFormService().GetInfo(formId);
            ChartHtml          control     = (ChartHtml)dynamicForm.FindControl(controlId);

            EngineSharedModel engineSharedModel = dynamicForm.ProcessId.HasValue ?
                                                  new EngineSharedModel(threadId, dynamicForm.ProcessId, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) :
                                                  new EngineSharedModel(dynamicForm.ApplicationPageID.Value, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId);

            control.Helper = HtmlElementHelper.MakeModel(engineSharedModel, new UnitOfWork(), HtmlElementHelperModel.e_FormAction.Onload, dynamicForm);
            control.FillData();

            return(Request.CreateResponse(HttpStatusCode.OK, control));
        }
Exemplo n.º 2
0
        public void GetDataGridReport(Guid formId, string controlId, string format, Guid?threadId = null)
        {
            sysBpmsDynamicForm dynamicForm = new DynamicFormService().GetInfo(formId);
            DataGridHtml       control     = (DataGridHtml)dynamicForm.FindControl(controlId);

            EngineSharedModel engineSharedModel = dynamicForm.ProcessId.HasValue ?
                                                  new EngineSharedModel(threadId, dynamicForm.ProcessId, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId) :
                                                  new EngineSharedModel(dynamicForm.ApplicationPageID.Value, base.MyRequest.GetList(base.IsEncrypted, base.ApiSessionId).ToList(), base.ClientUserName, base.ApiSessionId);

            control.Helper = HtmlElementHelper.MakeModel(engineSharedModel, new UnitOfWork(), HtmlElementHelperModel.e_FormAction.Onload, dynamicForm);
            control.FillDataItem(true);

            using (ReportEngine reportEngine = new ReportEngine(engineSharedModel, new UnitOfWork()))
            {
                reportEngine.PrintRdlcDataGrid(HttpContext.Current.Response, control, format == "pdf" ? DomainUtility.ReportExportType.PDF : DomainUtility.ReportExportType.Excel);
            }
        }
        public void Get(string key, Guid?formId = null)
        {
            //SessionIDManager Manager = new SessionIDManager();
            ////HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", base.ClientId));
            //Manager.SaveSessionID(HttpContext.Current, this.ClientId, out bool redirected, out bool IsAdded);


            if (formId.HasValue)
            {
                sysBpmsDynamicForm dynamicForm = new DynamicFormService().GetInfo(formId.Value);
                WordCaptchaHtml    control     = (WordCaptchaHtml)dynamicForm?.FindControl(key);
                HttpContext.Current.Session[key] = this.RandomString(control.Length);
            }
            else
            {
                HttpContext.Current.Session[key] = this.RandomString(8);
            }

            string CaptchaImageText = HttpContext.Current.Session[key].ToString();

            // Create a CAPTCHA image using the text stored in the Session object.

            CaptchaImageDTO ci = new CaptchaImageDTO(CaptchaImageText, 200, 50, "Tahoma", 8);

            // Change the response headers to output a JPEG image.
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.ContentType = "image/jpeg";

            // Write the image to the response stream in JPEG format.
            MemoryStream oMemoryStream = new MemoryStream();

            ci.Image.Save(oMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] oBytes = oMemoryStream.GetBuffer();
            oMemoryStream.Close();

            // Dispose of the CAPTCHA image object.
            ci.Dispose();

            HttpContext.Current.Response.BinaryWrite(oBytes);
            HttpContext.Current.Response.Flush();
        }