Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }