private async Task UpdateDefect(Defect defect, Status status) { defect.AssignedDefect.Status = status; defect.AssignedDefect.StatusChangedAt = DateTime.Now; if (status == Status.Solved) { defect.AssignedDefect.ClosedAt = DateTime.Now; } await _defectRepository.UpdateAsync(defect); }
public async Task <IActionResult> UpdateDefect([FromBody] DefectViewModel defectViewModel) { var defect = await _repo.GetDefectWithAssignedDefectByIdAsync(defectViewModel.Id); defect.Description = defectViewModel.Description; defect.RoomNumber = defectViewModel.RoomNumber; defect.AssignedDefect.Status = (Status)Enum.Parse(typeof(Status), defectViewModel.DefectStatus); var worker = await _userRepo.GetByIdAsync(defectViewModel.AssignedWorkerId); if (worker != null) { defect.AssignedDefect.AssignedWorker = worker; await _repo.UpdateAsync(defect); return(Ok()); } return(BadRequest()); }