Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- using System.Net;
- using System.Text;
- using System.Web.Script.Serialization;
- using System.Windows.Forms;
- namespace importwiz
- {
- public class allreadyAssigned
- {
- public string id { get; set; }
- public string externalXref { get; set; }
- }
- public class ownerIdfinder
- {
- public string id { get; set; }
- public string externalXref { get; set; }
- }
- class ownerAssign
- {
- public static void ownerMethod()
- {
- ProgressBar progressBar1 = Form1.main.progressBar1;
- progressBar1.Visible = true;
- progressBar1.Minimum = 0;
- progressBar1.Maximum = 70;
- progressBar1.Value = 0;
- progressBar1.Step = 1;
- string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
- ownerIdfinder[] ids = new ownerIdfinder[10]; //settes med deserialize
- allreadyAssigned[] allreadyIds = new allreadyAssigned[10]; //settes med deserialize
- for (int i = 1; i < 70; i++)
- {
- List<ownerIdfinder> afterAllreadyIds = new List<ownerIdfinder>();
- 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);
- var myHttpWebRequest = (HttpWebRequest)request;
- request.Method = "GET";
- request.ContentType = "application/json";
- request.Headers.Add("Authorization", "Basic " + encoded);
- request.Headers.Add("ClientId", clientId);
- try
- {
- var httpResponse = (HttpWebResponse)request.GetResponse();
- using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
- {
- JavaScriptSerializer js = new JavaScriptSerializer();
- ids = js.Deserialize<ownerIdfinder[]>(streamReader.ReadToEnd());
- 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'");
- var allreadymyHttpWebRequest = (HttpWebRequest)allreadyRequest;
- allreadyRequest.Method = "GET";
- allreadyRequest.ContentType = "application/json";
- allreadyRequest.Headers.Add("Authorization", "Basic " + encoded);
- allreadyRequest.Headers.Add("ClientId", clientId);
- try
- {
- var allreadyhttpResponse = (HttpWebResponse)allreadyRequest.GetResponse();
- using (var allreadystreamReader = new StreamReader(allreadyhttpResponse.GetResponseStream()))
- {
- JavaScriptSerializer allreadyjs = new JavaScriptSerializer();
- allreadyIds = allreadyjs.Deserialize<allreadyAssigned[]>(allreadystreamReader.ReadToEnd());
- foreach (ownerIdfinder oif in ids)
- {
- bool found = false;
- foreach (allreadyAssigned ara in allreadyIds)
- {
- if (oif.id.Equals(ara.id) && oif.externalXref.Equals(ara.externalXref))
- {
- found = true;
- }
- }
- if (!found)
- {
- afterAllreadyIds.Add(oif);
- }
- }
- }
- }
- catch (WebException wex)
- {
- if (wex.Response != null)
- {
- using (var errorResponse = (HttpWebResponse)wex.Response)
- {
- using (var reader = new StreamReader(errorResponse.GetResponseStream()))
- {
- string error = reader.ReadToEnd();
- Console.WriteLine(error);
- }
- }
- }
- }
- }
- }
- catch (WebException wex)
- {
- if (wex.Response != null)
- {
- using (var errorResponse = (HttpWebResponse)wex.Response)
- {
- using (var reader = new StreamReader(errorResponse.GetResponseStream()))
- {
- string error = reader.ReadToEnd();
- Console.WriteLine(error);
- }
- }
- }
- }
- foreach (var what in afterAllreadyIds)
- {
- DataTable dt = sqlFetch.ticketAssigner(what.externalXref);
- foreach (DataRow row in dt.Rows)
- {
- if (getUser(row["owner"].ToString()))
- {
- Console.WriteLine(row["owner"] + " " + what.id);
- owner(row["owner"].ToString(), what.id);
- }
- }
- }
- afterAllreadyIds.Clear();
- progressBar1.PerformStep();
- }
- controls.Enable();
- }
- public static void owner(string owner, string id)
- {
- string httpRes;
- string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
- string jsonPatch =
- "[{ " +
- "\"op\": \"replace\", " +
- "\"path\": \"owner/identifier\", " +
- "\"value\": \"" + owner + "\"" +
- "}]";
- WebRequest Patchrequest = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/service/tickets/" + id);
- var patchmyHttpWebRequest = (HttpWebRequest)Patchrequest;
- Patchrequest.Method = "PATCH";
- Patchrequest.ContentType = "application/json";
- Patchrequest.Headers.Add("Authorization", "Basic " + encoded);
- Patchrequest.Headers.Add("ClientId", clientId);
- using (var streamWriter = new StreamWriter(Patchrequest.GetRequestStream()))
- {
- streamWriter.Write(jsonPatch);
- streamWriter.Flush();
- streamWriter.Close();
- }
- try
- {
- var patchhttpResponse = (HttpWebResponse)Patchrequest.GetResponse();
- using (var patchstreamReader = new StreamReader(patchhttpResponse.GetResponseStream()))
- {
- var result = patchstreamReader.ReadToEnd();
- httpRes = result.ToString();
- }
- }
- catch (WebException wex)
- {
- if (wex.Response != null)
- {
- using (var errorResponse = (HttpWebResponse)wex.Response)
- {
- using (var reader = new StreamReader(errorResponse.GetResponseStream()))
- {
- string error = reader.ReadToEnd();
- Console.WriteLine(id + " " + owner + Environment.NewLine + error + Environment.NewLine);
- }
- }
- }
- }
- }
- public static bool getUser(string user)
- {
- bool found = false;
- string httpRes;
- string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(company + "+" + pubkey + ":" + privkey));
- WebRequest request = WebRequest.Create("https://cwm.unident.se/v4_6_release/apis/3.0/system/members?conditions=identifier = '" + user + "'");
- var myHttpWebRequest = (HttpWebRequest)request;
- request.Method = "GET";
- request.ContentType = "application/json";
- request.Headers.Add("Authorization", "Basic " + encoded);
- request.Headers.Add("ClientId", clientId);
- try
- {
- var httpResponse = (HttpWebResponse)request.GetResponse();
- using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
- {
- var result = streamReader.ReadToEnd();
- httpRes = result.ToString();
- if (httpRes.Length > 2)
- {
- found = true;
- }
- }
- }
- catch (WebException wex)
- {
- if (wex.Response != null)
- {
- using (var errorResponse = (HttpWebResponse)wex.Response)
- {
- using (var reader = new StreamReader(errorResponse.GetResponseStream()))
- {
- string error = reader.ReadToEnd();
- File.AppendAllText("log.txt", error);
- }
- }
- }
- }
- return found;
- }
- }
- }
Add Comment
Please, Sign In to add comment