public IActionResult PostCrearItemPlan(ItemPlanRequest request) { var service = new ItemPlanService(_unitOfWork, _planAccionRepository, _itemPlanRepository, _plazoAperturaRepository); var response = service.RegistrarItem(request); return(Ok(response)); }
public void NoPuedoCrearPlanDeAccionSiNoExisteUnaActividad() { var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(2, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Debe tener una actividad asignada para crear una plan de acciones"); }
public void NoPuedoCrearItemPlanSiNoExistePlanAccion() { var plazo = PlazoAperturaMother.CreatePlazoApertura("123313"); _plazoAperturaRepository.Add(plazo); _dbContext.SaveChanges(); var request = new ItemPlanRequest(1, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.RegistrarItem(request); response.Message.Should().Be("No se encontró el plan de acción"); }
public void NoPuedoEliminarItemPlanSiNoExiste() { var plan = PlanAccionMother.CreatePlanAccion(); _planAccionRepository.Add(plan); _dbContext.SaveChanges(); var request = new ItemPlanRequest(1, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); _itemPlanService.RegistrarItem(request); var response = _itemPlanService.EliminarItem(100); response.Message.Should().Be("No se encontró el item"); }
public static ItemPlan ConvertToItemPlan(ItemPlanRequest request) { var item = new ItemPlan(); var accionPlaneada = new AccionPlaneada(); accionPlaneada.Deliver(request.AccionPlaneada_Descripcion); var accionRealizada = new AccionRealizada(); var evidencia = new Evidencia(); evidencia.Deliver(request.AccionRealizada_evidencia_Ruta); accionRealizada.Deliver(request.AccionRealizada_Descripcion, evidencia); item.Deliver(accionPlaneada, accionRealizada, request.PlanId); return(item); }
public void NoPuedoCrearPlanDeAccionSiNoExisteElPlazoDeApertura() { var actividad = ActividadMother.CreateActividad(); _actividadRepository.Add(actividad); _dbContext.SaveChanges(); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(1, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Error: No se encontro ningun plazo de apertura"); }
public void PuedoCrearItemPlanDeAccion() { var plan = PlanAccionMother.CreatePlanAccion(); _planAccionRepository.Add(plan); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var request = new ItemPlanRequest(1, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.RegistrarItem(request); response.Message.Should().Be("Item registrado correctamente"); }
public static List <string> CanConvertToItemPlan(ItemPlanRequest request) { var errors = new List <string>(); var item = new ItemPlan(); var accionPlaneada = new AccionPlaneada(); errors.AddRange(accionPlaneada.CanDeliver(request.AccionPlaneada_Descripcion)); var accionRealizada = new AccionRealizada(); var evidencia = new Evidencia(); errors.AddRange(evidencia.CanDeliver(request.AccionRealizada_evidencia_Ruta)); errors.AddRange(accionRealizada.CanDeliver(request.AccionRealizada_Descripcion, evidencia)); errors.AddRange(item.CanDeliver(accionPlaneada, accionRealizada)); return(errors); }
public void NoPuedoGuardarItemPlanSiNoEstaDentroDelPlazoDeAperturaEstablecido() { var plan = PlanAccionMother.CreatePlanAccion(); _planAccionRepository.Add(plan); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoAperturaVencido("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var request = new ItemPlanRequest(1, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.RegistrarItem(request); response.Message.Should().Be("Error: La fecha no esta dentro del plazo establecido por el jefe de departamento"); }
public void PuedoCrearPlanDeAccion() { var actividad = ActividadMother.CreateActividad(); _actividadRepository.Add(actividad); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(1, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Plan de accion registrado correctamente"); }
public void NoPuedoCrearPlanDeAccionNoEstaDentroDelPlazoDeApertura() { var actividad = ActividadMother.CreateActividad(); _actividadRepository.Add(actividad); _dbContext.SaveChanges(); var plazo = PlazoAperturaMother.CreatePlazoAperturaVencido("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazo.FechaInicio, plazo.FechaFin); _plazoAperturaService.CrearPlazoApertura(plazoRequest).Message.Should().Be("El plazo fue correctamente ingresado"); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest(1, items); var response = _crearPlanAccionService.Handle(request); response.Message.Should().Be("Error: La fecha no esta dentro del plazo establecido por el jefe de departamento"); }
public async Task PuedeCrearPlanAccionTestAsync() { // var httpClient = _factory.CreateClient(); var context = _factory.CreateContext(); var actividadToAdd = ActividadMother.CreateActividad(); context.Actividades.Add(actividadToAdd); context.SaveChanges(); var plazoToAdd = PlazoAperturaMother.CreatePlazoApertura("123313"); var plazoRequest = new PlazoAperturaRequest("123313", plazoToAdd.FechaInicio, plazoToAdd.FechaFin); var jsonObject = JsonConvert.SerializeObject(plazoRequest); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var responseHttp = await _client.PostAsync("api/PlazoApertura", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var item = new ItemPlanRequest(0, "Se describe aqui", "Se describe lo que se hizo", "loquesea/dir"); var items = new List <ItemPlanRequest>(); items.Add(item); var request = new PlanAccionRequest( 1, items ); jsonObject = JsonConvert.SerializeObject(request); content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); responseHttp = await _client.PostAsync("api/PlanAccion", content); responseHttp.StatusCode.Should().Be(HttpStatusCode.OK); var respuesta = await responseHttp.Content.ReadAsStringAsync(); respuesta.Should().Contain("Plan de accion registrado correctamente"); var plan = context.Planes.FirstOrDefault(); plan.Should().NotBeNull(); }
public ItemPlanResponse RegistrarItem(ItemPlanRequest request) { var planAccion = _planAccionRepository.Find(request.PlanId); if (planAccion == null) { return(new ItemPlanResponse("No se encontró el plan de acción", null)); } var verificacionPlazoApertura = verificarPlazoAperturaService.Handle(planAccion.Actividad.Asignador.Identificacion); if (verificacionPlazoApertura.Contains("Error")) { return(new ItemPlanResponse(verificacionPlazoApertura, null)); } var errors = ItemPlanUtils.CanConvertToItemPlan(request); if (errors.Any()) { var result = String.Join(", ", errors.ToArray()); return(new ItemPlanResponse(result, null)); } var item = ItemPlanUtils.ConvertToItemPlan(request); var response = ""; try { _itemPlanRepository.Add(item); response = "Item registrado correctamente"; } catch (Exception e) { response = "No se pudo registrar"; } _unitOfWork.Commit(); return(new ItemPlanResponse(response, item)); }