patege

ownerassign

Feb 3rd, 2021
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 10.01 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.IO;
  5. using System.Net;
  6. using System.Text;
  7. using System.Web.Script.Serialization;
  8. using System.Windows.Forms;
  9.  
  10. namespace importwiz
  11. {
  12.     public class allreadyAssigned
  13.     {
  14.         public string id { get; set; }
  15.         public string externalXref { get; set; }
  16.     }
  17.     public class ownerIdfinder
  18.     {
  19.         public string id { get; set; }
  20.         public string externalXref { get; set; }
  21.     }
  22.     class ownerAssign
  23.     {
  24.         public static void ownerMethod()
  25.         {
  26.             ProgressBar progressBar1 = Form1.main.progressBar1;
  27.             progressBar1.Visible = true;
  28.             progressBar1.Minimum = 0;
  29.             progressBar1.Maximum = 70;
  30.             progressBar1.Value = 0;
  31.             progressBar1.Step = 1;
  32.             string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
  33.  
  34.             ownerIdfinder[] ids = new ownerIdfinder[10]; //settes med deserialize
  35.             allreadyAssigned[] allreadyIds = new allreadyAssigned[10]; //settes med deserialize
  36.  
  37.             for (int i = 1; i < 70; i++)
  38.             {
  39.                 List<ownerIdfinder> afterAllreadyIds = new List<ownerIdfinder>();
  40.                 WebRequest request = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/service/tickets?fields=id,externalXref&pageSize=1000&conditions=externalXref like 'I%'&page=" + i);
  41.                 var myHttpWebRequest = (HttpWebRequest)request;
  42.                 request.Method = "GET";
  43.                 request.ContentType = "application/json";
  44.                 request.Headers.Add("Authorization", "Basic " + encoded);
  45.                 request.Headers.Add("ClientId", clientId);
  46.                 try
  47.                 {
  48.                     var httpResponse = (HttpWebResponse)request.GetResponse();
  49.                     using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
  50.                     {
  51.                         JavaScriptSerializer js = new JavaScriptSerializer();
  52.                         ids = js.Deserialize<ownerIdfinder[]>(streamReader.ReadToEnd());
  53.  
  54.                         WebRequest allreadyRequest = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/service/tickets?fields=id,externalXref&pageSize=1000&orderby=id desc&conditions=externalXref like 'I%' AND owner/identifier like '*1'");
  55.                         var allreadymyHttpWebRequest = (HttpWebRequest)allreadyRequest;
  56.                         allreadyRequest.Method = "GET";
  57.                         allreadyRequest.ContentType = "application/json";
  58.                         allreadyRequest.Headers.Add("Authorization", "Basic " + encoded);
  59.                         allreadyRequest.Headers.Add("ClientId", clientId);
  60.                         try
  61.                         {
  62.                             var allreadyhttpResponse = (HttpWebResponse)allreadyRequest.GetResponse();
  63.                             using (var allreadystreamReader = new StreamReader(allreadyhttpResponse.GetResponseStream()))
  64.                             {
  65.                                 JavaScriptSerializer allreadyjs = new JavaScriptSerializer();
  66.                                 allreadyIds = allreadyjs.Deserialize<allreadyAssigned[]>(allreadystreamReader.ReadToEnd());
  67.                                 foreach (ownerIdfinder oif in ids)
  68.                                 {
  69.                                     bool found = false;
  70.                                     foreach (allreadyAssigned ara in allreadyIds)
  71.                                     {
  72.                                         if (oif.id.Equals(ara.id) && oif.externalXref.Equals(ara.externalXref))
  73.                                         {
  74.                                             found = true;
  75.                                         }
  76.                                     }
  77.                                     if (!found)
  78.                                     {
  79.                                         afterAllreadyIds.Add(oif);
  80.                                     }
  81.                                 }
  82.                             }
  83.                         }
  84.                         catch (WebException wex)
  85.                         {
  86.                             if (wex.Response != null)
  87.                             {
  88.                                 using (var errorResponse = (HttpWebResponse)wex.Response)
  89.                                 {
  90.                                     using (var reader = new StreamReader(errorResponse.GetResponseStream()))
  91.                                     {
  92.                                         string error = reader.ReadToEnd();
  93.                                         Console.WriteLine(error);
  94.                                     }
  95.                                 }
  96.                             }
  97.                         }
  98.                     }
  99.                 }
  100.                 catch (WebException wex)
  101.                 {
  102.                     if (wex.Response != null)
  103.                     {
  104.                         using (var errorResponse = (HttpWebResponse)wex.Response)
  105.                         {
  106.                             using (var reader = new StreamReader(errorResponse.GetResponseStream()))
  107.                             {
  108.                                 string error = reader.ReadToEnd();
  109.                                 Console.WriteLine(error);
  110.                             }
  111.                         }
  112.                     }
  113.                 }
  114.                 foreach (var what in afterAllreadyIds)
  115.                 {
  116.                     DataTable dt = sqlFetch.ticketAssigner(what.externalXref);
  117.                     foreach (DataRow row in dt.Rows)
  118.                     {
  119.                         if (getUser(row["owner"].ToString()))
  120.                         {
  121.                             Console.WriteLine(row["owner"] + " " + what.id);
  122.                             owner(row["owner"].ToString(), what.id);
  123.                         }
  124.                     }
  125.                 }
  126.                 afterAllreadyIds.Clear();
  127.                 progressBar1.PerformStep();
  128.             }
  129.             controls.Enable();
  130.         }
  131.         public static void owner(string owner, string id)
  132.         {
  133.             string httpRes;
  134.             string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
  135.             string jsonPatch =
  136.             "[{ " +
  137.                 "\"op\": \"replace\", " +
  138.                 "\"path\": \"owner/identifier\", " +
  139.                 "\"value\": \"" + owner + "\"" +
  140.             "}]";
  141.             WebRequest Patchrequest = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/service/tickets/" + id);
  142.             var patchmyHttpWebRequest = (HttpWebRequest)Patchrequest;
  143.             Patchrequest.Method = "PATCH";
  144.             Patchrequest.ContentType = "application/json";
  145.             Patchrequest.Headers.Add("Authorization", "Basic " + encoded);
  146.             Patchrequest.Headers.Add("ClientId", clientId);
  147.             using (var streamWriter = new StreamWriter(Patchrequest.GetRequestStream()))
  148.             {
  149.                 streamWriter.Write(jsonPatch);
  150.                 streamWriter.Flush();
  151.                 streamWriter.Close();
  152.             }
  153.             try
  154.             {
  155.                 var patchhttpResponse = (HttpWebResponse)Patchrequest.GetResponse();
  156.                 using (var patchstreamReader = new StreamReader(patchhttpResponse.GetResponseStream()))
  157.                 {
  158.                     var result = patchstreamReader.ReadToEnd();
  159.                     httpRes = result.ToString();
  160.                 }
  161.             }
  162.             catch (WebException wex)
  163.             {
  164.                 if (wex.Response != null)
  165.                 {
  166.                     using (var errorResponse = (HttpWebResponse)wex.Response)
  167.                     {
  168.                         using (var reader = new StreamReader(errorResponse.GetResponseStream()))
  169.                         {
  170.                             string error = reader.ReadToEnd();
  171.                             Console.WriteLine(id + " " + owner + Environment.NewLine + error + Environment.NewLine);
  172.                         }
  173.                     }
  174.                 }
  175.             }
  176.         }
  177.         public static bool getUser(string user)
  178.         {
  179.             bool found = false;
  180.             string httpRes;
  181.             string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
  182.             WebRequest request = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/system/members?conditions=identifier = '" + user + "'");
  183.             var myHttpWebRequest = (HttpWebRequest)request;
  184.             request.Method = "GET";
  185.             request.ContentType = "application/json";
  186.             request.Headers.Add("Authorization", "Basic " + encoded);
  187.             request.Headers.Add("ClientId", clientId);
  188.             try
  189.             {
  190.                 var httpResponse = (HttpWebResponse)request.GetResponse();
  191.                 using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
  192.                 {
  193.                     var result = streamReader.ReadToEnd();
  194.                     httpRes = result.ToString();
  195.                     if (httpRes.Length > 2)
  196.                     {
  197.                         found = true;
  198.                     }
  199.                 }
  200.             }
  201.             catch (WebException wex)
  202.             {
  203.                 if (wex.Response != null)
  204.                 {
  205.                     using (var errorResponse = (HttpWebResponse)wex.Response)
  206.                     {
  207.                         using (var reader = new StreamReader(errorResponse.GetResponseStream()))
  208.                         {
  209.                             string error = reader.ReadToEnd();
  210.                             File.AppendAllText("log.txt", error);
  211.                         }
  212.                     }
  213.                 }
  214.             }
  215.             return found;
  216.         }
  217.     }
  218. }
  219.  
Add Comment
Please, Sign In to add comment