public DocenteResponse Handle(DocenteRequest request) { if (_docenteRepository.FindDocente(request.Identificacion) != null) { return(new DocenteResponse("Ya existe el docente con esa identificacion", "Error")); } var departamento = _departamentoRepository.Find(request.departamentoId); if (departamento == null) { return(new DocenteResponse("Se debe asignar un departamento al docente", "Error")); } var docente = new Docente(); var errors = docente.CanDeliver(request.Identificacion, request.Nombres, request.Apellidos, request.Email, request.Sexo, departamento); if (errors.Any()) { var result = String.Join(", ", errors.ToArray()); return(new DocenteResponse(result, "Error")); } docente.Deliver(request.Identificacion, request.Nombres, request.Apellidos, request.Email, request.Sexo, departamento); string response = ""; try { _docenteRepository.Add(docente); response = $"Se registró correctamente el docente {docente.Nombres}"; } catch (Exception e) { response = "No se pudo registrar"; } _unitOfWork.Commit(); _emailServer.Send("Registro en AppAC", "Se registro en el sistema", docente.Email); return(new DocenteResponse(response, "Ok")); }