public void DangTin(BanTin banTin, string noiDungTuKhoa) { if (banTin == null) { throw new ArgumentNullException("banTin", "Bản tin rỗng"); } if (string.IsNullOrWhiteSpace(banTin.NoiDung)) { throw new Exception("Bản tin phải có nội dung"); } try { var thanhVien = ThanhVienRepository.Get(banTin.ThanhVienId); if (thanhVien == null) { throw new Exception("Thành viên không tồn tại"); } TuKhoa tuKhoa = null; if (!string.IsNullOrWhiteSpace(noiDungTuKhoa)) { noiDungTuKhoa = noiDungTuKhoa.Trim(); var tk = TuKhoaRepository.GetTuKhoaByNoiDung(noiDungTuKhoa); if (tk == null) { tuKhoa = new TuKhoa(); tuKhoa.NoiDung = noiDungTuKhoa; TuKhoaRepository.Create(tuKhoa); TuKhoaRepository.SaveChanges(); } else { tuKhoa = tk; } } banTin.ThoiGian = DateTime.Now; BanTinRepository.Create(banTin); BanTinRepository.SaveChanges(); if (tuKhoa != null && tuKhoa.TuKhoaId > 0) { var banTinTuKhoa = new BanTinTuKhoa { BanTinId = banTin.BanTinId, TuKhoaId = tuKhoa.TuKhoaId }; BanTinTuKhoaRepository.Create(banTinTuKhoa); } BanTinTuKhoaRepository.SaveChanges(); } catch (Exception ex) { throw new Exception("Chúng tôi đang gặp vấn đề khó về kỹ thuật khi đăng tin", ex); } }
public BanTin SuaTin(BanTin banTin) { if (banTin == null) { throw new ArgumentNullException("banTin", "Bản tin rỗng"); } var thanhVien = ThanhVienRepository.Get(banTin.ThanhVienId); if (thanhVien == null) { throw new Exception("Thành viên không tồn tại"); } if (string.IsNullOrWhiteSpace(banTin.NoiDung)) { throw new Exception("Bản tin phải có nội dung"); } var banTinDb = BanTinRepository.Get(banTin.BanTinId); if (banTinDb == null) { throw new Exception("Bản tin không tồn tại"); } if (banTin.ThanhVienId != banTinDb.ThanhVienId) { throw new Exception("Bạn không có quyền sửa bản tin này"); } // TODO: Cần lưu lại lịch sử sửa bản tin try { BanTinRepository.Create(banTin); BanTinRepository.SaveChanges(); return(banTinDb); } catch (Exception ex) { throw new Exception("Chúng tôi đang gặp vấn đề khó về kỹ thuật khi đăng tin", ex); } }