Exemplo n.º 1
0
        /// <summary>
        /// Formato esperado para linha de cliente
        /// 002ç2345675434544345çJose da SilvaçRural
        /// </summary>
        private void processCustomer(FileContent fileContent, string line)
        {
            string[] customerLine = line.Split(_fileImporterConfiguration.separator);
            if (customerLine.Length != 4)
            {
                LoggerService.WriteLog(string.Format("Formato da linha de cliente é inválido, linha ignorada. Linha: {0}", line), LoggerService.LogType.alert);
                return;
            }
            Customer customer = new Customer();

            customer.CNPJ         = customerLine[1];
            customer.Name         = customerLine[2];
            customer.BusinessArea = customerLine[3];

            if (!CPFCNPJValidator.IsCnpj(customer.CNPJ))
            {
                LoggerService.WriteLog(string.Format("Cliente {0} contém um CNPJ inválido. CNPJ: {1}", customer.Name, customer.CNPJ), LoggerService.LogType.alert);
            }

            fileContent.Customers.Add(customer);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Formato esperado para Item da venda
        /// [1-10-100,2-30-2.50,3-40-3.10]
        /// </summary>
        private IEnumerable <SalesItem> processSalesItens(string itensField)
        {
            List <SalesItem> salesItens = new List <SalesItem>();

            try
            {
                string[] itens = itensField.Split(_fileImporterConfiguration.itensInitialMark, _fileImporterConfiguration.itensFinalMark)[1].Split(_fileImporterConfiguration.itensSeparator);
                foreach (string item in itens)
                {
                    SalesItem saleItem = processSalesItem(item);
                    if (saleItem != null)
                    {
                        salesItens.Add(saleItem);
                    }
                }

                return(salesItens);
            }
            catch (Exception ex)
            {
                LoggerService.WriteLog(string.Format("Não foi possível processar a linha de vendas. Itens: {0}", itensField), LoggerService.LogType.error, ex);
                return(salesItens); //Retorna vendas vazia
            }
        }