Example #1
0
        public AirQualitySubmissionType GetAirQualityData(string imputPath, AqsFileType fileType, string format, IAppendAuditLogEvent appendAuditLogProvider)
        {
            try
            {
                IAbstractHeader <AirQualitySubmissionType> mappedParser = GetAqsHeader(fileType, format)
                                                                          .Materialize(GetValueMappings(format))
                                                                          .Materialize(GetColumnMappings(format));


                Windsor.Commons.Core.CommaSeparatedFileParser parser = new Windsor.Commons.Core.CommaSeparatedFileParser(imputPath);
                while (parser.NextLine())
                {
                    mappedParser.ConsumeRow(parser);
                }

                return(mappedParser.Resolve());
            }
            catch (Exception x)
            {
                appendAuditLogProvider.AppendAuditLogEvent(x.Message);
                throw;
            }
        }
Example #2
0
        private AqsRawResults GetAqsHeader(AqsFileType fileType, string format)
        {
            switch (fileType)
            {
            case AqsFileType.rawResults:
                var columns = new List <string>();
                columns.Add("ALTERNATE_MDL_VALUE");
                columns.Add("APPLICABLE_NAAQS_IND");
                columns.Add("AQCR_CD");
                columns.Add("CENSUS_BLOCK_CD");
                columns.Add("CENSUS_BLOCK_GRP_CD");
                columns.Add("CENSUS_TRACT_CD");
                columns.Add("CITY_CD");
                columns.Add("CLASS_AREA_CD");
                columns.Add("CMNTY_MONITOR_ZONE");
                columns.Add("COMPOSITE_TYPE_ID");
                columns.Add("CONG_DIST_CODE");
                columns.Add("COUNTY_CD");
                columns.Add("DATA_APPROVAL_IND");
                columns.Add("DATA_VALIDITY_CD");
                columns.Add("DIR_FROM_CITY_CD");
                columns.Add("DIR_TO_MET_SITE_CODE");
                columns.Add("DIST_FROM_CITY_MSR");
                columns.Add("DIST_TO_MET_SITE_MSR");
                columns.Add("DOMINANT_SCR_TXT");
                columns.Add("DURATION_CD");
                columns.Add("FACILITY_SITE_ID");
                columns.Add("FREQUENCY_CD");
                columns.Add("HORIZ_COL_MTHD");
                columns.Add("HORIZ_DIST_MSR");
                columns.Add("HORIZ_REF_DATUM");
                columns.Add("HORIZONTAL_ACCURACY");
                columns.Add("HQ_EVAL_DATE");
                columns.Add("LAND_USE_ID");
                columns.Add("LATITUDE");
                columns.Add("LOC_ADDR_TEXT");
                columns.Add("LOC_SETTING_ID");
                columns.Add("LOCAL_ID");
                columns.Add("LOCAL_NAME");
                columns.Add("LOCAL_REGION_CD");
                columns.Add("LONGITUDE");
                columns.Add("MEASURE_UNIT_CD");
                columns.Add("MEASURE_VALUE");
                columns.Add("MEASUREMENT_SCALE_ID");
                columns.Add("MET_SITE_ID");
                columns.Add("MET_SITE_TYPE_CD");
                columns.Add("METHOD_ID_CD");
                columns.Add("MONITOR_CLOSE_DATE");
                columns.Add("NON_STATE_CD");
                columns.Add("NULL_DATA_CD");
                columns.Add("OPEN_PATH_ID");
                columns.Add("POSTAL_CODE");
                columns.Add("PROBE_HEIGHT_MSR");
                columns.Add("PROBE_LOC_CODE");
                columns.Add("PROJECT_CLASS_CD");
                columns.Add("REG_EVAL_DATE");
                columns.Add("SAMPLE_RESID_TIME");
                columns.Add("SCHED_EXEMPT_IND");
                columns.Add("SITE_EST_DATE");
                columns.Add("SITE_TERM_DATE");
                columns.Add("SMPL_COLL_START_DATE");
                columns.Add("SMPL_COLL_START_TIME");
                columns.Add("SPACIAL_AVG_IND");
                columns.Add("SRC_MAP_SCALE_NBR");
                columns.Add("STATE_CD");
                columns.Add("SUBST_ID");
                columns.Add("SUBST_OCCURENCE_CD");
                columns.Add("SUPPORT_AGENCY_CD");
                columns.Add("SURROGATE_IND");
                columns.Add("TIME_ZONE_NAME");
                columns.Add("TRIBAL_CD");
                columns.Add("UNCERTAINTY_VALUE");
                columns.Add("UNRESTR_AIR_FLOW_IND");
                columns.Add("URBAN_AREA_CD");
                columns.Add("UTM_EASTING");
                columns.Add("UTM_NORTHING");
                columns.Add("UTM_ZONE_CD");
                columns.Add("VERT_DIST_MSR");
                columns.Add("VERTICAL_ACCR_MSR");
                columns.Add("VERTICAL_DATUM_ID");
                columns.Add("VERTICAL_MEASURE");
                columns.Add("VERTICAL_MTHD_CD");
                columns.Add("WORST_SITE_TYPE_CD");
                columns.Add("MONITOR.ACTION_CD");
                columns.Add("RESULT.ACTION_CD");
                return(new AqsRawResults(columns, _baseDao, format));   // _action,

            default:
                throw new ArgumentOutOfRangeException("Unknown file type.");
            }
        }