Example #1
0
 public void AddEventWithPhoto()
 {
     bool s = false;
     dynamic ev;
     var Wc = new WebClient();
     Wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
     var firstdata = "grant_type=password&username="******"TestUserName" + "&password="******"TestPassword361";
     var result1 = Wc.UploadString(SiteUrl + TokenUrl, firstdata);
     JObject o1 = JObject.Parse(result1);
     var token = o1["access_token"].Value<string>();
     Wc = new WebClient();
     Wc.Encoding = Encoding.UTF8;
     Wc.Headers.Add("Content-Type", "application/json");
     Wc.Headers.Add("Authorization", "Bearer " + token);
     string sdata;
     var photoIds = new string[0];
     var url = new WebClient().DownloadString(new Uri(SiteUrl + "api/Endpoints/GetUploadUrl/AddEvent"));
     url = url.Trim(new char[] { '\"' });
     url = url.TrimStart(new char[] { '/' });
     using (var client = new HttpClient())
     {
         MultipartFormDataContent form = new MultipartFormDataContent();
         client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token);
         var fs = new FileStream("C:\\Users\\Александр\\Desktop\\kompot.jpg", FileMode.Open);
         form.Add(new StreamContent(fs), "file", "file.jpg");
         fs = new FileStream("C:\\Users\\Александр\\Desktop\\qRISsLk7j3E.jpg", FileMode.Open);
         form.Add(new StreamContent(fs), "file", "file.jpg");
         var response = client.PostAsync(SiteUrl + url, form).Result;
         sdata = response.Content.ReadAsStringAsync().Result;
     }
     using (var client = new HttpClient())
     {
         client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token);
         var content = new StringContent(sdata, Encoding.UTF8, "application/json");
         var response = client.PostAsync(SiteUrl
                                 + "api/Endpoints/SaveUploadedFile/AddEvent", content).Result;
         sdata = response.Content.ReadAsStringAsync().Result;
         photoIds = JArray.Parse(sdata).Select(tok => (tok as JObject)["Id"].Value<string>()).ToArray();
     }
     try
     {
         var time = System.DateTime.Now.ToString("u");
         var data = JsonConvert.SerializeObject(new
         {
             Latitude = 76,
             Longitude = 92,
             Description = "TestEvent",
             EventDate = time,
             PhotoIds = photoIds
         });
         var result = Wc.UploadString(SiteUrl + AddEventUrl, data);
     }
     catch(WebException we)
     {
         Assert.Fail(we.Message);
     }
 }