Example #1
0
 public void TaoBaiViet(SaveBaiVietDto baiVietDto, int userSinhVienId)
 {
     Mapper.Map(baiVietDto, this);
     Tag(baiVietDto);
     NgayTao    = DateTime.Now;
     NguoiTaoId = userSinhVienId;
 }
Example #2
0
 private void Tag(SaveBaiVietDto baiVietDto)
 {
     //Tag đơn vị
     if (baiVietDto.DanhSachDonViTag != null)
     {
         foreach (var donVi in baiVietDto.DanhSachDonViTag)
         {
             BaiVietDonVi.Add(new BaiVietDonVi {
                 DonViId = donVi
             });
         }
     }
     //tag lớp
     if (baiVietDto.DanhSachLopTag != null)
     {
         foreach (var lop in baiVietDto.DanhSachLopTag)
         {
             BaiVietLop.Add(new BaiVietLop {
                 LopId = lop
             });
         }
     }
     //Tag hoạt động
     if (baiVietDto.DanhSachHoatDongTag != null)
     {
         foreach (var hoatDong in baiVietDto.DanhSachHoatDongTag)
         {
             BaiVietHoatDong.Add(new BaiVietHoatDong {
                 HoatDongId = hoatDong
             });
         }
     }
 }
Example #3
0
 public void ChinhSuaBaiViet(SaveBaiVietDto baiVietDto)
 {
     Mapper.Map(baiVietDto, this);
     BaiVietDonVi.Clear();
     BaiVietLop.Clear();
     BaiVietHoatDong.Clear();
     Tag(baiVietDto);
 }
        public IHttpActionResult SaveBaiViet(SaveBaiVietDto baiVietDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var baiViet        = new BaiViet();
            var userSinhVienId = User.Identity.GetSinhVienId();

            //Nếu là tạo bài viết mới
            if (baiVietDto.Id == 0)
            {
                if (userSinhVienId == 0)
                {
                    return(BadRequest("Hãy liên kết tài khoản này với một sinh viên để tạo bài viết"));
                }
                baiViet.TaoBaiViet(baiVietDto, userSinhVienId);
                _context.DanhSachBaiViet.Add(baiViet);
                _context.SaveChanges();
                return(Ok());
            }
            //Nếu là chỉnh sửa bài viết có sẵn
            baiViet = _context.DanhSachBaiViet
                      .Include(bv => bv.BaiVietHoatDong)
                      .Include(bv => bv.BaiVietDonVi)
                      .Include(bv => bv.BaiVietLop)
                      .SingleOrDefault(cthd => cthd.Id == baiVietDto.Id);
            if (baiViet == null)
            {
                return(NotFound());
            }
            //Check quyền sửa bài viết
            if (baiViet.NguoiTaoId != userSinhVienId && !User.IsInRole("Admin") && !User.IsInRole("QuanLyBaiViet"))
            {
                return(BadRequest());
            }
            baiViet.ChinhSuaBaiViet(baiVietDto);
            _context.SaveChanges();
            return(Ok());
        }