管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2024-09-03 3cfb6aa02516135fb174ab1b30620f2007924663
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using JiangSu.Models;
using Npgsql;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Web;
 
namespace JiangSu.cs
{
    public class ImgPgDAL
    {
        public static List<ImgPg> SelectByPage(string name, int pageSize = 10, int pageIndex = 1)
        {
            bool flag = string.IsNullOrWhiteSpace(name);
            string sql = string.Format("select id, name, path, json, st_astext(geom) geom from sd.img {0} order by id limit {1} offset {2}", flag ? "" : "where upper(name) like @name", pageSize, pageSize * (pageIndex - 1));
 
            DataTable dt = flag ? Tools.PGHelper.GetDataTable(sql) : Tools.PGHelper.GetDataTable(sql, new NpgsqlParameter("@name", "%" + name.Trim().ToUpper() + "%"));
            if (null == dt || dt.Rows.Count == 0)
            {
                return null;
            }
 
            return ModelHandler.FillModel<ImgPg>(dt);
        }
 
        public static ImgPg SelectById(long id)
        {
            string sql = "select id, name, path, json, st_astext(geom) geom from sd.img where id = @id";
 
            DbParameter param = new NpgsqlParameter("@id", id);
 
            DataTable dt = Tools.PGHelper.GetDataTable(sql, param);
            if (null == dt || dt.Rows.Count == 0)
            {
                return null;
            }
 
            var list = ModelHandler.FillModel<ImgPg>(dt);
 
            return null == list || list.Count == 0 ? null : list[0];
        }
 
        public static int DeleteByIds(List<int> ids)
        {
            string str = string.Join(",", ids.ToArray());
            string sql = string.Format("delete from sd.img where id in ({0})", str);
 
            return Tools.PGHelper.ExecuteNonQuery(sql);
        }
 
        public static int Insert(ImgPg img)
        {
            string geom = string.IsNullOrWhiteSpace(img.geom) ? "null" : string.Format("ST_GeomFromText('{0}')", img.geom);
            string sql = string.Format("insert into sd.img (name, path, json, geom) values (@name, @path, @json, {0}) returning id", geom);
            DbParameter[] sqlParams = Tools.GetPGParams<ImgPg>(sql, img);
 
            object obj = Tools.PGHelper.GetScalar(sql, sqlParams);
 
            return null == obj ? 0 : Convert.ToInt32(obj);
        }
 
        public static int UpdateById(ImgPg img)
        {
            string geom = string.IsNullOrWhiteSpace(img.geom) ? "" : string.Format(", geom = ST_GeomFromText('{0}')", img.geom);
            string sql = string.Format("update sd.img set name = @name, path = @path, json = @json{0} where id = @id", geom);
            DbParameter[] sqlParams = Tools.GetPGParams<ImgPg>(sql, img);
 
            return Tools.PGHelper.ExecuteNonQuery(sql, sqlParams);
        }
    }
}