public async Task <ActionResult <ScheduleDto> > PostSchedule([FromBody] CreateScheduleDto scheduleDTO) { var resSchedule = await _scheduleService .CreateScheduleAsync(scheduleDTO); return(resSchedule.ToActionResult()); }
public async Task <IActionResult> Post([FromBody] CreateScheduleDto schedule) { var listError = ValidPropertiesObject.ObjIsValid(schedule); if (listError.Count > 0 || schedule == null) { return(await ResponseNullOrEmpty(listError)); } var result = _service.Create(schedule); return(await Response(result, _service.Validate())); }
public Schedule Create(CreateScheduleDto schedule) { if (!_repository.CheckAvailability(schedule.Initial)) { AddNotification("Schedule", "A data escolhida não está disponivel"); return(null); } var doctor = _repositoryDoctor.Get(schedule.DoctorId); var patient = _repositoryPatient.Get(schedule.PatientId); var typeConsult = _repositoryTypeConsult.Get(schedule.TypeConsultId); var scheduleTmp = new Schedule(0, doctor, patient, schedule.Initial, schedule.Finish, DateTime.Now, typeConsult, (EStatus)schedule.Status); if (scheduleTmp.Valid) { _repository.Save(scheduleTmp); } return(scheduleTmp); }
public async Task <Result <ScheduleDto> > CreateScheduleAsync(CreateScheduleDto scheduleModel) { try { if (scheduleModel == null) { return(Result <ScheduleDto> .Error(ErrorCode.ValidationError, "ScheduleDto is null")); } var scheduleEntity = _mapper.Map <Schedule>(scheduleModel); var errorMessage = Validate(scheduleEntity); if (errorMessage != null) { return(Result <ScheduleDto> .Error(ErrorCode.ValidationError, errorMessage)); } scheduleEntity.StudentGroup = await _unitOfWork.StudentGroupRepository .GetByIdAsync(scheduleEntity.StudentGroupId); if (scheduleEntity.StudentGroup == null) { return(Result <ScheduleDto> .Error(ErrorCode.NotFound, $"Student group with id={scheduleModel.StudentGroupId} does not exist")); } _unitOfWork.ScheduleRepository.Add(scheduleEntity); await _unitOfWork.CommitAsync(); return(Result <ScheduleDto> .Success(_mapper.Map <ScheduleDto>(scheduleEntity))); } catch { _unitOfWork.Rollback(); return(Result <ScheduleDto> .Error(ErrorCode.InternalServerError, "Internal error")); } }