コード例 #1
0
ファイル: SearchV2.cs プロジェクト: amundn/naturtypekart
        private List <NatureArea> GetNatureAreaInfos(SqlConnection sqlConnection, SqlBuilder builder, SqlBuilder.Template template, int infoLevel)
        {
            var natureAreas = new List <NatureArea>();

            builder.Select("na.id AS Id, na.localId AS LocalId, na.naturnivå_id AS NaturnivaId, na.kartlagt AS Kartlagt, na.institusjon AS Institusjon" + (infoLevel == 2 ? ", na.kartlegger_id AS KartleggerId" : string.Empty));

            string sql = template.RawSql;

            var infos = sqlConnection.Query <NatureAreaInfoDto>(sql, template.Parameters).ToList();

            foreach (var info in infos)
            {
                var natureArea = new NatureAreaExport
                {
                    Id       = info.Id,
                    UniqueId = new Identification {
                        LocalId = info.LocalId
                    },
                    Nivå        = (NatureLevel)info.NaturnivaId,
                    Surveyed    = info.Kartlagt,
                    Institution = info.Institusjon
                };

                if (infoLevel == 2 && info.KartleggerId.HasValue)
                {
                    natureArea.Surveyer = new Contact {
                        Id = info.KartleggerId.Value
                    };
                }

                natureAreas.Add(natureArea);
            }

            if (infoLevel == 1)
            {
                natureAreas = SqlServer.SetParameters(sql.Contains("WHERE"), natureAreas).ToList();
            }
            else if (infoLevel == 2)
            {
                SqlServer.SetMetadata(natureAreas);
            }

            return(natureAreas);
        }
コード例 #2
0
        private static Collection <NatureAreaExport> FindNatureAreasBySearchFilter(
            SearchFilterRequest searchFilterRequest)
        {
            var metadatas = FindMetadatasBySearchFilter(searchFilterRequest);

            var natureAreaExports = new Collection <NatureAreaExport>();

            foreach (var metadata in metadatas)
            {
                foreach (var natureArea in metadata.NatureAreas)
                {
                    var natureAreaExport =
                        new NatureAreaExport(natureArea)
                    {
                        MetadataContractor  = metadata.Contractor.Company,
                        MetadataProgram     = metadata.Program,
                        MetadataSurveyScale = metadata.SurveyScale
                    };
                    natureAreaExports.Add(natureAreaExport);
                }
            }

            return(natureAreaExports);
        }