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

            File.WriteAllText(fullFilePath, json, Encoding.Default);
        }
Esempio n. 2
0
        /// <summary>
        /// Obtém uma coleção de códigos CFOP.
        /// </summary>
        /// <param name="lines">As linhas com os códigos CFOP.</param>
        /// <param name="log">O arquivo de Log.</param>
        /// <returns>A coleção de códigos CFOP.</returns>
        public static CfopCollection GetCfopCollection(this string[] lines, Log log)
        {
            CfopCollection cfops = new CfopCollection();

            for (int i = 1; i < lines.Length; i++)
            {
                TryAdd(lines[i], cfops, log);
            }
            return(cfops);
        }
Esempio n. 3
0
        /// <summary>
        /// Caso possível, adiciona o código CFOP da linha à coleção.
        /// </summary>
        /// <param name="line">A linha para adição.</param>
        /// <param name="cfops">A coleção.</param>
        /// <param name="log">O arquivo de Log.</param>
        static void TryAdd(string line, CfopCollection cfops, Log log)
        {
            string[] parts = line.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
            if (parts.Length < 3 || parts.Length > 4)
            {
                throw new InvalidDataException("A linha é inválida.");
            }
            string value       = parts[0];
            string description = parts[1];

            if (!Validate(value, parts, log))
            {
                return;
            }
            Cfop cfop = new Cfop()
            {
                Description = description,
                Value       = value
            };

            cfops.Add(cfop);
        }