1 class Program
2 {
3 static void Main(string[] args)
4 {
5 using (SyncSRV.ServiceSoapClient client = new SyncSRV.ServiceSoapClient())
6 {
7
8 try
9 {
10 var commandText = "";
11 StringBuilder strSql = new StringBuilder();
12 strSql.Length = 0;
13
14 // 清空原始数据,在表 msp_stor_fdbck 中
15
16 strSql.Append("DELETE msp_stor_fdbck \r\n ");
17
18 // GetDIY(DIY暗访)
19 var jsonText = client.GetDIY().ToString();
20 List<dsStore> a = JsonDeserialize<List<dsStore>>(jsonText);
21 List<dsMR> b = JsonDeserialize<List<dsMR>>(jsonText);
22
23 foreach (dsStore item in a)
24 {
25 strSql.Append("INSERT INTO msp_stor_fdbck ");
26 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
27 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
28 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
29 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
30 }
31
32 // GetDIYMing(DIY明访)
33 jsonText = client.GetDIYMing().ToString();
34 a = JsonDeserialize<List<dsStore>>(jsonText);
35
36 foreach (dsStore item in a)
37 {
38 strSql.Append("INSERT INTO msp_stor_fdbck ");
39 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
40 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
41 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
42 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
43 }
44
45 // GetLOEM(LOEM暗访)
46 jsonText = client.GetLOEM().ToString();
47 a = JsonDeserialize<List<dsStore>>(jsonText);
48
49 foreach (dsStore item in a)
50 {
51 strSql.Append("INSERT INTO msp_stor_fdbck ");
52 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
53 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
54 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
55 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
56 }
57
58 // GetLOEMMing(LOEM明访)
59 jsonText = client.GetLOEMMing().ToString();
60 a = JsonDeserialize<List<dsStore>>(jsonText);
61
62 foreach (dsStore item in a)
63 {
64 strSql.Append("INSERT INTO msp_stor_fdbck ");
65 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
66 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
67 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
68 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
69 }
70
71 // GetMNC(MNC暗访)
72 jsonText = client.GetMNC().ToString();
73 a = JsonDeserialize<List<dsStore>>(jsonText);
74
75 foreach (dsStore item in a)
76 {
77 strSql.Append("INSERT INTO msp_stor_fdbck ");
78 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
79 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
80 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
81 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
82 }
83
84 // GetMNCMing(MNC明访)
85 jsonText = client.GetMNCMing().ToString();
86 a = JsonDeserialize<List<dsStore>>(jsonText);
87
88 foreach (dsStore item in a)
89 {
90 strSql.Append("INSERT INTO msp_stor_fdbck ");
91 strSql.Append("([stor_id] ,[nm] ,[addr] ,[fdbck_cntn], ");
92 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
93 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.stor_id, CheckStr(item.stor_nm), CheckStr(item.stor_addr), CheckStr(item.fwFeedBackConter));
94 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
95 }
96
97 // GetMRMing(MR)
98 jsonText = client.GetMRMing().ToString();
99
100 b = JsonDeserialize<List<dsMR>>(jsonText);
101
102 foreach (dsMR item in b)
103 {
104 strSql.Append("INSERT INTO msp_stor_fdbck ");
105 strSql.Append("([gid_num] ,[nm] ,[addr] ,[fdbck_cntn], ");
106 strSql.Append("[last_upd_dtm] ,[iss_sts] ,[fdbck_cntn_remark]) ");
107 strSql.AppendFormat("VALUES ('{0}','{1}','{2}','{3}',", item.gid_num, CheckStr(item.co_nm), CheckStr(item.co_addr), item.type);
108 strSql.AppendFormat("'{0}','{1}','{2}' ) \r\n ", JsonDateString(item.fwFeedBackDate), item.isSeccess, CheckStr(item.FwFeedBackRemark));
109 }
110
111 commandText = strSql.ToString();
112 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionString"].ToString());
113
114 con.Open();
115 SqlTransaction tran = con.BeginTransaction();
116 try
117 {
118 SqlHelper.ExecuteNonQuery(tran, System.Data.CommandType.Text, commandText, null);
119 tran.Commit();
120 }
121 catch
122 {
123 tran.Rollback();
124 }
125 finally
126 {
127 con.Close();
128 }
129
130 }
131 catch
132 {
133 string ex = "";
134 }
135
136 client.Close();
137 }
138 }
139
//静态方法
140 public static T JsonDeserialize<T>(string jsonText)
141 {
142 JavaScriptSerializer jss = new JavaScriptSerializer();
143 return jss.Deserialize<T>(jsonText);
144 }
145 //静态方法
146 public static string JsonDateString(string jsonDate)
147 {
148 return jsonDate.Substring(0, 19);
149 }
150
151
152 public static DateTime JsonToDateTime(string jsonDate)
153 {
154 string value = jsonDate.Substring(6, jsonDate.Length - 8);
155 DateTimeKind kind = DateTimeKind.Utc;
156 int index = value.IndexOf('+', 1);
157 if (index == -1) index = value.IndexOf('-', 1);
158 if (index != -1) { kind = DateTimeKind.Local; value = value.Substring(0, index); }
159 long javaScriptTicks = long.Parse(value, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture);
160 long InitialJavaScriptDateTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
161 DateTime utcDateTime = new DateTime((javaScriptTicks * 10000) + InitialJavaScriptDateTicks, DateTimeKind.Utc);
162 DateTime dateTime;
163 switch (kind)
164 {
165 case DateTimeKind.Unspecified: dateTime = DateTime.SpecifyKind(utcDateTime.ToLocalTime(), DateTimeKind.Unspecified); break;
166 case DateTimeKind.Local:
167 dateTime = utcDateTime.ToLocalTime(); break;
168 default: dateTime = utcDateTime; break;
169 }
170 return dateTime;
171 }
172
173 public static string CheckStr(string str)
174 {
175 string returnStr = "";
176 if (str != null)
177 {
178 if (str.IndexOf("'") != -1) //判断字符串是否含有单引号
179 {
180 returnStr = str.Replace("'", "''");
181 str = returnStr;
182 }
183 }
184 return str;
185 }
186 }
187 //创建Class对象,get set 设定获取对象的属性值
188 class dsStore
189 {
190 public int stor_id { get; set; }
191
192 public string stor_nm { get; set; }
193
194 public string stor_addr { get; set; }
195
196 public string fwFeedBackConter { get; set; }
197
198 public string fwFeedBackDate { get; set; }
199
200 public string FwFeedBackRemark { get; set; }
201
202 public string type { get; set; }
203
204 public string isSeccess { get; set; }
205 }
206
207 class dsMR
208 {
209 public int gid_num { get; set; }
210
211 public string co_nm { get; set; }
212
213 public string co_addr { get; set; }
214
215 public string fwFeedBackDate { get; set; }
216
217 public string FwFeedBackRemark { get; set; }
218
219 public string type { get; set; }
220
221 public string isSeccess { get; set; }
222 }
223 }