public IActionResult PostCrearDocente(DocenteRequest request) { var service = new CrearDocenteService(_unitOfWork, _departamentoRepository, _docenteRepository, _mailServer); var response = service.Handle(request); return(Ok(response)); }
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")); }
public void NoPuedeGuardarDocenteSiElDptoNoExisteTest() { var docente = DocenteMother.CreateDocente("342324214"); _departamentoRepository.Add(docente.Departamento); _dbContext.SaveChanges(); var request = new DocenteRequest( docente.Identificacion, docente.Nombres, docente.Apellidos, docente.Email, docente.Sexo, 3 ); var response = _crearDocenteService.Handle(request).Mensaje; Assert.AreEqual("Se debe asignar un departamento al docente", response); }
public void PuedeGuardarDocenteTest() { var docente = DocenteMother.CreateDocente("12141411"); _departamentoRepository.Add(docente.Departamento); _dbContext.SaveChanges(); var request = new DocenteRequest( docente.Identificacion, docente.Nombres, docente.Apellidos, docente.Email, docente.Sexo, docente.Departamento.Id ); var response = _crearDocenteService.Handle(request).Mensaje; Assert.AreEqual("Se registró correctamente el docente Sebastian", response); }
public async Task PuedeCrearDocenteTestAsync() { var request = new DocenteRequest( "123zzz", "Sebastian", "Oñate", "*****@*****.**", "M", 1 ); var jsonObject = JsonConvert.SerializeObject(request); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var httpClient = _factory.CreateClient(); var responseHttp = await httpClient.PostAsync("api/Docente", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("Se registró correctamente el docente Sebastian"); var context = _factory.CreateContext(); var docente123adf = context.Docentes.FirstOrDefault(t => t.Identificacion == "123zzz"); docente123adf.Should().NotBeNull(); }