/// <summary>
        /// createSiteInfoResponse populates a SiteInfoResponseType.
        /// It is used the webmethod getSiteInfo.
        /// designed for multiple site codes
        /// This method will be slow if the information has never been cached.
        /// </summary>
        /// <param name="LocationParams"></param>
        private SiteInfoResponseType CreateSitesResponse(locationParam[] LocationParams)
        {
            /* for each site code, add a siteInfo type with a period of record
             * // for each site
             *     createSitInfoType
             *     add to response
             *     createPeriodOfRecord
             *     add to response
             * return response
             * */
            SiteInfoResponseType response;


            SiteInfoType[] sites = ODSiteInfo.GetSitesByLocationParameters(LocationParams);
            if (sites.Length == 0)
            {
                throw new WaterOneFlowException("No Sites found");
            }
            response = CuahsiBuilder.CreateASetOfSiteResponses(sites.Length, 1);
            for (int i = 0; i < sites.Length; i++)
            {
                response.site[i].siteInfo = sites[i];
                String aSiteID = response.site[i].siteInfo.siteCode[0].siteID;

                // no period of record
            }

            return(response);
        }
Esempio n. 2
0
            /// <summary>
            /// createSiteInfoResponse populates a SiteInfoResponseType.
            /// It is used the webmethod getSiteInfo.
            /// designed for multiple site codes
            /// This method will be slow if the information has never been cached.
            /// </summary>
            /// <param name="sites"></param>
            /// <param name="includeSeries"></param>
            private SiteInfoResponseType CreateSitesResponse(IEnumerable <SiteInfoType> sites, Boolean includeSeries)
            {
                /* for each site code, add a siteInfo type with a period of record
                 * // for each site
                 *     createSitInfoType
                 *     add to response
                 *     createPeriodOfRecord
                 *     add to response
                 * return response
                 * */
                SiteInfoResponseType response;

                response = CuahsiBuilder.CreateASetOfSiteResponses(1, 1);
                List <SiteInfoResponseTypeSite> sitesList =
                    new List <SiteInfoResponseTypeSite>();

                foreach (SiteInfoType site in sites)
                {
                    sitesList.Add(GetSiteInfoOD.CreateSite(site, includeSeries));
                }
                if (sitesList.Count > 0)
                {
                    response.site = sitesList.ToArray();
                }
                else
                {
                    throw new WaterOneFlowException("No Sites found in specified region: ");
                }

                return(response);
            }
        private SiteInfoResponseType createSiteInfoResponse(locationParam[] LocationParameters)
        {
            /* for each site code, add a siteInfo type with a period of record
             * for each site
             *     createSitInfoType
             *     add to response
             *     createPeriodOfRecord
             *     add to response
             * return response
             * */
            SiteInfoResponseType response = CuahsiBuilder.CreateASetOfSiteResponses(LocationParameters.Length, 1);

            for (int i = 0; i < LocationParameters.Length; i++)
            {
                if (LocationParameters[i] == null)
                {
                    continue;
                }

                response.site[i].siteInfo = getSiteInfoType(LocationParameters[i]);
                if (response.site[i].siteInfo != null)
                {
                    String aSiteID = null;

                    Nullable <int> siteIDint = null;
                    try
                    {
                        aSiteID = response.site[i].siteInfo.siteCode[0].siteID;
                    }
                    catch (NullReferenceException e)
                    {
                        String error = " no site code returned for sitecode" + LocationParameters[i];
                        log.Warn(error);
                        response.site[i].seriesCatalog = CreateSeriesCatalogRecord(LocationParameters[i], null);
                    }

                    try
                    {
                        siteIDint = Convert.ToInt32(aSiteID);
                        response.site[i].seriesCatalog = CreateSeriesCatalogRecord(LocationParameters[i], siteIDint);
                    }
                    catch (InvalidCastException e)
                    {
                        String error = " siteID was not an integer" + LocationParameters[i];
                        log.Warn(error);
                        response.site[i].seriesCatalog = CreateSeriesCatalogRecord(LocationParameters[i], null);
                    }
                }
                else
                {
                    String error = " no site code returned for sitecode" + LocationParameters[i];
                    log.Warn(error);
                }
            }

            return(response);
        }
Esempio n. 4
0
            private SiteInfoResponseType createSiteInfoResponse(locationParam[] LocationParameters, Boolean IncludeSeries)
            {
                // WSUtils.removeEmptyStrings(LocationParameters);

                /* for each site code, add a siteInfo type with a period of record
                 * // for each site
                 *     createSitInfoType
                 *     add to response
                 *     createPeriodOfRecord
                 *     add to response
                 * return response
                 * */
                SiteInfoResponseType response = CuahsiBuilder.CreateASetOfSiteResponses(LocationParameters.Length, 1);
                List <locationParam> lpList   = new List <locationParam>(LocationParameters);

                foreach (locationParam lp in lpList)
                {
                    if (lp == null)
                    {
                        lpList.Remove(lp);
                    }
                }
                List <SiteInfoResponseTypeSite> sitesList = new List <SiteInfoResponseTypeSite>(lpList.Count);

                foreach (SiteInfoType sit in getSiteInfoType(lpList))
                {
                    SiteInfoResponseTypeSite site = CreateSite(sit, IncludeSeries);
                    if (site != null)
                    {
                        sitesList.Add(site);
                    }
                }

                response.site = sitesList.ToArray();

                return(response);
            }