示例#1
0
        public void ReadDataFromCsvFile_OverridesProvidedFields_CSVFieldOverridesProvided()
        {
            var               mockLogger       = new Mock <ILogger>();
            string            testFile         = "../../../Utilities/validdata.csv";
            CSVFieldOverrides withoutOverrides = new CSVFieldOverrides();

            Dictionary <string, string> fields = new Dictionary <string, string>();

            fields.Add("FIRST_NAME", "FIRST_NAME");
            fields.Add("LAST_NAME", "LAST_NAME");
            fields.Add("EMAIL", "EMAIL");
            fields.Add("SUPERVISOR", "SUPERVISOR");
            fields.Add("EMPLOYEE_ID", "EMPLOYEE_ID");
            fields.Add("LOCATION_TITLE", "LOCATION_TITLE");
            fields.Add("LOCATION_ABR", "LOCATION_ABR");
            fields.Add("GROUP_TITLE", "GROUP_TITLE");
            fields.Add("GROUP_ABR", "GROUP_ABR");
            CSVFieldOverrides withOverrides = new CSVFieldOverrides();

            withOverrides.Fields = fields;

            EverfiCSVReader reader = new EverfiCSVReader(mockLogger.Object, withOverrides);
            var             usersFromCSVWithOverride = reader.ReadDataFromCsvFile(testFile).ToList();

            foreach (var field in fields)
            {
                foreach (var user in usersFromCSVWithOverride)
                {
                    Assert.Matches(field.Value, user.GetType().GetProperty(field.Key).GetValue(user).ToString());
                }
            }
        }
示例#2
0
        public EverfiCSVReader(ILogger logger, CSVFieldOverrides fieldOverrides)
        {
            this.logger = logger;
            CsvParserOptions options = new CsvParserOptions(DEFAULT_CONTAINS_HEADER, DEFAULT_DELIMETER);

            parser = new CsvParser <EverfiUser>(options, new EverfiUserModelMapping());
            this.fieldOverrides = fieldOverrides;
        }
 public Application(AppConfiguration configuration, CSVFieldOverrides fieldOverrides, ILogger logger)
 {
     this.configuration  = configuration;
     this.fieldOverrides = fieldOverrides;
     this.logger         = logger;
     try
     {
         timeStamp         = DateTime.Now;
         fileArchiver      = new FileArchiver(this.timeStamp, this.logger);
         this.templateFile = new FileInfo(Environment.ExpandEnvironmentVariables(configuration.ExcelTemplatePath));
         this.csvFile      = new FileInfo(Environment.ExpandEnvironmentVariables(configuration.CSVReportPath));
     }
     catch (Exception ex)
     {
         logger.Error("Failed to parse file paths | Reason: {0}", ex);
         Environment.Exit(0);
     }
 }