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")); }