コード例 #1
0
        internal string Execute(DateTime changeDate, string targetXmlPath, ISerializationHelper serializationHelper,
                                ICompressionHelper compressionHelper, HEREBaseService hereBaseService)
        {
            hereBaseService.AppendAuditLogEvent("Getting data.");

            CAFO ds = _dbService.GetCAFOAddData(changeDate);

            hereBaseService.AppendAuditLogEvent("Data retrieved. (Record Count = {0}).", ds.CAFO_FAC.Rows.Count);

            hereBaseService.AppendAuditLogEvent("Transforming results.");

            CAFOFacilityList facs = CAFOTransform.Transform(ds);

            if (facs == null || facs.CAFOFacilities == null || facs.CAFOFacilities.Count == 0)
            {
                return(null);
            }
            else
            {
                hereBaseService.AppendAuditLogEvent("Results transformed: (Record Count: {0})", facs.CAFOFacilities.Count);

                hereBaseService.AppendAuditLogEvent(
                    "Serializing transformed results to file (File = {0}).",
                    targetXmlPath);

                serializationHelper.Serialize(facs, targetXmlPath);

                return(compressionHelper.CompressFile(targetXmlPath));
            }
        }
コード例 #2
0
ファイル: CAFOData.cs プロジェクト: hkbadeq/opennode2-dotnet
        public CAFO GetCAFOAddData(DateTime changeDate)
        {
            CAFO dsCAFO = new CAFO();

            string columnNames = "ChangeDate;ListIndex";
            string procName    = "CAFO_GetCAFOByChangeDate";

            DataTable[] tables = new DataTable[]
            { dsCAFO.CAFO_FAC, dsCAFO.CAFO_GEO, dsCAFO.CAFO_ANIMAL, dsCAFO.CAFO_ADD,
              dsCAFO.CAFO_REG_DTLS, dsCAFO.CAFO_PERMIT };

            for (int i = 0; i < tables.Length; ++i)
            {
                _baseDao.FillTableFromStoredProc(tables[i], procName, columnNames, changeDate, i);
            }

            dsCAFO.AcceptChanges();

            return(dsCAFO);
        }
