Esempio n. 1
0
        public ActionResult SaveOverlays(string name, Guid?parentId, string points, string color, string xy, Guid?childrenId)
        {
            Guid       mainId           = childrenId ?? parentId ?? Guid.Empty;
            MapOverlay parentMapOverlay = service.Get(mainId);

            if (parentMapOverlay == null)
            {
                throw new NopException("父级遮盖物不存在");
            }

            MapOverlay entity = new MapOverlay()
            {
                Name = name, ParentId = parentMapOverlay.Id, Level = parentMapOverlay.Level + 1, Color = color
            };

            if (!string.IsNullOrEmpty(xy))
            {
                entity.Longitude = xy.Split(',')[0];
                entity.Latitude  = xy.Split(',')[1];
            }
            service.Add(entity);

            if (points != null)
            {
                var coordinates   = points.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                var pointsEntitys = new List <MapOverlayPoints>();
                foreach (var coordinate in coordinates)
                {
                    var tmp   = coordinate.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    var point = new MapOverlayPoints()
                    {
                        Longitude = tmp[0], Latitude = tmp[1], MapOverlayId = entity.Id
                    };
                    pointsEntitys.Add(point);
                }
                service.BatchAdd(pointsEntitys);
            }

            return(Content("1"));
        }