public async Task <IActionResult> PutStudyProcess(int id, StudyProcessViewModel studyProcess) { if (studyProcess.Id != id) { throw new Exception(string.Format("Id và id của mã quá trình học tập không giống nhau!")); } try { await Task.Run(() => { studyProcess.DateModified = DateTime.Now; _studyProcessService.Update(studyProcess); _studyProcessService.SaveChanges(); return(Ok()); }); } catch (DbUpdateConcurrencyException) { if (!StudyProcessExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public bool Update(StudyProcessViewModel studyProcessVm) { try { var studyProcess = Mapper.Map <StudyProcessViewModel, StudyProcess>(studyProcessVm); _studyProcessRepository.Update(studyProcess); SaveChanges(); var countInClass = _studyProcessRepository.FindAll().Where(x => x.LanguageClassId == studyProcess.LanguageClassId && x.Status == Status.Active).ToList().Count; var languageClass = _languageClassRepository.FindById(studyProcess.LanguageClassId); int max = languageClass.MaxNumber; if (countInClass < max) { languageClass.Status = Status.Active; _languageClassRepository.Update(languageClass); } else { languageClass.Status = Status.Pause; _languageClassRepository.Update(languageClass); } if (studyProcess.Status == Status.InActive) { // lấy tên học viên var hocvien = _context.Learners.Find(studyProcess.LearnerId); var tenhocvien = hocvien.FirstName + hocvien.LastName; // log cho nghỉ học var log = new LogSystem(); log.IsStudyProcessLog = true; log.DateCreated = DateTime.Now; log.Content = "Nghỉ học : " + tenhocvien; log.UserId = Const.tempUserId; log.LearnerId = studyProcess.LearnerId; log.StudyProcessId = studyProcess.Id; log.ClassId = studyProcess.LanguageClassId; _context.LogSystems.Add(log); } return(true); } catch { return(false); } }
public async Task <ActionResult <StudyProcessViewModel> > PostStudyProcess(StudyProcessViewModel studyProcess) { if (studyProcess != null) { try { await Task.Run(() => { studyProcess.DateCreated = DateTime.Now; studyProcess.Status = Status.Active; studyProcess.InDate = DateTime.Now; _studyProcessService.Add(studyProcess); _studyProcessService.SaveChanges(); return(Ok("Thêm thành công!")); }); } catch { throw new Exception(string.Format("Lỗi khi thêm dữ liệu")); } } return(CreatedAtAction("GetStudyProcess", new { id = studyProcess.Id }, studyProcess)); }