Example #1
0
        public override void AppendClientHeader(Formular.Support.Extension.HeaderTransfer.ITransferHeader header)
        {
            CheckHeaderService();

            if (_service == null) return;
            _service.AppendClientHeader(header);
        }
Example #2
0
        public void Clone_WhenCalled_AllMembersAreCloned()
        {
            var form = new Formular("dummy.f1");

            form.Parameters["p1"] = "v1";

            var clone = FigureDescriptorFactory.Clone(form);

            Assert.That(clone.Name, Is.EqualTo("dummy.f1"));
            Assert.That(clone.Parameters["p1"], Is.EqualTo("v1"));
        }
Example #3
0
        protected override void HandleAfterAsyncProcess(Formular.Win.Cab.Controls.Worker.AsyncCompleteEventArgs e)
        {
            if (e.Exception != null && e.Exception.InnerException is System.Web.Services.Protocols.SoapException)
            {
                Exception ex = null;

                System.Web.Services.Protocols.SoapException se = e.Exception.InnerException as System.Web.Services.Protocols.SoapException;

                System.Xml.XmlAttribute attrType = null;
                System.Xml.XmlAttribute attrAssembly = null;
                System.Xml.XmlAttribute attrMessage = null;
                System.Xml.XmlAttribute attrStackTrace = null;

                System.Xml.XmlAttribute attrErrorCode = null;
                System.Xml.XmlAttribute attrParameters = null;

                Assembly assembly = null;
                Type type = null;

                int exceptionCount = se.Detail.ChildNodes.Count;
                for (int i = exceptionCount - 1; i >= 0; i--)
                {
                    System.Xml.XmlNode node = se.Detail.ChildNodes[i];

                    attrType = node.Attributes.GetNamedItem("Type") as System.Xml.XmlAttribute;
                    attrAssembly = node.Attributes.GetNamedItem("Assembly") as System.Xml.XmlAttribute;
                    attrMessage = node.Attributes.GetNamedItem("Message") as System.Xml.XmlAttribute;
                    attrStackTrace = node.Attributes.GetNamedItem("StackTrace") as System.Xml.XmlAttribute;

                    assembly = Assembly.Load(attrAssembly.Value);
                    if (assembly != null)
                        type = assembly.GetType(attrType.Value);

                    ex = Activator.CreateInstance(type, attrMessage.Value, ex) as Exception;
                    if (ex is Formular.Common.Exceptions.BaseException)
                    {
                        attrErrorCode = node.Attributes.GetNamedItem("ErrorCode") as System.Xml.XmlAttribute;
                        attrParameters = node.Attributes.GetNamedItem("Parameters") as System.Xml.XmlAttribute;

                        (ex as Formular.Common.Exceptions.BaseException).Code = attrErrorCode.Value;
                        if (!string.IsNullOrEmpty(attrParameters.Value))
                        {
                            string[] parameters = attrParameters.Value.Split(';');
                            (ex as Formular.Common.Exceptions.BaseException).Parameters = parameters;
                        }
                    }
                }
                e.Exception = ex;
            }
            else if (e.Exception != null && e.Exception.InnerException != null)
            {
                e.Exception = e.Exception.InnerException;
            }
        }
Example #4
0
        public Uri CreateSubmitUrl(Formular formular)
        {
            var builder = new UriBuilder();

            builder.Scheme = FormElement.Document.Url.Scheme;
            builder.Host   = FormElement.Document.Url.Host;
            builder.Port   = FormElement.Document.Url.Port;
            builder.Path   = FormElement.GetAttribute("action");
            builder.Query  = string.Join("&", BuildParameters(formular));

            return(builder.Uri);
        }
Example #5
0
        public void CreateSubmitUrl_FilledFormular()
        {
            var form = HtmlForm.GetByName(myDocument, "histcsv");

            var formular = new Formular("histcsv",
                                        Tuple.Create("boerse_id", "1"),
                                        Tuple.Create("min_time", "1.1.1980"),
                                        Tuple.Create("max_time", "3.3.2012")
                                        );

            var submitUrl = form.CreateSubmitUrl(formular);

            Assert.That(submitUrl.AbsoluteUri, Is.EqualTo("file:///quote/historic/historic.csv?secu=292&boerse_id=1&clean_split=1&clean_payout=0&clean_bezug=0&min_time=1.1.1980&max_time=3.3.2012&trenner=%3b"));
        }
