コード例 #1
0
        public async Task <Dictionary <GeoFence, bool> > GetByAssetIdWithIntersectionAsync(string assetId, IPoint[] points)
        {
            var pointsGeography = GeographyHelper.CreateDbMultiPoint(points);

            return(await this.FindBy(g => g.AssetDatas.Any(a => a.Id == assetId))
                   .Select(g => new { GeoFence = g, Intersects = g.Polygon.Intersects(pointsGeography) })
                   .ToDictionaryAsync(r => this.ObjectMapper.Map <GeoFence>(r.GeoFence), r => r.Intersects));
        }