Ejemplo n.º 1
0
 public SeriesMeta(int id, string dataSource, string name, SeriesTagList tagList)
 {
     this._id = id;
     this._dataSource = dataSource;
     this._name = name;
     this._tagList = tagList;
 }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _tags = SeriesManager.GetSeriesTags(SeriesManager.GetSeriesTagTypes());

            string json = string.Empty;
            StringBuilder sb = new StringBuilder();

            string type = string.Empty;

            foreach (SeriesTag tag in _tags) {

                if (tag.Type != type) {

                    type = tag.Type;
                    if (sb.Length > 0) {

                        json = sb.ToString();
                        json = json.Remove(json.Length - 1); json += "]},";
                        sb = new StringBuilder(); sb.Append(json);
                    };

                    sb.Append("{\"title\": \"" + tag.Type + "\", \"isFolder\": true, \"unselectable\": true, \"expand\": " + (tag.Type == "DATA_SOURCE" ? "true": "false") + ", \"key\": \"" + tag.Type + "\", \"children\": [");
                };

                sb.Append("{\"title\": \"" + tag.Value + "\",  \"isFolder\": true, \"unselectable\": true, \"isLazy\": true, \"key\": \"" + "?tagtype=" + tag.Type + "&tagvalue=" + tag.Value + "\"},");
            };

            json = sb.ToString();
            json = json.Remove(json.Length - 1);
            json = "[" + json + "]}]";

            Response.Write(json);
        }
Ejemplo n.º 3
0
        public static SeriesMetaList GetSeriesMetaList()
        {
            SeriesMetaList list = new SeriesMetaList();

            string data = GetRequest("https://fundalytics.argusmedia.com/datatypes/2013-01-01/00.00");

            XmlDocument xml = new XmlDocument();
            xml.LoadXml(data);

            foreach (XmlNode xmlMeta in xml.SelectNodes("/ArgusFundamentals/DataTypes/DataType")) {

                data = GetRequest("https://fundalytics.argusmedia.com/datatypes/" + xmlMeta.ChildNodes[0].InnerText);

                XmlDocument tagsXML = new XmlDocument();
                tagsXML.LoadXml(data);

                SeriesTagList tags = new SeriesTagList();
                foreach (XmlNode xmlTag in tagsXML.SelectNodes("/ArgusFundamentals/DataType/DataTypeTags/DataTypeTag")) {

                    tags.Add(new SeriesTag(xmlTag.ChildNodes[0].InnerText, xmlTag.ChildNodes[1].InnerText));
                };

                list.Add(new SeriesMeta(Convert.ToInt32(xmlMeta.ChildNodes[0].InnerText), xmlMeta.ChildNodes[1].InnerText, xmlMeta.ChildNodes[2].InnerText, tags));
            };

            return list;
        }
Ejemplo n.º 4
0
        public static SeriesMeta GetSeriesMeta(int id)
        {
            SeriesMeta meta;
            SeriesTagList metaTagList = new SeriesTagList();

            string data = GetRequest("https://fundalytics.argusmedia.com/datatypes/" + id.ToString());

            XmlDocument xml = new XmlDocument();
            xml.LoadXml(data);

            foreach (XmlNode xmlTag in xml.SelectNodes("/ArgusFundamentals/DataType/DataTypeTags/DataTypeTag")) {

                metaTagList.Add(new SeriesTag(xmlTag.ChildNodes[0].InnerText, xmlTag.ChildNodes[1].InnerText));
            };

            meta =
                new SeriesMeta(
                    Convert.ToInt32(xml.SelectSingleNode("/ArgusFundamentals/DataType/Id").InnerText),
                    xml.SelectSingleNode("/ArgusFundamentals/DataType/Source").InnerText,
                    xml.SelectSingleNode("/ArgusFundamentals/DataType/Name").InnerText,
                    metaTagList
                );

            return meta;
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if ((!Request.QueryString.AllKeys.Contains("tagtype")) || (!Request.QueryString.AllKeys.Contains("tagvalue"))) { return; };

            _parentNodes = ParentNodes();
            _seriesMeta = SeriesManager.GetSeriesMeta(SeriesManager.GetSeriesTagTypes(), _parentNodes);

            if (_seriesMeta.Count > MAX_LEAF_NODES) {

                Response.Write(ChildNodesJSON(_seriesMeta, _parentNodes));
            } else {

                Response.Write(LeafNodesJSON(_seriesMeta));
            };
        }
