private List<Alert> getNewAlerts(string ddc)
        {
            string endDate = DateTime.UtcNow.ToString("yyyy-MM-dd");
            string endTime = DateTime.UtcNow.ToString("HH:mm:ss");
            string startTime = DateTime.UtcNow.AddMinutes(-1).ToString("HH:mm:ss");
            string odatastart = endDate + "T" + startTime;
            string odataend = endDate + "T" + endTime;
           string Odataurl = "http://" + ddc + "/Citrix/Monitor/OData/v3/data/Notifications()?";// Notifications()?$filter=NotificationRule/IsAggregate eq false and NotificationPriority eq 1 and LifecycleState eq 1
            string param = "$filter=NotificationRule/IsAggregate eq false  and LifecycleState eq 1 and FirstTimeNotificationTriggered gt datetime'" + odatastart + "'";// +" or NotificationStateChangeDate gt datetime'"+ odatastart+"'";
            string Odataquery = Odataurl + param;
            string Odatadetails = "http://" + ddc + "/Citrix/Monitor/OData/v3/methods/GetNotificationDetails()?";

            XmlDocument odataresult = doOdataquery(Odataquery);
            XmlNamespaceManager ns = new XmlNamespaceManager(odataresult.NameTable);
            ns.AddNamespace("d", "http://schemas.microsoft.com/ado/2007/08/dataservices");
            XmlNodeList entry = odataresult.GetElementsByTagName("entry");
            //XmlNodeList alertlist = content[0].ChildNodes;
            List<Alert> alertobjlist = new List<Alert>();
            foreach (XmlNode node in entry)
            {
                XmlNode Id = node.SelectSingleNode(".//d:Id", ns);
                string notificationId = Id.InnerText;
                string odataquery = "notificationId=" + "'" + notificationId + "'" + "&sortField='Date'&sortOrder='Desc'&offset=0&count=50";
                XmlDocument result = doOdataquery(Odatadetails + odataquery);
                // XmlNodeList parentNode = result.GetElementsByTagName("GetNotificationDetails");
                XmlNode scope = result.SelectSingleNode(".//d:ScopeName", ns);
                XmlNode source = result.SelectSingleNode(".//d:TargetName", ns);
                XmlNode category = result.SelectSingleNode(".//d:Category", ns);
                XmlNode condition = result.SelectSingleNode(".//d:Threshold", ns);
                XmlNode state = result.SelectSingleNode(".//d:NotificationState", ns);
                Alert obj = new Alert();
                obj.scope = scope.InnerText;
                obj.source = source.InnerText;
                obj.condition = category.InnerText + " >= " + condition.InnerText;

                switch (state.InnerText)
                {
                    case "1": obj.severity = "Warning"; break;
                    case "2": obj.severity = "Critical"; break;
                    case "3": continue;
                    case "4": continue;
                    default: continue;
                }
                alertobjlist.Add(obj);

            }
            return alertobjlist;
        }
        private List<Alert> getLastTwoHourAlerts(string ddcip)
        {
            string endDate = DateTime.UtcNow.ToString("yyyy-MM-dd");
            string endTime = DateTime.UtcNow.ToString("HH:mm:ss");
            string startTime = DateTime.UtcNow.AddHours(-2).ToString("HH:mm:ss");
            string odatastart = endDate + "T" + startTime;
            string odataend = endDate + "T" + endTime;
            string Odataurl = "http://" + ddcip + "/Citrix/Monitor/OData/v3/methods/GetNotificationSummary()?";// notificationTypeFilterString=''&notificationSourceTypeFilter=''&sourceId=''&categoryFilterString=''&startDate=datetime'2015-10-28T13:07:00'&endDate=datetime'2015-10-28T15:07:00'&sortField='Date'&sortOrder='Desc'&offset=0&count=50";
            string param = "notificationTypeFilterString=" + "'" + "'&" + "source=" + "'" + "'&" + "categoryFilterString=" + "'" + "'&" + "startDate=datetime" + "'" + odatastart + "'&" + "endDate=datetime" + "'" + odataend + "'&" + "sortField='Date'&sortOrder='Asc'&offset=0&count=50";
            string Odataquery = Odataurl + param;
            try
            {
                XmlDocument odataresult = doOdataquery(Odataquery);
                XmlNamespaceManager ns = new XmlNamespaceManager(odataresult.NameTable);
                ns.AddNamespace("d", "http://schemas.microsoft.com/ado/2007/08/dataservices");
                ns.AddNamespace("m", "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata");
                XmlNodeList entry = odataresult.GetElementsByTagName("entry");
                Console.WriteLine(entry.Count);
                //XmlNodeList alertlist = content[0].ChildNodes;
                List<Alert> alertobjlist = new List<Alert>();

                foreach (XmlNode node in entry)
                {

                    Alert obj = new Alert();
                    XmlNode scope = node.SelectSingleNode(".//d:Scope", ns);
                    XmlNode source = node.SelectSingleNode(".//d:SourceName", ns);
                    XmlNode category = node.SelectSingleNode(".//d:Category", ns);
                    XmlNode condition = node.SelectSingleNode(".//d:Threshold", ns);
                    XmlNode state = node.SelectSingleNode(".//d:NotificationState", ns);
                    XmlNode pname = node.SelectSingleNode(".//d:PolicyName", ns);
                    XmlNode id = node.SelectSingleNode(".//d:NotificationId", ns);
                    obj.scope = scope.InnerText;
                    obj.source = source.InnerText;
                    obj.condition = category.InnerText + " >= " + condition.InnerText;
                    Console.WriteLine(state.InnerText);
                    Console.WriteLine(pname.InnerText);
                    Console.WriteLine(id.InnerText);
                    switch (state.InnerText)
                    {
                        case "1": obj.severity = "Warning"; break;
                        case "2": obj.severity = "Critical"; break;
                        case "3": continue;
                        case "4": continue;
                        default: continue;
                    }
                    alertobjlist.Add(obj);
                    Console.Write(scope.Value);

                }
                //Console.Write(odataresult);
                return alertobjlist;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Data);
                return null;
            }
        }