Пример #1
0
 public static void Send(string gmailuser, string password, string to, string subject, string message, TradeLink.API.DebugDelegate deb)
 {
     d = deb;
     try
     {
         MailMessage mail = new MailMessage();
         System.Net.NetworkCredential cred = new System.Net.NetworkCredential
                                                 (gmailuser, password);
         mail.To.Add(to);
         mail.Subject    = subject;
         mail.From       = new MailAddress(gmailuser);
         mail.IsBodyHtml = true;
         mail.Body       = message;
         SmtpClient smtp = new SmtpClient("smtp.gmail.com");
         smtp.UseDefaultCredentials = false;
         smtp.EnableSsl             = true;
         smtp.Credentials           = cred;
         smtp.Port           = 587;
         smtp.SendCompleted += new SendCompletedEventHandler(s_SendCompleted);
         smtp.Send(mail);
     }
     catch (Exception ex)
     {
         debug("Error sending email from: " + gmailuser + " to: " + to + " subject: " + subject + " err: " + ex.Message + ex.StackTrace);
     }
 }
Пример #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);
            }
        }
Пример #3
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;
            }
        }
Пример #4
0
 public static bool SubmitTest(TradeLink.API.DebugDelegate del)
 {
     return(Submit(LOCALURL, CreateTest(), del));
 }