public async Task <ICommandExit> Handler(CreateNurseCommand command) { Nurse nurse = new Nurse(command.Name, command.CPF, command.BirthDate, command.Coren, command.Id_Hospital); if (Invalid) { return(new CommandExit(false, "Erro ao cadastrar Nurse", nurse)); } await Task.Factory.StartNew(() => { _nurseRepository.Create(nurse); }); return(new CommandExit(true, "Cadastro Realizado Com Sucesso", nurse)); }
public async Task <ICommandResult> Handler(CreateNurseCommand command) { command.Validate(); if (!command.Valid) { return(new GenericCommandResult(false, "Ops, parece que algo está errado!", command.Notifications)); } var isDocument = await _nurseRepository.DocumentExists(command.CPF); if (isDocument) { return(new GenericCommandResult(false, "Ops, já temos um enfermeio cadastrado com esse CPF", command.Notifications)); } var document = new Document(command.CPF, EDocumentType.CPF); var nurse = new Nurse(command.Name, document, command.Coren, command.DateBirth, command.HospitalId); await _nurseRepository.Create(nurse); return(new GenericCommandResult(true, "Enfermeiro cadastrado", nurse)); }