forked from anjoy8/Blog.Core
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGuestbookServices.cs
More file actions
140 lines (113 loc) · 4.79 KB
/
Copy pathGuestbookServices.cs
File metadata and controls
140 lines (113 loc) · 4.79 KB
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
using Blog.Core.Common;
using Blog.Core.IRepository;
using Blog.Core.IRepository.UnitOfWork;
using Blog.Core.IServices;
using Blog.Core.Model;
using Blog.Core.Model.Models;
using Blog.Core.Services.BASE;
using System;
using System.Threading.Tasks;
namespace Blog.Core.Services
{
public class GuestbookServices : BaseServices<Guestbook>, IGuestbookServices
{
private readonly IGuestbookRepository _dal;
private readonly IUnitOfWork _unitOfWork;
private readonly IPasswordLibRepository _passwordLibRepository;
public GuestbookServices(IUnitOfWork unitOfWork, IGuestbookRepository dal, IPasswordLibRepository passwordLibRepository)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
_passwordLibRepository = passwordLibRepository;
}
public async Task<MessageModel<string>> TestTranInRepository()
{
try
{
Console.WriteLine($"");
Console.WriteLine($"事务操作开始");
_unitOfWork.BeginTran();
Console.WriteLine($"");
Console.WriteLine($"insert a data into the table PasswordLib now.");
var insertPassword = await _passwordLibRepository.Add(new PasswordLib()
{
IsDeleted = false,
plAccountName = "aaa",
plCreateTime = DateTime.Now
});
var passwords = await _passwordLibRepository.Query(d => d.IsDeleted == false);
Console.WriteLine($"second time : the count of passwords is :{passwords.Count}");
//......
Console.WriteLine($"");
var guestbooks = await _dal.Query();
Console.WriteLine($"first time : the count of guestbooks is :{guestbooks.Count}");
int ex = 0;
Console.WriteLine($"\nThere's an exception!!");
int throwEx = 1 / ex;
Console.WriteLine($"insert a data into the table Guestbook now.");
var insertGuestbook = await _dal.Add(new Guestbook()
{
username = "bbb",
blogId = 1,
createdate = DateTime.Now,
isshow = true
});
guestbooks = await _dal.Query();
Console.WriteLine($"second time : the count of guestbooks is :{guestbooks.Count}");
_unitOfWork.CommitTran();
return new MessageModel<string>()
{
success = true,
msg = "操作完成"
};
}
catch (Exception)
{
_unitOfWork.RollbackTran();
var passwords = await _passwordLibRepository.Query();
Console.WriteLine($"third time : the count of passwords is :{passwords.Count}");
var guestbooks = await _dal.Query();
Console.WriteLine($"third time : the count of guestbooks is :{guestbooks.Count}");
return new MessageModel<string>()
{
success = false,
msg = "操作异常"
};
}
}
[UseTran]
public async Task<bool> TestTranInRepositoryAOP()
{
var passwords = await _passwordLibRepository.Query();
Console.WriteLine($"first time : the count of passwords is :{passwords.Count}");
Console.WriteLine($"insert a data into the table PasswordLib now.");
var insertPassword = await _passwordLibRepository.Add(new PasswordLib()
{
IsDeleted = false,
plAccountName = "aaa",
plCreateTime = DateTime.Now
});
passwords = await _passwordLibRepository.Query(d => d.IsDeleted == false);
Console.WriteLine($"second time : the count of passwords is :{passwords.Count}");
//......
Console.WriteLine($"");
var guestbooks = await _dal.Query();
Console.WriteLine($"first time : the count of guestbooks is :{guestbooks.Count}");
int ex = 0;
Console.WriteLine($"\nThere's an exception!!");
int throwEx = 1 / ex;
Console.WriteLine($"insert a data into the table Guestbook now.");
var insertGuestbook = await _dal.Add(new Guestbook()
{
username = "bbb",
blogId = 1,
createdate = DateTime.Now,
isshow = true
});
guestbooks = await _dal.Query();
Console.WriteLine($"second time : the count of guestbooks is :{guestbooks.Count}");
return true;
}
}
}