Beispiel #1
0
        public IActionResult PostCrearItemPlan(ItemPlanRequest request)
        {
            var service  = new ItemPlanService(_unitOfWork, _planAccionRepository, _itemPlanRepository, _plazoAperturaRepository);
            var response = service.RegistrarItem(request);

            return(Ok(response));
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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");
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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");
        }
Beispiel #7
0
        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");
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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");
        }
Beispiel #10
0
        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");
        }
Beispiel #11
0
        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");
        }
Beispiel #12
0
        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();
        }
Beispiel #13
0
        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));
        }