示例#1
0
        public void Should_Add_A_Specialty_To_A_Hospital()
        {
            AddSpecialtyCommand command = new AddSpecialtyCommand()
            {
                HospitalId   = hospitalRepository.hospitals.FirstOrDefault().Id,
                SpecialtylId = specialtyRepository.specialties[0].Id
            };

            Assert.IsNotNull(_handler.Handler(command));
        }
        public ICommandResult Handler(AddSpecialtyCommand command)
        {
            Specialty specialty = _specialtyRepository.GetById(command.SpecialtylId);
            Hospital  hospital  = _hospitalRepository.GetById(command.HospitalId);

            hospital.AddSpecialty(specialty);
            if (!hospital.IsValid())
            {
                return(null);
            }
            _hospitalRepository.AddSpecialty(hospital, command.SpecialtylId);
            return(new StandardHospitalCommandResult(hospital.Id, DateTime.Now));
        }