Esempio n. 1
0
        /// <summary>
        /// Salva a coleção de códigos CEST em arquivo Json.
        /// </summary>
        /// <param name="cests">Coleção de códigos CEST.</param>
        /// <param name="path">Local do salvamento.</param>
        public static void SaveToJson(this CestCollection cests, string path)
        {
            string   json         = JsonConvert.SerializeObject(cests);
            DateTime dateTime     = DateTime.Now;
            string   fileName     = $"CodeMiner_CEST_{ dateTime.Year }_{ dateTime.Month }_{ dateTime.Day }_{ dateTime.Hour }_{ dateTime.Minute }_{ dateTime.Second }.json";
            string   fullFilePath = Path.Combine(path, fileName);

            File.WriteAllText(fullFilePath, json, Encoding.UTF8);
        }
Esempio n. 2
0
        /// <summary>
        /// Obtém uma coleção de códigos CEST.
        /// </summary>
        /// <param name="htmlNodes">Nodos com os códigos CEST.</param>
        /// <returns>Coleção de códigos CEST.</returns>
        public static CestCollection GetCestCollection(this IEnumerable <HtmlNode> htmlNodes)
        {
            CestCollection cests = new CestCollection();

            foreach (HtmlNode htmlNode in htmlNodes)
            {
                AddToCollection(htmlNode, cests);
            }
            return(cests);
        }
Esempio n. 3
0
        /// <summary>
        /// Caso válido, adiciona o código CEST à coleção. Caso ele já esteja presente, verifica se existem NCMs para adicionar.
        /// </summary>
        /// <param name="htmlNode">Nodo com o código CEST.</param>
        /// <param name="cests">Coleção de códigos CEST.</param>
        static void AddToCollection(HtmlNode htmlNode, CestCollection cests)
        {
            HtmlNodeCollection htmlNodeCollection = htmlNode.SelectNodes("td");
            string             value = htmlNodeCollection[1].InnerText.Clean();

            string[] ncms        = htmlNodeCollection[2].InnerText.CleanAndSplit();
            string   description = htmlNodeCollection[3].InnerText.Trim();

            if (value.Equals("CEST", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }
            Cest cest = new Cest()
            {
                Description = description,
                Value       = value
            };

            cest.Ncms.AddRange(ncms);
            cests.Add(cest);
        }