| | |
| | | /// </summary> |
| | | /// <param name="args">XYZ参数</param> |
| | | /// <returns>行数</returns> |
| | | public int Release(XYZArgs args, ref string err) |
| | | public List<int> Release(XYZArgs args, ref string err) |
| | | { |
| | | List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('mpt', '3dml')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | int maxId = GetMaxId(); // maxId = 411576; |
| | | RomoveNoneFiles(list); |
| | | if (list.Count == 0) return 0; |
| | | if (list.Count == 0) return null; |
| | | |
| | | //err = LinkFiles(list); |
| | | //if (!string.IsNullOrEmpty(err)) return 0; |
| | | MoveFiles(list); |
| | | |
| | | int count = 0; |
| | | string names = GetNames(list); |
| | | for (int i = 0; i < 61; i++) |
| | | { |
| | |
| | | List<SpatialItem> items = SelectItems(names); |
| | | if (null == items || items.Count == 0) continue; |
| | | |
| | | InsertInto(list, items, args); |
| | | count = items.Count; |
| | | break; |
| | | return InsertInto(list, items, args); |
| | | } |
| | | |
| | | return count; |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 插入数据发布表 |
| | | /// </summary> |
| | | private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) |
| | | private List<int> InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) |
| | | { |
| | | List<int> ids = new List<int>(); |
| | | foreach (SysMeta meta in list) |
| | | { |
| | | IEnumerable<SpatialItem> iterator = from item in items where item.Name.Equals(meta.id + "_" + meta.name) select item; |
| | | if (null == iterator) return; |
| | | if (null == iterator) return ids; |
| | | |
| | | meta.verid = iterator.First().id; |
| | | InsertToDB(meta, args); |
| | | int pubid = InsertToDB(meta, args); |
| | | |
| | | if (pubid > 0) ids.Add(pubid); |
| | | } |
| | | |
| | | return ids; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args) |
| | | private static int InsertToDB(SysMeta meta, XYZArgs args) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | if (PubDBHelper.IsPublish(meta.id)) return 0; |
| | | |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = meta.id + "\\" + meta.name; |
| | |
| | | PubDBHelper.InsertLayer(sys, meta, sys.type == "3dml" ? 100 : 0); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |