public async Task <Result <ScheduleDto> > UpdateStudentGroupAsync(long scheduleId, UpdateScheduleDto scheduleDTO) { try { if (scheduleDTO == null) { return(Result <ScheduleDto> .Error(ErrorCode.NotFound, "UpdateScheduleDto is null")); } var foundSchedule = await _unitOfWork.ScheduleRepository.GetByIdAsync(scheduleId); if (foundSchedule == null) { return(Result <ScheduleDto> .Error(ErrorCode.NotFound, $"Schedule with id={scheduleId} does not exist")); } var updatedEntity = _mapper.Map <Schedule>(scheduleDTO); var errorMessage = Validate(updatedEntity); if (errorMessage != null) { Result <ScheduleDto> .Error(ErrorCode.ValidationError, errorMessage); } foundSchedule.RepeatRate = updatedEntity.RepeatRate; if (updatedEntity.DayNumber != null) { foundSchedule.DayNumber = updatedEntity.DayNumber; } await _unitOfWork.CommitAsync(); return(Result <ScheduleDto> .Success(_mapper.Map <ScheduleDto>(foundSchedule))); } catch { _unitOfWork.Rollback(); return(Result <ScheduleDto> .Error(ErrorCode.InternalServerError, "Internal error")); } }
public async Task <ActionResult <ScheduleDto> > PutSchedule(long scheduleId, [FromBody] UpdateScheduleDto updateScheduleDto) { var foundSchedules = await _scheduleService.UpdateStudentGroupAsync(scheduleId, updateScheduleDto); return(foundSchedules.ToActionResult()); }