Example #6
0
        public void CreateSubmitUrl_FilledFormular()
        {
            var doc  = LoadDocument("ariva.historicalprices.DE0008404005.html");
            var form = doc.GetFormByName("histcsv");

            var formular = new Formular("histcsv",
                                        Tuple.Create("boerse_id", "1"),
                                        Tuple.Create("min_time", "1.1.1980"),
                                        Tuple.Create("max_time", "3.3.2012")
                                        );

            var submitUrl = form.CreateSubmitUrl(formular);

            Assert.That(submitUrl.ToString(), Is.EqualTo("file:///quote/historic/historic.csv%3Fsecu=292&boerse_id=1&clean_split=1&clean_payout=0&clean_bezug=0&min_time=1.1.1980&max_time=3.3.2012&trenner=;"));
        }
Example #7
0
        private Formular TransformFormular(Formular originalFormular)
        {
            if (originalFormular == null)
            {
                return(null);
            }

            var transformedForm = new Formular(originalFormular.Name);

            foreach (var origParam in originalFormular.Parameters)
            {
                transformedForm.Parameters[origParam.Key] = LookupInternal(origParam.Value);
            }

            return(transformedForm);
        }
Example #8
0
        /// <summary>
        /// 1. Get the document
        /// 2. find the formular specified by formular.Name (currently only Html supported)
        /// 3. fill the formular from the document with the additional/overwrite parameters
        /// 3. submit the formular
        /// </summary>
        private Uri SubmitFormular(Uri url, Formular formular)
        {
            using (var loader = new WinFormHtmlDocumentLoader())
            {
                var document = loader.LoadHtmlDocument(url);
                var htmlForm = new Html.WinForms.HtmlDocumentAdapter(document).GetFormByName(formular.Name);
                if (htmlForm == null)
                {
                    return(null);
                }

                var formSubmitUrl = htmlForm.CreateSubmitUrl(formular);

                return(SendRequest(formSubmitUrl));
            }
        }
Example #9
0
        /// <summary>
        /// 1. Get the document
        /// 2. find the formular specified by formular.Name (currently only Html supported)
        /// 3. fill the formular from the document with the additional/overwrite parameters
        /// 3. submit the formular
        /// </summary>
        private Uri SubmitFormular( Uri url, Formular formular )
        {
            throw new NotImplementedException( "SubmitFormular not implemented" );
            //using ( var loader = new WinFormHtmlDocumentLoader() )
            //{
            //    var document = loader.LoadHtmlDocument( url );
            //    var htmlForm = new Parsers.Html.WinForms.HtmlDocumentAdapter( document ).GetFormByName( formular.Name );
            //    if ( htmlForm == null )
            //    {
            //        return null;
            //    }

            //    var formSubmitUrl = htmlForm.CreateSubmitUrl( formular );

            //    return SendRequest( formSubmitUrl );
            //}
        }
Example #10
0
        public override void OnImportsSatisfied()
        {
            base.OnImportsSatisfied();

            this.CustomizeFormular = true;

            var init = Formular.Clone() as MessageFormular;

            init.Require(RequireEnum.None);

            LayoutPanel.Formular      = init;
            LayoutPanel.CanEditFields = init.IsDynamic;

            FormularUpdate += (sender, formular) => UpdateWindow(formular, formular.IsDynamic);// sender is commonly MessageFormularRegistry
            FormularUpdate += (sender, formular) => TryDefinePins(sender, formular);

            LayoutPanel.Changed += ReadLayoutPanel;
        }
Example #11
0
        protected override void HandleAfterAsyncProcess(Formular.Win.Cab.Controls.Worker.AsyncCompleteEventArgs e)
        {
            if (e.Exception != null && !(e.Exception is Formular.Common.Exceptions.BaseException))
            {
                Microsoft.Practices.CompositeUI.WorkItem workItem = Eland.GBFW.Common.Util.SpringUtil.GetObject<Eland.GBFW.Win.Common.Interface.IRootWorkItemService>("RootWorkItemService").RootWorkItem;

                Exception ex = e.Exception.InnerException;
                StringBuilder sb = new StringBuilder();
                while (ex != null)
                {
                    sb.Append("Message: " + ex.Message + Environment.NewLine);
                    sb.Append("StackTrace: " + ex.StackTrace + Environment.NewLine);
                    sb.Append("=================================" + Environment.NewLine);
                }

                workItem.Services.Get<IMessageService>().ShowMessage("시스템 오류입니다. 관리자에게 문의하세요", sb.ToString());

            }
        }
Example #12
0
        public Uri CreateSubmitUrl(Formular formular)
        {
            var builder = new UriBuilder();

            builder.Scheme = FormElement.Document.Location.Scheme;
            builder.Host   = FormElement.Document.Location.Host;
            builder.Port   = FormElement.Document.Location.Port;
            builder.Path   = FormElement.GetAttribute("action");
            builder.Query  = string.Join("&", BuildParameters(formular));

            var urlString = builder.ToString();

            // we have to use obsolete API here to force Uri class to NOT encode our string - it is already encoded.
            // if we let Uri class do the default for a strange reason the Url gets reencoded - sometimes.
#pragma warning disable 618
            return(new Uri(urlString, true));

#pragma warning restore 618
        }
