コード例 #1
0
        public async Task <ActionResult <ScheduleDto> > PostSchedule([FromBody] CreateScheduleDto scheduleDTO)
        {
            var resSchedule = await _scheduleService
                              .CreateScheduleAsync(scheduleDTO);

            return(resSchedule.ToActionResult());
        }
コード例 #2
0
        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()));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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"));
            }
        }