1 public void Initialize(Dictionary<long, long> code)
2 {
3 var sql = @"
4 declare @code_list xml
5 set @code_list=N'
6 <CodeList>
7 {0}
8 </CodeList>'
9 insert into ZTOSubscribe(FormCode,BillCode,SubscribeState,UpdataTime,Remark)
10 select T.c.value('(./FormCode,text())[1]','bigint'),T.c.value('(./BillCode,text())[1]','bigint'),0,GETDATE(),''
11 from @code_list.nodes(N'/CodeList/Code') T(c) ";
12 var sqlBlock = @"
13 <Code>
14 <FormCode>{0}</FormCode>
15 <BillCode>{1}</BillCode>
16 </Code>";
17 var sqlExcute = string.Format(sql, string.Concat(code.Select(brf => string.Format(sqlBlock, brf.Key, brf.Value)).ToArray()));
18 SqlHelper.ExecuteNonQuery("Data Source=.;Initial Catalog=Test;Integrated Security=SSPI;", CommandType.Text, sqlExcute);
19 }
20
21 public void Update(List<SubscribeResult> entity)
22 {
23 var sql = @"
24 declare @subscribe_list xml
25 set @subscribe_list=N'
26 <SubscribeList>
27 {0}
28 </SubscribeList>
29 '
30 update ZTOSubscribe
31 set SubscribeState = T.c.value(N'(./Status,text())[1]',N'bit'),UpdataTime = GETDATE(),Remark=T.c.value(N'(./Remark,text())[1]',N'nvarchar(80)')
32 from ZTOSubscribe o
33 join @subscribe_list.nodes(N'/SubscribeList/Subscribe') T(c) on T.c.value(N'(./FormCode,text())[1]',N'bigint')= o.FormCode";
34 var sqlBlock = @"
35 <Subscribe>
36 <FormCode>{0}</FormCode>
37 <Status>{1}</Status>
38 <Remark>{2}</Remark>
39 </Subscribe>";
40 var sqlExcute = string.Format(sql, string.Concat(entity.Select(x => string.Format(sqlBlock, x.OrderId, x.Status, x.Remark))));
41 SqlHelper.ExecuteNonQuery("Data Source=.;Initial Catalog=Test;Integrated Security=SSPI;", CommandType.Text, sqlExcute);
42 }