diff --git a/Repository/BinhLuanRepository.cs b/Repository/BinhLuanRepository.cs index dde8305..4ee60b5 100644 --- a/Repository/BinhLuanRepository.cs +++ b/Repository/BinhLuanRepository.cs @@ -2,7 +2,7 @@ using CoreLibrary.Models; using DataAccessLayer; using Microsoft.EntityFrameworkCore; -using System; +using Repository.Extensions; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -22,6 +22,18 @@ public BinhLuanRepository(RepositoryContext repositoryContext) //KQ: !null = TenBinhLuan bị trùng, null: thêm thành công public ResponseDetails CreateBinhLuan(BinhLuan binhLuan) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(binhLuan.NoiDung)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = binhLuan.NoiDung.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ var userRepo = new UserRepository(_context); var chuongRepo = new ChuongRepository(_context); @@ -74,6 +86,18 @@ public ResponseDetails CreateBinhLuan(BinhLuan binhLuan) //KQ: false: TenBinhLuan bị trùng, true: cập nhật thành công public ResponseDetails UpdateBinhLuan(BinhLuan binhLuan) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(binhLuan.NoiDung)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = binhLuan.NoiDung.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ var userRepo = new UserRepository(_context); var chuongRepo = new ChuongRepository(_context); diff --git a/Repository/ChuongRepository.cs b/Repository/ChuongRepository.cs index 28dd4df..02022bd 100644 --- a/Repository/ChuongRepository.cs +++ b/Repository/ChuongRepository.cs @@ -2,7 +2,7 @@ using CoreLibrary.Models; using DataAccessLayer; using Microsoft.EntityFrameworkCore; -using System; +using Repository.Extensions; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -24,6 +24,18 @@ public ResponseDetails CreateChuong(IEnumerable chuongs) { foreach (var chuong in chuongs) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(chuong.TenChuong)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = chuong.TenChuong.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ var truyenRepo = new TruyenRepository(_context); if (!truyenRepo.FindByCondition(t => t.TruyenID.Equals(chuong.TruyenID)).Any()) @@ -84,6 +96,18 @@ public ResponseDetails CreateChuong(IEnumerable chuongs) //KQ: false: TenChuong bị trùng, true: cập nhật thành công public ResponseDetails UpdateChuong(Chuong chuong) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(chuong.TenChuong)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = chuong.TenChuong.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ var truyenRepo = new TruyenRepository(_context); if (!truyenRepo.FindByCondition(t => t.TruyenID.Equals(chuong.TruyenID)).Any()) diff --git a/Repository/TacGiaRepository.cs b/Repository/TacGiaRepository.cs index 9bd6959..d636fc4 100644 --- a/Repository/TacGiaRepository.cs +++ b/Repository/TacGiaRepository.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Repository.Extensions; namespace Repository { @@ -24,8 +25,20 @@ public ResponseDetails CreateTacGia(IEnumerable tacGias) { foreach (var tacGia in tacGias) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(tacGia.TenTacGia)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = tacGia.TenTacGia.ToString() + }; + } + /*End*/ + /*Bắt lỗi [Tên tác giả]*/ - if(tacGia.TenTacGia == "" || tacGia.TenTacGia == null) + if (tacGia.TenTacGia == "" || tacGia.TenTacGia == null) { return new ResponseDetails() { @@ -55,6 +68,18 @@ public ResponseDetails CreateTacGia(IEnumerable tacGias) //KQ: false: TenTacGia bị trùng, true: cập nhật thành công public ResponseDetails UpdateTacGia(TacGia tacGia) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(tacGia.TenTacGia)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = tacGia.TenTacGia.ToString() + }; + } + /*End*/ + /*Bắt lỗi [Tên tác giả]*/ if (tacGia.TenTacGia == "" || tacGia.TenTacGia == null) { diff --git a/Repository/TheLoaiRepository.cs b/Repository/TheLoaiRepository.cs index 4fc9d08..6e4ea83 100644 --- a/Repository/TheLoaiRepository.cs +++ b/Repository/TheLoaiRepository.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Repository.Extensions; namespace Repository { @@ -21,6 +22,18 @@ public ResponseDetails CreateTheLoai(IEnumerable theLoais) { foreach (var theLoai in theLoais) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(theLoai.TenTheLoai)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = theLoai.TenTheLoai.ToString() + }; + } + /*End*/ + /*Bắt lỗi [Tên thể loại]*/ if (theLoai.TenTheLoai == "" || theLoai.TenTheLoai == null) { @@ -52,6 +65,18 @@ public ResponseDetails CreateTheLoai(IEnumerable theLoais) //KQ: false: TenTacGia bị trùng, true: cập nhật thành công public ResponseDetails UpdateTheLoai(TheLoai theLoai) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(theLoai.TenTheLoai)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = theLoai.TenTheLoai.ToString() + }; + } + /*End*/ + /*Bắt lỗi [Tên thể loại]*/ if (theLoai.TenTheLoai == "" || theLoai.TenTheLoai == null) { diff --git a/Repository/TruyenRepository.cs b/Repository/TruyenRepository.cs index fec11b2..1a30411 100644 --- a/Repository/TruyenRepository.cs +++ b/Repository/TruyenRepository.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Repository.Extensions; namespace Repository { @@ -25,6 +26,28 @@ public ResponseDetails CreateTruyen(IEnumerable truyens) foreach (var truyen in truyens) { + /*Bắt lỗi ký tự đặc biệt*/ + if(ValidationExtensions.isSpecialChar(truyen.TenTruyen)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = truyen.TenTruyen.ToString() + }; + } + + if (ValidationExtensions.isSpecialChar(truyen.MoTa)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = truyen.MoTa.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ if (!tacGiaRepo.FindByCondition(t => t.TacGiaID.Equals(truyen.TacGiaID)).Any()) { @@ -101,6 +124,28 @@ public ResponseDetails CreateTruyen(IEnumerable truyens) //KQ: false: TenTruyen bị trùng, true: cập nhật thành công public ResponseDetails UpdateTruyen(Truyen truyen) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(truyen.TenTruyen)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = truyen.TenTruyen.ToString() + }; + } + + if (ValidationExtensions.isSpecialChar(truyen.MoTa)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = truyen.MoTa.ToString() + }; + } + /*End*/ + /*Bắt lỗi [ID]*/ var tacGiaRepo = new TacGiaRepository(_context); if (!tacGiaRepo.FindByCondition(t => t.TacGiaID.Equals(truyen.TacGiaID)).Any()) diff --git a/Repository/UserRepository.cs b/Repository/UserRepository.cs index f9c1779..cc6a419 100644 --- a/Repository/UserRepository.cs +++ b/Repository/UserRepository.cs @@ -1,4 +1,5 @@ -using CoreLibrary; +using Repository.Extensions; +using CoreLibrary; using CoreLibrary.Models; using DataAccessLayer; using Microsoft.EntityFrameworkCore; @@ -20,6 +21,30 @@ public UserRepository(RepositoryContext repositoryContext) //KQ: !null = TenUser bị trùng, null: thêm thành công public ResponseDetails CreateUser(User user) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(user.TenUser)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = user.TenUser.ToString() + }; + } + /*End*/ + + /*Bắt lỗi [TenUser]*/ + if (FindByCondition(t => t.TenUser.Equals(user.TenUser)).Any()) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Tên user bị trùng", + Value = user.TenUser.ToString() + }; + } + /*End*/ + if (user.TenUser == "" || user.TenUser == null) { return new ResponseDetails() @@ -51,6 +76,30 @@ public ResponseDetails CreateUser(User user) //KQ: false: TenUser bị trùng, true: cập nhật thành công public ResponseDetails UpdateUser(User user) { + /*Bắt lỗi ký tự đặc biệt*/ + if (ValidationExtensions.isSpecialChar(user.TenUser)) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Không được chứa ký tự đặc biệt", + Value = user.TenUser.ToString() + }; + } + /*End*/ + + /*Bắt lỗi [TenUser]*/ + if (FindByCondition(t => t.TenUser.Equals(user.TenUser)).Any()) + { + return new ResponseDetails() + { + StatusCode = ResponseCode.Error, + Message = "Tên user bị trùng", + Value = user.TenUser.ToString() + }; + } + /*End*/ + if (user.TenUser == "" || user.TenUser == null) { return new ResponseDetails() diff --git a/Repository/Validation/ValidationExtensions.cs b/Repository/Validation/ValidationExtensions.cs new file mode 100644 index 0000000..39f0a78 --- /dev/null +++ b/Repository/Validation/ValidationExtensions.cs @@ -0,0 +1,15 @@ +using System; +using System.Linq; + +namespace Repository.Extensions +{ + public class ValidationExtensions + { + public static bool isSpecialChar(string content) + { + bool result = content.Any(ch => Char.IsPunctuation(ch) || Char.IsSymbol(ch)); + + return result; + } + } +}