public ActividadResponse Handle(ActividadRequest request) { var tipoActividad = _tipoActividadRepository.Find(request.TipoActividadId); if (tipoActividad == null) { return(new ActividadResponse("No existe ese tipo de actividad", null, "Error")); } var asignador = _usuarioRepository.FindJefeDpto(request.IdentificacionAsignador); if (asignador == null) { return(new ActividadResponse("No se encontró el Jefe de departamento", null, "Error")); } var responsable = _usuarioRepository.FindDocente(request.IdentificacionResponsable); if (responsable == null) { return(new ActividadResponse("No se encontró el docente", null, "Error")); } var actividad = new Actividad(tipoActividad, asignador); var response = actividad.Asignar(responsable, request.HorasAsignadas); _actividadRepository.Add(actividad); _unitOfWork.Commit(); _emailServer.Send("Nueva actividad asignada", $"Se efectúo la asignacion de la actividad", responsable.Email); return(new ActividadResponse(response, actividad, "Ok")); }
public IActionResult PostCrearActividad(ActividadRequest request) { var service = new AsignarActividadService(_unitOfWork, _actividadRepository, _usuarioRepository, _tipoActividadRepository, _mailServer); var response = service.Handle(request); return(Ok(response)); }
public void NoPuedoAsignarActividadAUnDocenteSiNoExisteElTipoDeActividad() { var docente = DocenteMother.CreateDocente("103523423"); var jefeDpto = JefeDptoMother.CreateJefeDpto("11223334"); _usuarioRepository.Add(jefeDpto); _usuarioRepository.Add(docente); _dbContext.SaveChanges(); var request = new ActividadRequest(100, "11223334", "103523423", 10); var response = _asignarActividadService.Handle(request); response.Message.Should().Be("No existe ese tipo de actividad"); }
public void NoPuedoAsignarActividadAUnDocenteSiNoExisteElJefeDptoAsignador() { var docente = DocenteMother.CreateDocente("103523423"); _usuarioRepository.Add(docente); var tipo = new TipoActividad("Investigaci�n"); _tipoActividadRepository.Add(tipo); _dbContext.SaveChanges(); var request = new ActividadRequest(1, "11223334", "103523423", 10); var response = _asignarActividadService.Handle(request); response.Message.Should().Be("No se encontró el Jefe de departamento"); }
public void PuedoAsignarActividadAUnDocente() { var docente = DocenteMother.CreateDocente("103523423"); var jefeDpto = JefeDptoMother.CreateJefeDpto("11223334"); _usuarioRepository.Add(jefeDpto); _usuarioRepository.Add(docente); var tipo = new TipoActividad("Investigaci�n"); _tipoActividadRepository.Add(tipo); _dbContext.SaveChanges(); var request = new ActividadRequest(1, "11223334", "103523423", 10); var response = _asignarActividadService.Handle(request); response.Message.Should().Be("Se asignaron 10 horas de Investigaci�n al docente Sebastian"); }
public async Task PuedeCrearActividadTestAsync() { var context = _factory.CreateContext(); var jefeDptoToAdd = JefeDptoMother.CreateJefeDpto("123454a"); var docenteToAdd = DocenteMother.CreateDocente("1254b"); var tipoActividadToAdd = new TipoActividad("Investigacion"); context.JefesDptos.Add(jefeDptoToAdd); context.Docentes.Add(docenteToAdd); context.TiposActividades.Add(tipoActividadToAdd); context.SaveChanges(); var jefeDpto = context.JefesDptos.FirstOrDefault(t => t.Identificacion == "123454a"); var docente = context.Docentes.FirstOrDefault(t => t.Identificacion == "1254b"); var tipo = context.TiposActividades.FirstOrDefault(t => t.NombreActividad == "Investigacion"); jefeDpto.Should().NotBeNull(); docente.Should().NotBeNull(); tipo.Should().NotBeNull(); var request = new ActividadRequest( 1, "123454a", "1254b", 10 ); var jsonObject = JsonConvert.SerializeObject(request); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var responseHttp = await _client.PostAsync("api/Actividad", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("Se asignaron 10 horas de Investigacion al docente Sebastian"); var actividad = context.Actividades.FirstOrDefault(t => t.Asignador.Identificacion == "123454a"); actividad.Should().NotBeNull(); }