Ejemplo n.º 6
0
        public static SeriesMetaList GetSeriesMeta(IList<string> tagTypes, SeriesTag tag)
        {
            SeriesMetaList _meta = new SeriesMetaList();

            var db = new Database();
            string sql =
                "SELECT " +
                    "DISTINCT CORE_DATUM_TYPE_ID, DATA_SOURCE, NAME, TAG_TYPE, TAG_VALUE, TAG_DESCRIPTION " +
                    "FROM " +
                        "CORE.DATUM_TYPE_TAG " +
                    "WHERE " +
                        "TAG_TYPE IN " + GetTagTypeInClauseValues(tagTypes) + " " +
                    "ORDER BY " +
                        "CORE_DATUM_TYPE_ID, TAG_TYPE, TAG_VALUE ";

            DataTable table = db.GetDataTable(sql);

            int id = 0;
            string dataSource = string.Empty;
            string name = string.Empty;
            SeriesTagList metaTags = new SeriesTagList();

            foreach (DataRow record in table.Rows)
            {

                if (Convert.ToInt32(record["CORE_DATUM_TYPE_ID"]) != id) {

                    if ((id != 0) && (metaTags.ContainsTag(tag)))
                    {
                        _meta.Add(new SeriesMeta(id, dataSource, name, metaTags));
                    };

                    id = Convert.ToInt32(record["CORE_DATUM_TYPE_ID"]);
                    dataSource = record["DATA_SOURCE"].ToString();
                    name = record["NAME"].ToString();

                    metaTags = new SeriesTagList();
                }

                metaTags.Add(new SeriesTag(record["TAG_TYPE"].ToString(), record["TAG_VALUE"].ToString()));
            };

            return _meta;
        }
Ejemplo n.º 7
0
        private string ChildNodesJSON(SeriesMetaList meta, SeriesTagList parentNodes)
        {
            string json = string.Empty;
            StringBuilder sb = new StringBuilder();

            string type = string.Empty;

            foreach (SeriesTag tag in _seriesMeta.DistinctTagList()) {

                if (!parentNodes.ContainsTagType(tag)) {

                    if (tag.Type != type) {

                        type = tag.Type;
                        if (sb.Length > 0) {

                            json = sb.ToString();
                            json = json.Remove(json.Length - 1); json += "]},";
                            sb = new StringBuilder(); sb.Append(json);
                        };

                        sb.Append("{\"title\": \"" + tag.Type + "\", \"isFolder\": true, \"unselectable\": true, \"key\": \"" + tag.Type + "\", \"children\": [");
                    };

                    sb.Append("{\"title\": \"" + tag.Value + "\",  \"isFolder\": true,  \"unselectable\": true, \"isLazy\": true, \"key\": \"" + "?");
                    foreach (SeriesTag node in parentNodes) {

                        sb.Append("&tagtype=" + node.Type + "&tagvalue=" + node.Value);
                    };
                    sb.Append("&tagtype=" + tag.Type + "&tagvalue=" + tag.Value + "\"},");
                };
            };

            json = sb.ToString();

            json = json.Remove(json.Length - 1);
            json = "{\"title\": \"" + meta.Count.ToString() + " matching series\"}," + json;
            json = "[" + json + "]}]";

            return json;
        }
Ejemplo n.º 8
0
        public static SeriesTagList GetSeriesTags(IList<string> tagTypes)
        {
            SeriesTagList _tags = new SeriesTagList();

            var db = new Database();
            string sql =
                "SELECT " +
                    "DISTINCT TAG_TYPE, TAG_VALUE " +
                    "FROM " +
                        "CORE.DATUM_TYPE_TAG " +
                    "WHERE " +
                        "TAG_TYPE IN " + GetTagTypeInClauseValues(tagTypes) + " " +
                    "ORDER BY " +
                        "TAG_TYPE, TAG_VALUE ";

            DataTable table = db.GetDataTable(sql);
            foreach (DataRow record in table.Rows) {

                _tags.Add(new SeriesTag(record["TAG_TYPE"].ToString(), record["TAG_VALUE"].ToString()));
            };

            return _tags;
        }
Ejemplo n.º 9
0
        private SeriesTagList ParentNodes()
        {
            SeriesTagList parentNodes = new SeriesTagList();

            string [] tag_type = Request.QueryString["tagtype"].Split(new char[] { ',' });
            string [] tag_value = Request.QueryString["tagvalue"].Split(new char[] { ',' });

            for (int ix = 0; ix < tag_type.Length; ix++) {

                parentNodes.Add(new SeriesTag(tag_type[ix], tag_value[ix]));
            };

            return parentNodes;
        }
Ejemplo n.º 10
0
        public static IList<SeriesTag> GetTags()
        {
            SeriesTagList tags = new SeriesTagList();

            string data = GetRequest("https://fundalytics.argusmedia.com/tags/");

            XmlDocument xml = new XmlDocument();
            xml.LoadXml(data);

            foreach (XmlNode xmlTag in xml.SelectNodes("/ArgusFundamentals/Tags/Tag")) {

                tags.Add(new SeriesTag(xmlTag.ChildNodes[1].InnerText, xmlTag.ChildNodes[2].InnerText));
            };

            List<SeriesTag> sortedTags = tags.OrderBy(x => x.Value).OrderBy(x => x.Type).ToList();
            return sortedTags;
        }