コード例 #3
0
        internal static CAFOFacilityList Transform(CAFO ds)
        {
            CAFOFacilityList list = new CAFOFacilityList();

            list.CAFOFacilities = new List <CAFOFacilityDataType>();

            foreach (CAFO.CAFO_FACRow facRow in ds.CAFO_FAC.Rows)
            {
                //NOTE: I don't think we need the identifier class
                #region Facilty Level Properties
                CAFOFacilityDataType facCAFO = new CAFOFacilityDataType();
                facCAFO.FacilitySiteName        = facRow.FacilitySiteName;
                facCAFO.FacilityAlternativeName = facRow.FacilityAltName;
                facCAFO.FacilityInformationURL  = facRow.FacilityInfoURL;

                if (!string.IsNullOrEmpty(facRow.FacilityRegistryID))
                {
                    facCAFO.FacilityRegistryIdentifier       = new FacilitySiteIdentifierDataType();
                    facCAFO.FacilityRegistryIdentifier.Value = facRow.FacilityRegistryID;
                }

                if (!string.IsNullOrEmpty(facRow.StateFacilityID))
                {
                    facCAFO.StateFacilityIdentifier       = new FacilitySiteIdentifierDataType();
                    facCAFO.StateFacilityIdentifier.Value = facRow.StateFacilityID;
                }

                #endregion

                #region Geographic Coordinates
                foreach (CAFO.CAFO_GEORow geoRow in facRow.GetCAFO_GEORows())
                {
                    facCAFO.GeographicLocation = new GeographicLocationDataType();

                    facCAFO.GeographicLocation.LatitudeMeasureDecimal    = geoRow.Latitude;
                    facCAFO.GeographicLocation.LongitudeMeasureDecimal   = geoRow.Longitude;
                    facCAFO.GeographicLocation.HydrologicUnitCode        = geoRow.HydrologicUnitCode;
                    facCAFO.GeographicLocation.LocationCommentsText      = geoRow.LocationComments;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure = new MeasureDataType();
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasurePrecisionText        = geoRow.PrecText;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureValue                = geoRow.HorizAccurValue;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureUnit                 = new MeasureUnitDataType();
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureUnit.MeasureUnitCode = geoRow.HorizAccurUnitCode;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureUnit.MeasureUnitCodeListIdentifier       = new MeasureUnitCodeListIdentifierDataType();
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureUnit.MeasureUnitCodeListIdentifier.Value = geoRow.HorizAccurUnitCodeListID;


                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.MeasureUnit.MeasureUnitName         = geoRow.HorizAccurUnitName;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.ResultQualifier                     = new ResultQualifierDataType();
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.ResultQualifier.ResultQualifierCode = geoRow.ResultQualCode;
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.ResultQualifier.ResultQualifierCodeListIdentifier       = new ResultQualifierCodeListIdentifierDataType();
                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.ResultQualifier.ResultQualifierCodeListIdentifier.Value = geoRow.ResultQualCodeListID;

                    facCAFO.GeographicLocation.HorizontalAccuracyMeasure.ResultQualifier.ResultQualifierName = geoRow.ResultQualName;
                    facCAFO.GeographicLocation.HorizontalMethod                       = new ReferenceMethodDataType();
                    facCAFO.GeographicLocation.HorizontalMethod.MethodName            = geoRow.HorizMethodName;
                    facCAFO.GeographicLocation.HorizontalMethod.MethodDescriptionText = geoRow.HorizMethodDesc;
                    facCAFO.GeographicLocation.HorizontalMethod.MethodDeviationsText  = geoRow.HorizMethodDeviations;
                    facCAFO.GeographicLocation.HorizontalMethod.MethodIdentifierCode  = geoRow.HorizMethodIDCode;

                    if (!string.IsNullOrEmpty(geoRow.HorizMethodIDCodeListID))
                    {
                        facCAFO.GeographicLocation.HorizontalMethod.MethodIdentifierCodeListIdentifier       = new MethodIdentifierCodeListIdentifierDataType();
                        facCAFO.GeographicLocation.HorizontalMethod.MethodIdentifierCodeListIdentifier.Value = geoRow.HorizMethodIDCodeListID;
                    }
                }
                #endregion

                #region Address
                foreach (CAFO.CAFO_ADDRow addRow in facRow.GetCAFO_ADDRows())
                {
                    facCAFO.LocationAddress = new LocationAddressDataType();

                    facCAFO.LocationAddress.LocationAddressText     = addRow.LocationAddress;
                    facCAFO.LocationAddress.SupplementalAddressText = addRow.SupplementalAddress;
                    facCAFO.LocationAddress.LocalityName            = addRow.LocalityName;
                    facCAFO.LocationAddress.CountyName    = addRow.CountyName;
                    facCAFO.LocationAddress.StateName     = addRow.StateName;
                    facCAFO.LocationAddress.StateUSPSCode = addRow.StateUSPSCode;
                    if (!string.IsNullOrEmpty(addRow.AddressPostalCode))
                    {
                        facCAFO.LocationAddress.AddressPostalCode       = new AddressPostalCodeDataType();
                        facCAFO.LocationAddress.AddressPostalCode.Value = addRow.AddressPostalCode;
                    }
                }
                #endregion

                #region Animals
                foreach (CAFO.CAFO_ANIMALRow aniRow in facRow.GetCAFO_ANIMALRows())
                {
                    if (facCAFO.AnimalTypeList == null)
                    {
                        facCAFO.AnimalTypeList = new List <AnimalTypeDataType>();
                    }
                    AnimalTypeDataType aniDtl = new AnimalTypeDataType();

                    aniDtl.AnimalTypeCode                           = aniRow.AnimalTypeCode;
                    aniDtl.AnimalTypeName                           = aniRow.AnimalTypeName;
                    aniDtl.TotalNumbersEachLivestock                = aniRow.TotalNumsEachLivestock;
                    aniDtl.TotalNumbersEachLivestockSpecified       = true;
                    aniDtl.HousedUnderRoofConfinementCount          = aniRow.HousedUnderRoofCount;
                    aniDtl.HousedUnderRoofConfinementCountSpecified = true;
                    aniDtl.OpenConfinementCount                     = aniRow.OpenCount;
                    aniDtl.OpenConfinementCountSpecified            = true;

                    facCAFO.AnimalTypeList.Add(aniDtl);
                }
                #endregion

                #region Regulatory Details
                foreach (CAFO.CAFO_REG_DTLSRow regRow in facRow.GetCAFO_REG_DTLSRows())
                {
                    facCAFO.RegulatoryDetails = new RegulatoryDetailsDataType();

                    facCAFO.RegulatoryDetails.DischargesFromProductionAreaIndicator          = regRow.DischrgFromProdArea;
                    facCAFO.RegulatoryDetails.DischargesFromProductionAreaIndicatorSpecified = true;
                    facCAFO.RegulatoryDetails.AuthorizedDischargeIndicator                   = regRow.AuthorizedDischarge;
                    facCAFO.RegulatoryDetails.AuthorizedDischargeIndicatorSpecified          = true;
                    facCAFO.RegulatoryDetails.UnauthorizedDischargeIndicator                 = regRow.UnauthorizedDischarge;
                    facCAFO.RegulatoryDetails.UnauthorizedDischargeIndicatorSpecified        = true;
                    facCAFO.RegulatoryDetails.PermittingAuthorityReportReceivedDate          = regRow.PermittingAuthRepRecDate;
                    facCAFO.RegulatoryDetails.PermittingAuthorityReportReceivedDateSpecified = true;
                    facCAFO.RegulatoryDetails.IsAnimalFacilityTypeCAFOIndicator              = regRow.IsAnimalFacilityTypeCAFO;
                    facCAFO.RegulatoryDetails.IsAnimalFacilityTypeCAFOIndicatorSpecified     = true;

                    facCAFO.RegulatoryDetails.NMPDevelopedCertifiedPlannerApprovedIndicator          = regRow.NMPDevCertPlanApproved;
                    facCAFO.RegulatoryDetails.NMPDevelopedCertifiedPlannerApprovedIndicatorSpecified = true;
                    facCAFO.RegulatoryDetails.TotalNumberAcresNMPIdentified                = regRow.TotalNumAcresNMPIdentified;
                    facCAFO.RegulatoryDetails.TotalNumberAcresNMPIdentifiedSpecified       = true;
                    facCAFO.RegulatoryDetails.TotalNumberAcresUsedLandApplication          = regRow.TotalNumAcresUsedLandApp;
                    facCAFO.RegulatoryDetails.TotalNumberAcresUsedLandApplicationSpecified = true;

                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount = new MeasureDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasurePrecisionText = regRow.SolManurePrec;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureValue         = regRow.SolManureValue;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.ResultQualifier      = new ResultQualifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.ResultQualifier.ResultQualifierCode = regRow.SolManureResultCode;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.ResultQualifier.ResultQualifierCodeListIdentifier       = new ResultQualifierCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.ResultQualifier.ResultQualifierCodeListIdentifier.Value = regRow.SolManureResultCodeListID;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.ResultQualifier.ResultQualifierName = regRow.SolManureResultName;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureUnit = new MeasureUnitDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureUnit.MeasureUnitCode = regRow.SolManureUnitCode;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureUnit.MeasureUnitName = regRow.SolManureUnitName;
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureUnit.MeasureUnitCodeListIdentifier       = new MeasureUnitCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterGeneratedAmount.MeasureUnit.MeasureUnitCodeListIdentifier.Value = regRow.SolManureUnitCodeListID;

                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount = new MeasureDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasurePrecisionText = regRow.LiqManurePrec;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureValue         = regRow.LiqManureValue;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.ResultQualifier      = new ResultQualifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.ResultQualifier.ResultQualifierCode = regRow.LiqManureResultCode;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.ResultQualifier.ResultQualifierCodeListIdentifier       = new ResultQualifierCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.ResultQualifier.ResultQualifierCodeListIdentifier.Value = regRow.LiqManureResultCodeListID;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.ResultQualifier.ResultQualifierName = regRow.LiqManureResultName;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureUnit = new MeasureUnitDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureUnit.MeasureUnitCode = regRow.LiqManureUnitCode;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureUnit.MeasureUnitName = regRow.LiqManureUnitName;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureUnit.MeasureUnitCodeListIdentifier       = new MeasureUnitCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterGeneratedAmount.MeasureUnit.MeasureUnitCodeListIdentifier.Value = regRow.LiqManureUnitCodeListID;

                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount = new MeasureDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasurePrecisionText = regRow.LiqManureTranPrec;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureValue         = regRow.LiqManureTranValue;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.ResultQualifier      = new ResultQualifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.ResultQualifier.ResultQualifierCode = regRow.LiqManureTranResultCode;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.ResultQualifier.ResultQualifierCodeListIdentifier       = new ResultQualifierCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.ResultQualifier.ResultQualifierCodeListIdentifier.Value = regRow.LiqManureTranResultCodeListID;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.ResultQualifier.ResultQualifierName = regRow.LiqManureTranResultName;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureUnit = new MeasureUnitDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureUnit.MeasureUnitCode = regRow.LiqManureTranUnitCode;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureUnit.MeasureUnitName = regRow.LiqManureTranUnitName;
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureUnit.MeasureUnitCodeListIdentifier       = new MeasureUnitCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.LiquidManureWastewaterTransferAmount.MeasureUnit.MeasureUnitCodeListIdentifier.Value = regRow.LiqManureTranUnitCodeListID;

                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount = new MeasureDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasurePrecisionText = regRow.SolManureTranPrec;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureValue         = regRow.SolManureTranValue;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.ResultQualifier      = new ResultQualifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.ResultQualifier.ResultQualifierCode = regRow.SolManureTranResultCode;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.ResultQualifier.ResultQualifierCodeListIdentifier       = new ResultQualifierCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.ResultQualifier.ResultQualifierCodeListIdentifier.Value = regRow.SolManureTranResultCodeListID;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.ResultQualifier.ResultQualifierName = regRow.SolManureTranResultName;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureUnit = new MeasureUnitDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureUnit.MeasureUnitCode = regRow.SolManureTranUnitCode;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureUnit.MeasureUnitName = regRow.SolManureTranUnitName;
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureUnit.MeasureUnitCodeListIdentifier       = new MeasureUnitCodeListIdentifierDataType();
                    facCAFO.RegulatoryDetails.SolidManureLitterTransferAmount.MeasureUnit.MeasureUnitCodeListIdentifier.Value = regRow.SolManureTranUnitCodeListID;


                    #region Permit
                    foreach (CAFO.CAFO_PERMITRow permRow in regRow.GetCAFO_PERMITRows())
                    {
                        if (facCAFO.RegulatoryDetails.PermitIdentity == null)
                        {
                            facCAFO.RegulatoryDetails.PermitIdentity = new List <PermitIdentityDataType>();
                        }
                        PermitIdentityDataType permitDetail = new PermitIdentityDataType();


                        // NOTE: I think the identifier types generated by xsd.exe are not necessary.
                        permitDetail.PermitName  = permRow.PermitName;
                        permitDetail.ProgramName = permRow.ProgramName;
                        permitDetail.PermitType  = new PermitTypeDataType();
                        permitDetail.PermitType.PermitTypeCode = permRow.PermitTypeCode;
                        permitDetail.PermitType.PermitTypeCodeListIdentifier       = new PermitTypeCodeListIdentifierDataType();
                        permitDetail.PermitType.PermitTypeCodeListIdentifier.Value = permRow.PermitTypeCodeListID;
                        permitDetail.PermitType.PermitTypeName = permRow.PermitTypeName;

                        if (!string.IsNullOrEmpty(permRow.PermitId))
                        {
                            permitDetail.PermitIdentifier       = new PermitIdentifierDataType();
                            permitDetail.PermitIdentifier.Value = permRow.PermitId;
                        }

                        if (!string.IsNullOrEmpty(permRow.OtherPermitId))
                        {
                            permitDetail.OtherPermitIdentifier       = new OtherPermitIdentifierDataType();
                            permitDetail.OtherPermitIdentifier.Value = permRow.OtherPermitId;
                        }

                        facCAFO.RegulatoryDetails.PermitIdentity.Add(permitDetail);
                    }
                    #endregion
                }

                #endregion

                //Keep on the end
                list.CAFOFacilities.Add(facCAFO);
            }

            return(list);
        }