Example #1
0
        public IActionResult ModificarItemPlan(ItemPlanUpdateRequest request)
        {
            var service  = new ItemPlanService(_unitOfWork, _planAccionRepository, _itemPlanRepository, _plazoAperturaRepository);
            var response = service.ModificarItem(request);

            return(Ok(response));
        }
Example #2
0
        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);
        }
Example #3
0
        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");
        }
Example #4
0
        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);
        }
Example #5
0
        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");
        }
Example #6
0
        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));
        }