Beispiel #1
0
        public static bool ConfirmSubmitCapitalRequest(TradeLink.AppKit.Results rs, bool skip, TradeLink.API.DebugDelegate deb)

        {
            d = deb;
            if (skip)
            {
                return(false);
            }

            CapitalRequestConfim crc = new CapitalRequestConfim();
            bool ok = false;

            if (crc.InvokeRequired)
            {
                crc.Invoke(new capcondel(ConfirmSubmitCapitalRequest), new object[] { rs, skip, deb });
            }
            else
            {
                DialogResult dr = crc.ShowDialog();
                if (!crc.AskAgain)
                {
                    // disable tracking
                }
                ok = dr == DialogResult.Yes;
            }
            if (!ok)
            {
                return(false);
            }
            return(CapitalRequest.Submit(crc.Email, rs, deb));
        }
Beispiel #2
0
        public static bool Submit(string url, CapitalRequest cr, TradeLink.API.DebugDelegate deb)
        {
            d = deb;
            if (cr.usingresults && !ResultsSubmittable(cr.SubmittedResults))
            {
                debug("To submit capital connection request, results must be profitable over at least two symbol days.");
                return false;
            }
            HttpWebRequest hr = WebRequest.Create(url) as HttpWebRequest;
            //hr.Credentials = new System.Net.NetworkCredential(user, password);
            //hr.PreAuthenticate = true;
            //hr.Headers.Add(
            hr.Method = "POST";
            //hr.ContentType = "application/xml";

            XmlWriterSettings writerSettings = new XmlWriterSettings();
            writerSettings.OmitXmlDeclaration = true;
            System.IO.StringWriter stringWriter = new System.IO.StringWriter();
            System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(CapitalRequest));

            XmlWriter xmlWriter = XmlTextWriterFormattedNoDeclaration.Create(stringWriter, writerSettings);
            System.Xml.Serialization.XmlSerializerNamespaces ns = new System.Xml.Serialization.XmlSerializerNamespaces();
            ns.Add("", "");

            serializer.Serialize(xmlWriter, cr, ns);
            string xml = stringWriter.ToString();

            System.Xml.Linq.XDocument xd = System.Xml.Linq.XDocument.Parse(xml);
            StringBuilder sb = new StringBuilder();
            // get parameter list
            int i = 0;
            foreach (System.Xml.Linq.XElement xe in xd.Descendants())
            {
                if (xe.HasElements) continue;
                if (i++ > 0)
                    sb.Append("&");
                if (xe.Name.LocalName.ToLower() == "result")
                    sb.Append(xe.Name.LocalName + "=" + System.Web.HttpUtility.HtmlEncode(xe.Value));
                else
                    sb.Append(xe.Name.LocalName + "=" + xe.Value);
            }
            string data = sb.ToString();
          
            // encode
            byte[] bytes = UTF8Encoding.UTF8.GetBytes(data);
            hr.ContentLength = bytes.Length;
            // prepare id
            int id = 0;
            try
            {
                // write it
                System.IO.Stream post = hr.GetRequestStream();
                post.Write(bytes, 0, bytes.Length);
                // get response
                System.IO.StreamReader response = new System.IO.StreamReader(hr.GetResponse().GetResponseStream());
                // get string version
                string key = response.ReadToEnd();
                // display it
                debug("added request: "+key);
                return true;
            }
            catch (Exception ex)
            {
                debug("error adding: "+Util.Serialize<CapitalRequest>(cr)+" "+ex.Message + ex.StackTrace);
                return false;
            }
        }
Beispiel #3
0
 public static bool Submit(string url, CapitalRequest cr) { return Submit(url, cr, null); }
Beispiel #4
0
 public static bool Submit(CapitalRequest cr, DebugDelegate deb) { return Submit(PUBLICURL, cr, deb); }
Beispiel #5
0
 public static bool Submit(CapitalRequest cr) { return Submit(PUBLICURL, cr, null); }
Beispiel #6
0
        public static bool Submit(string url, CapitalRequest cr, TradeLink.API.DebugDelegate deb)
        {
            d = deb;
            if (cr.usingresults && !ResultsSubmittable(cr.SubmittedResults))
            {
                debug("To submit capital connection request, results must be profitable over at least two symbol days.");
                return(false);
            }
            HttpWebRequest hr = WebRequest.Create(url) as HttpWebRequest;

            //hr.Credentials = new System.Net.NetworkCredential(user, password);
            //hr.PreAuthenticate = true;
            //hr.Headers.Add(
            hr.Method = "POST";
            //hr.ContentType = "application/xml";

            XmlWriterSettings writerSettings = new XmlWriterSettings();

            writerSettings.OmitXmlDeclaration = true;
            System.IO.StringWriter stringWriter = new System.IO.StringWriter();
            System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(CapitalRequest));

            XmlWriter xmlWriter = XmlTextWriterFormattedNoDeclaration.Create(stringWriter, writerSettings);

            System.Xml.Serialization.XmlSerializerNamespaces ns = new System.Xml.Serialization.XmlSerializerNamespaces();
            ns.Add("", "");

            serializer.Serialize(xmlWriter, cr, ns);
            string xml = stringWriter.ToString();

            System.Xml.Linq.XDocument xd = System.Xml.Linq.XDocument.Parse(xml);
            StringBuilder             sb = new StringBuilder();
            // get parameter list
            int i = 0;

            foreach (System.Xml.Linq.XElement xe in xd.Descendants())
            {
                if (xe.HasElements)
                {
                    continue;
                }
                if (i++ > 0)
                {
                    sb.Append("&");
                }
                if (xe.Name.LocalName.ToLower() == "result")
                {
                    sb.Append(xe.Name.LocalName + "=" + System.Web.HttpUtility.HtmlEncode(xe.Value));
                }
                else
                {
                    sb.Append(xe.Name.LocalName + "=" + xe.Value);
                }
            }
            string data = sb.ToString();

            // encode
            byte[] bytes = UTF8Encoding.UTF8.GetBytes(data);
            hr.ContentLength = bytes.Length;
            // prepare id
            int id = 0;

            try
            {
                // write it
                System.IO.Stream post = hr.GetRequestStream();
                post.Write(bytes, 0, bytes.Length);
                // get response
                System.IO.StreamReader response = new System.IO.StreamReader(hr.GetResponse().GetResponseStream());
                // get string version
                string key = response.ReadToEnd();
                // display it
                debug("added request: " + key);
                return(true);
            }
            catch (Exception ex)
            {
                debug("error adding: " + Util.Serialize <CapitalRequest>(cr) + " " + ex.Message + ex.StackTrace);
                return(false);
            }
        }
Beispiel #7
0
 public static bool Submit(string url, CapitalRequest cr)
 {
     return(Submit(url, cr, null));
 }
Beispiel #8
0
 public static bool Submit(CapitalRequest cr, DebugDelegate deb)
 {
     return(Submit(PUBLICURL, cr, deb));
 }
Beispiel #9
0
 public static bool Submit(CapitalRequest cr)
 {
     return(Submit(PUBLICURL, cr, null));
 }