public IActionResult ModificarItemPlan(ItemPlanUpdateRequest request) { var service = new ItemPlanService(_unitOfWork, _planAccionRepository, _itemPlanRepository, _plazoAperturaRepository); var response = service.ModificarItem(request); return(Ok(response)); }
public static ItemPlan ConvertToItemPlan(ItemPlanUpdateRequest 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, 0); return(item); }
public void NoPuedoModificarItemSiNoEstaDentroDelPlazoDeAperturaEstablecido() { 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 ItemPlanUpdateRequest(1, "Se describe aqui dsadasdad", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.ModificarItem(request); response.Message.Should().Be("Error: La fecha no esta dentro del plazo establecido por el jefe de departamento"); }
public static List <string> CanConvertToItemPlan(ItemPlanUpdateRequest 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 PuedoModificarItem() { 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 ItemPlanUpdateRequest(1, "Se describe aqui dsadasdad", "Se describe lo que se hizo", "loquesea/dir"); var response = _itemPlanService.ModificarItem(request); response.Message.Should().Be("Se actualizó el item correctamente"); }
public ItemPlanResponse ModificarItem(ItemPlanUpdateRequest request) { var item = _itemPlanRepository.Find(request.Id); if (item == null) { return(new ItemPlanResponse("No se encontro el item", null)); } var plan = _planAccionRepository.Find(item.PlanAccionId); var verificacionPlazoApertura = verificarPlazoAperturaService.Handle(plan.Actividad.Asignador.Identificacion); if (verificacionPlazoApertura.Contains("Error")) { return(new ItemPlanResponse(verificacionPlazoApertura, null)); } var errors = new List <string>(); errors.AddRange(ItemPlanUtils.CanConvertToItemPlan(request)); if (errors.Any()) { return(new ItemPlanResponse(StringUtils.ToString(errors), item)); } var auxItem = ItemPlanUtils.ConvertToItemPlan(request); errors.AddRange(item.CanDeliver(auxItem.AccionPlaneada, auxItem.AccionRealizada)); if (errors.Any()) { return(new ItemPlanResponse(StringUtils.ToString(errors), item)); } item.Deliver(auxItem.AccionPlaneada, auxItem.AccionRealizada, item.PlanAccionId); var response = ""; try { _itemPlanRepository.Update(item); response = "Se actualizó el item correctamente"; } catch (Exception e) { response = "No se pudo actualizar"; } _unitOfWork.Commit(); return(new ItemPlanResponse(response, item)); }