public IncidentDetailModel GETIncidenServiceInfo(string incNum) { var incDetail = incidentDetailApi + incNum + $"&sysparm_limit=1"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(incDetail); request.ContentType = "application/json"; request.Method = "GET"; NetworkCredential cred = new NetworkCredential(adminName, password); request.Credentials = cred; HttpWebResponse webResponse = request.GetResponse() as HttpWebResponse; var incidentDetail = new IncidentDetailModel(); try { using (Stream webStream = webResponse.GetResponseStream()) { if (webStream != null) { using (StreamReader responseReader = new StreamReader(webStream)) { var response = responseReader.ReadToEnd(); var selectedNode = JObject.Parse(response).SelectToken("result").FirstOrDefault(); if (selectedNode != null) { incidentDetail.Active = selectedNode["active"].ToString(); incidentDetail.Category = selectedNode["category"].ToString(); incidentDetail.IncidentState = GetStatus(selectedNode["incident_state"].ToString()); incidentDetail.Comments = selectedNode["comments_and_work_notes"].ToString(); incidentDetail.ShortDescription = selectedNode["short_description"].ToString(); incidentDetail.Duedate = string.Empty; incidentDetail.Opendate = string.Empty; incidentDetail.CloseDate = string.Empty; var dueDate = TryParseDate(selectedNode["due_date"].ToString()); if (dueDate != null) { incidentDetail.Duedate = ConvertToEST(Convert.ToDateTime(dueDate)).ToString(); } var openDate = TryParseDate(selectedNode["opened_at"].ToString()); if (openDate != null) { incidentDetail.Opendate = ConvertToEST(Convert.ToDateTime(openDate)).ToString(); } var closeDate = TryParseDate(selectedNode["closed_at"].ToString()); if (closeDate != null) { incidentDetail.CloseDate = ConvertToEST(Convert.ToDateTime(closeDate)).ToString(); } incidentDetail.Category = selectedNode["category"].ToString(); incidentDetail.SubCategory = selectedNode["subcategory"].ToString(); var impact = selectedNode["impact"].ToString(); incidentDetail.Impact = impact == "1" ? "High" : impact == "2" ? "Medium" : impact == "3" ? "Low" : "NA"; var urgency = selectedNode["urgency"].ToString(); incidentDetail.Urgency = urgency == "1" ? "High" : urgency == "2" ? "Medium" : urgency == "3" ? "Low" : "NA"; var priority = selectedNode["priority"].ToString(); incidentDetail.Priority = priority == "1" ? "Critical" : priority == "2" ? "High" : priority == "3" ? "Moderate" : priority == "4" ? "Low" : "NA"; // selectedNode["u_opened_by_group"].ToString() var openByGroup = selectedNode["u_opened_by_group"]; if (openByGroup.HasValues) { var sysId = openByGroup["value"].ToString(); incidentDetail.OpenedByGroup = GetGroupName(assignedGroupEndPoint + $"{sysId}", sysId); } var closedBy = selectedNode["closed_by"]; if (closedBy.HasValues) { var closedSysId = closedBy["value"].ToString(); incidentDetail.ClosedByGroup = GetGroupName(assignedGroupEndPoint + $"{closedSysId}", closedSysId); } var assignedGroup = selectedNode["assignment_group"]; if (assignedGroup.HasValues) { var assignedSysId = assignedGroup["value"].ToString(); incidentDetail.AssignedToGroup = GetGroupName(assignedGroupEndPoint + $"{assignedSysId}", assignedSysId); } } else { incidentDetail = null; } } } } } catch (Exception ex) { throw; } return(incidentDetail); }
private void MergeNewValuesWithOriginal(IncidentDetailModel modelFromView) { //***************************The values that are display only will not be posted back so need to get them from session************************** IncidentDetailModel OriginalValuesFromSession = sessionManager.CurrentIncidentDetail; }