public FATCA_OECD ParseData(IEnumerable <string[]> FATCAData)
        {
            FATCA_OECD FATCAObj = new FATCA_OECD();

            int  line         = 0;
            bool errorsInFile = false;

            foreach (var item in FATCAData)
            {
                line++;

                try
                {
                    if (FATCAValidator.Validate(item))
                    {
                        FATCAMapper.Map(item, ref FATCAObj);
                    }
                }
                catch (Exception ex)
                {
                    applicationLog.LogError(ex, $"Error en la linea:{line}");
                    errorsInFile = true;
                }
            }

            if (errorsInFile)
            {
                throw new ArgumentException("Se han encontrado errores en el archivo, revise el Log del proceso");
            }


            return(FATCAObj);
        }
Exemple #2
0
        public void ProcessFATCA()
        {
            try
            {
                var FACTData = FATCADataProvider.GetFATCAData();

                if (FACTData.Count() > 0)
                {
                    var FACTRecords = FATCAParser.ParseData(FACTData);
                    FATCAFileGenerator.GenerateFile(FACTRecords);
                }
            }
            catch (Exception ex)
            {
                applicationLog.LogError(ex, "Error al procesar archivo");
            }
        }