public async Task<IActionResult> Post([FromBody] CreateDoctorDto doctor)
        {
            var listError = ValidPropertiesObject.ObjIsValid(doctor);
            if (listError.Count > 0)
                return await ResponseNullOrEmpty(listError);

            var result = _serviceDoctor.Create(doctor);
            return await Response(result, _serviceDoctor.Validate());
        }
Esempio n. 2
0
        public async Task <IActionResult> PostAsync([FromBody] CreateDoctorDto doctorDto)
        {
            var doctor        = _mapper.Map <Doctor>(doctorDto);
            var user          = _mapper.Map <User>(doctorDto);
            var createdDoctor = await _doctorService.AddDoctorAsync(doctor, user);

            var readDoctorDto = _mapper.Map <ReadDoctorDto>(createdDoctor);

            return(Created(nameof(GetAsync), new Response <ReadDoctorDto>(readDoctorDto)));
        }
        public async Task Post_DocotrDTO_ReturnsDocotorDTO(
            [Frozen] Doctor doctor,
            [Frozen] User user,
            [Frozen] ReadDoctorDto readDoctorDto,
            [Frozen] CreateDoctorDto createDoctorDto)
        {
            // Arrange
            doctorServiceMock.Setup(m => m.AddDoctorAsync(doctor, user))
            .ReturnsAsync(doctor);
            mapper.Setup(m => m.Map <Doctor>(createDoctorDto))
            .Returns(doctor);
            mapper.Setup(m => m.Map <User>(createDoctorDto))
            .Returns(user);
            mapper.Setup(m => m.Map <ReadDoctorDto>(doctor))
            .Returns(readDoctorDto);

            // Act
            await doctorController.PostAsync(createDoctorDto);

            // Assert
            doctorServiceMock.Verify(m => m.AddDoctorAsync(doctor, user), Times.Once);
        }
        public Doctor Create(CreateDoctorDto doctor)
        {
            var user = _service.Create(new CreateUserDto(doctor.Email, doctor.Password, doctor.Nickname, (int)EPermission.Doctor, true));

            if (user.Invalid)
            {
                AddNotifications(user.Notifications);
                return(null);
            }
            var doctorTmp = new Doctor(0, doctor.Name, doctor.Specialty, doctor.CodeRegister, user, doctor.Enabled);

            if (_repository.DoctorExists(doctorTmp))
            {
                AddNotification("Doctor", "O Médico já existe!");
            }
            if (doctorTmp.Valid)
            {
                _repository.Save(doctorTmp);
            }
            AddNotifications(user.Notifications);
            return(doctorTmp);
        }