wzp
2022-11-23 c3acb0bf589ba6de244e4eae737152688e5d3e61
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
 
 
using Common;
using Model;
using Oracle.DataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Text;
 
namespace Dao
{
    public class GwMobileAreaDao : IDisposable
    {
        public List<GwMobileArea> MobilAreaPageList(string mobileSegment, string city, string province, string cardType, out int recordcount, int pageSize, int PageIndex)
        {
            List<GwMobileArea> list = new List<GwMobileArea>();
            recordcount = 0;
            try
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append("from GW_MOBILEAREA where 1=1");
                OracleParameter[] oracleParameterArray = new OracleParameter[4];
                if (!string.IsNullOrEmpty(mobileSegment))
                {
                    oracleParameterArray[0] = new OracleParameter(":MOBILE_SEGMENT", (OracleDbType)126);
                    ((DbParameter)oracleParameterArray[0]).Value = (object)("%" + mobileSegment + "%");
                    stringBuilder.Append(" and MOBILE_SEGMENT like :MOBILE_SEGMENT");
                }
                if (!string.IsNullOrEmpty(city))
                {
                    oracleParameterArray[1] = new OracleParameter(":CITY", (OracleDbType)126);
                    ((DbParameter)oracleParameterArray[1]).Value = (object)city;
                    stringBuilder.Append(" and CITY=:CITY ");
                }
                if (!string.IsNullOrEmpty(province))
                {
                    oracleParameterArray[2] = new OracleParameter(":PROVINCE", (OracleDbType)126);
                    ((DbParameter)oracleParameterArray[2]).Value = (object)province;
                    stringBuilder.Append(" and PROVINCE=:PROVINCE ");
                }
                if (!string.IsNullOrEmpty(cardType))
                {
                    oracleParameterArray[3] = new OracleParameter(":CARD_TYPE", (OracleDbType)126);
                    ((DbParameter)oracleParameterArray[3]).Value = (object)cardType;
                    stringBuilder.Append(" and CARD_TYPE=:CARD_TYPE");
                }
                using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
                {
                    while (((DbDataReader)reader).Read())
                        recordcount = this.ReadCount(reader);
                }
                using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray))
                {
                    while (((DbDataReader)reader).Read())
                    {
                        GwMobileArea o = new GwMobileArea();
                        if (this.ReadInfo(reader, o))
                            list.Add(o);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return list;
            }
            return list;
        }
 
        public List<GwMobileArea> GetMobilAreaList()
        {
            string sql = "SELECT distinct PROVINCE FROM GW_MOBILEAREA";
            List<GwMobileArea> list = new List<GwMobileArea>();
            using (OracleDataReader reader = OracleHelper.ExecuteReader(sql, OracleHelper.Connection))
            {
                while (((DbDataReader)reader).Read())
                {
                    GwMobileArea o = new GwMobileArea();
                    if (this.ReadInfo(reader, o))
                        list.Add(o);
                }
            }
            return list;
        }
 
        public bool UpdateMobileArea(GwMobileArea o)
        {
            return OracleHelper.ExecuteSql("update GW_MOBILEAREA set SEGMENT=:SEGMENT,CITY=:CITY,PROVINCE=:PROVINCE,CARD_TYPE=:CARD_TYPE,LAST_UPDATE_TIME=sysdate where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)o.ID), new OracleParameter(":MOBILE_SEGMENT", (object)o.MobileSegment), new OracleParameter(":CITY", (object)o.City), new OracleParameter(":PROVINCE", (object)o.Province), new OracleParameter(":CARD_TYPE", (object)o.CardType)) > 0;
        }
 
        public GwMobileArea GetMobileArea(int id)
        {
            GwMobileArea o = new GwMobileArea();
            using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_MOBILEAREA WHERE ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)id)))
            {
                if (((DbDataReader)reader).Read())
                {
                    if (!this.ReadInfo(reader, o))
                        throw new Exception("ReadInfo发生异常");
                    return o;
                }
            }
            return o;
        }
 
        public bool AddMobileArea(GwMobileArea item)
        {
            return OracleHelper.ExecuteSql("INSERT INTO GW_MOBILEAREA(ID,SEGMENT,CITY,PROVINCE,CARD_TYPE,LAST_UPDATE_TIME,IS_DELETED) VALUES(GW_MOBILEAREA_ID_SEQ.NEXTVAL,:SEGMENT,:CITY,:PROVINCE,:CARD_TYPE,            sysdate,IS_DELETED)", OracleHelper.Connection, new OracleParameter(":MOBILE_SEGMENT", (object)item.MobileSegment), new OracleParameter(":CITY", (object)item.City), new OracleParameter(":PROVINCE", (object)item.Province), new OracleParameter(":CARD_TYPE", (object)item.CardType), new OracleParameter(":IS_DELETED", (object)item.IsDeleted)) > 0;
        }
 
        private bool ReadInfo(OracleDataReader reader, GwMobileArea o)
        {
            OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
            o.ID = oracleReaderWrapper.GetInt("ID", 0);
            o.MobileSegment = oracleReaderWrapper.GetString("MOBILE_SEGMENT", "");
            o.City = oracleReaderWrapper.GetString("CITY", "");
            o.Province = oracleReaderWrapper.GetString("PROVINCE", "");
            o.CardType = oracleReaderWrapper.GetString("CARD_TYPE", "");
            o.LastUpdateTime = oracleReaderWrapper.GetDateTime("LAST_UPDATE_TIME");
            o.IsDeleted = oracleReaderWrapper.GetInt("IS_DELETED", 0);
            return true;
        }
 
        private int ReadCount(OracleDataReader reader)
        {
            try
            {
                return new OracleReaderWrapper(reader).GetInt("count", 0);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return 0;
            }
        }
 
        public void Dispose()
        {
        }
    }
}