public async Task <IActionResult> ChangeStatus(long[] data, int type) { if (data.Count() == 0) { return(Ok(new { status = false, mess = MessageResult.NotSelectDeTai })); } DeTaiNghienCuu entity = new DeTaiNghienCuu(); foreach (long item in data) { entity = await _service.GetById(item); var isAuthorize = await _authorizationService.AuthorizeAsync(User, entity, DeTaiNghienCuuOperation.Update); if (!isAuthorize.Succeeded) { return(Ok(new { status = false, toastr = MessageResult.AccessDenied })); } if (type == 2) // xoa detai { await _service.Delete(entity); return(Ok(new { status = true, mess = MessageResult.UpdateSuccess })); } else if (type == 0) // gui duyet dang ky { if (entity.TinhTrangPheDuyet == (int)StatusPheDuyet.GuiDangKy) { return(Ok(new { status = false, toastr = "Đã gửi yêu cầu đăng ký cho đề tài " + entity.Id })); } entity.TinhTrangPheDuyet = (int)StatusPheDuyet.GuiDangKy; YeuCauPheDuyet yeuCau = new YeuCauPheDuyet { LoaiYeuCau = (int)LoaiYeuCauPheDuyet.DuyetDangKy, NgayTao = DateTime.Now, }; entity.YeuCauPheDuyet.Add(yeuCau); } else // huy gui { if (entity.TinhTrangPheDuyet != (int)StatusPheDuyet.ChuaCoYeuCau) { entity.TinhTrangPheDuyet = (int)StatusPheDuyet.ChuaCoYeuCau; var yeuCau = entity.YeuCauPheDuyet.FirstOrDefault(x => x.Status == (int)StatusYeuCauPheDuyet.ChuaXuLy); entity.YeuCauPheDuyet.Remove(yeuCau); } else { return(Ok(new { status = false, toastr = "Đề tài " + entity.Id + " chưa gửi đăng ký" })); } } } await _service.Update(entity); return(Ok(new { status = true, mess = MessageResult.UpdateSuccess })); }
public async Task <ActionResult> Edit(DeTaiNghienCuuViewModel model) { if (ModelState.IsValid) { var entity = await _service.GetById(model.Id); if (entity == null) { return(Ok(new { status = false, toastr = MessageResult.NotFoundObject })); } var isAuthorize = await _authorizationService.AuthorizeAsync(User, entity, DeTaiNghienCuuOperation.Update); if (!isAuthorize.Succeeded) { return(Ok(new { status = false, toastr = MessageResult.AccessDenied })); } else { if (entity.TinhTrangDeTai == (int)StatusDeTai.MoiTao) { if (await UpLoadFile(model.Files, entity) == false) { return(Ok(new { status = false, mess = MessageResult.UpLoadFileFail })); } entity.TenDeTai = model.TenDeTai; entity.MoTa = model.MoTa; await _service.Update(entity); return(Ok(new { status = true, mess = MessageResult.UpdateSuccess })); } else { YCChinhSuaDeTai yCChinhSua = new YCChinhSuaDeTai { MoTa = model.MoTa, TenDeTai = model.TenDeTai, }; YeuCauPheDuyet yeuCau = new YeuCauPheDuyet { LoaiYeuCau = (int)LoaiYeuCauPheDuyet.ChinhSua, NgayTao = DateTime.Now, }; if (await UpLoadFileYCChinhSua(model.Files, yCChinhSua) == false) { return(Ok(new { status = false, mess = MessageResult.UpLoadFileFail })); } var yeuCauHT = entity.YeuCauPheDuyet.FirstOrDefault(x => x.LoaiYeuCau == (int)LoaiYeuCauPheDuyet.ChinhSua && x.Status == 0); var yCChinhSuaHT = entity.YCChinhSuaDeTai.FirstOrDefault(x => x.Status == 0); entity.YeuCauPheDuyet.Remove(yeuCauHT); entity.YCChinhSuaDeTai.Remove(yCChinhSuaHT); entity.YeuCauPheDuyet.Add(yeuCau); entity.YCChinhSuaDeTai.Add(yCChinhSua); entity.TinhTrangPheDuyet = (int)StatusPheDuyet.GuiChinhSua; await _service.Update(entity); return(Ok(new { status = true, mess = "Gửi yêu cầu chỉnh sửa thành công" })); } } } else { return(Ok(new { status = false, mess = MessageResult.Fail })); } }