Example #13
0
        //<form action="/quote/historic/historic.csv" method="get" name="histcsv" style="margin:0px">
        //  <input type="hidden" name="secu" value="292">
        //  <input type="hidden" name="boerse_id" value="6">
        //  <input type="hidden" name="clean_split" value="1">
        //  <input type="hidden" name="clean_payout" value="0">
        //  <input type="hidden" name="clean_bezug" value="0"> <ul> <li><div class="fleft" style="width:45px">von:</div>
        //  <input name="min_time" value="25.2.2011" style="width:65px"></li> <li><div class="fleft" style="width:45px">bis:</div>
        //  <input name="max_time" value="25.2.2012" style="width:65px"></li> <li><div class="fleft" style="width:85px">Trennzeichen:</div>
        //  <input name="trenner" value=";" style="width:25px"></li> </ul> <div align="right" style="padding: 3px 3px 4px">
        //  <input name="go" value="Download" type="submit" style="font-size:12px;"></div> <div class="clearfloat"></div>
        //</form>
        private string[] BuildParameters(Formular formular)
        {
            var parameters = new Dictionary <string, string>();

            var inputElements = FormElement.GetInnerElements()
                                .Where(child => child.TagName.EqualsI("input"))
                                .Where(child => child.GetAttribute("type") != "submit");

            foreach (var input in inputElements)
            {
                parameters[input.GetAttribute("name")] = input.GetAttribute("value");
            }

            foreach (var param in formular.Parameters)
            {
                parameters[param.Key] = param.Value;
            }

            var urlPairs = parameters
                           .Select(entry => string.Format("{0}={1}", HttpUtility.UrlEncode(entry.Key), HttpUtility.UrlEncode(entry.Value)))
                           .ToArray();

            return(urlPairs);
        }
Example #14
0
 public ActionResult Rezervare(Formular f)
 {
     Debug.WriteLine(f.tip_camere + " ceva");
     return(View(f));
 }
Example #15
0
 public virtual void OnLoadView(object sender, Formular.Win.Cab.Entities.ViewLoadEventArgs e)
 {
 }
Example #16
0
        public FormularModule(FormularService formularService)
            : base("/formulare")
        {
            Get["/"] = p =>
            {
                var formulare = formularService.Get();
                return(new JsonResponse(formulare, new JsonNetSerializer()));
            };

            Get["/{id}"] = p =>
            {
                var formular = formularService.Get(p.id);
                if (formular == null)
                {
                    return(HttpStatusCode.NotFound);
                }
                return(new JsonResponse(formular, new JsonNetSerializer()));
            };

            //Get["/byUserId/{id}"] = p =>
            //{
            //    var books = bookService.GetByUser(p.id);
            //    return new JsonResponse(books, new JsonNetSerializer());
            //};

            Post["/"] = p =>
            {
                Formular post = this.Bind();
                try
                {
                    var result = formularService.Add(post);
                }
                catch (Exception ex)
                {
                    log.errorLog(ex.Message);
                    return(HttpStatusCode.BadRequest);
                }
                return(HttpStatusCode.Created);
            };

            Put["/"] = p =>
            {
                Formular put = this.Bind();
                try
                {
                    var result = formularService.Update(put);
                }
                catch (Exception ex)
                {
                    log.errorLog(ex.Message);
                    return(HttpStatusCode.BadRequest);
                }
                return(HttpStatusCode.OK);
            };

            Delete["/{id}"] = p =>
            {
                try
                {
                    var result = formularService.Delete(p.id);
                    return(new JsonResponse(result, new DefaultJsonSerializer()));
                }
                catch (Exception ex)
                {
                    log.errorLog(ex.Message);
                    return(HttpStatusCode.BadRequest);
                }
            };
        }
Example #17
0
        public void Validate_IsValid_DoesNotThrows()
        {
            var form = new Formular("dummy.f1");

            RecursiveValidator.Validate(form);
        }
Example #18
0
 public override void OnLoadView(object sender, Formular.Win.Cab.Entities.ViewLoadEventArgs e)
 {
     base.OnLoadView(sender, e);
 }
Example #19
0
 public void AppendClientHeader(Formular.Support.Extension.HeaderTransfer.ITransferHeader header)
 {
     object userId = this.WorkItem.State["UserId"];
     if( userId != null ) header.Add("UserId", this.WorkItem.State["UserId"].ToString());
 }
 private void Formular_Click(object sender, EventArgs e)
 {
     Forms.Formular _formular = new Formular();
     _formular.ShowDialog();
 }