public async Task <IHttpActionResult> Create([FromBody] SolicitudAcceso model)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                if (String.IsNullOrEmpty(model.ModuloId))
                {
                    throw new Exception("no se indicó el módulo");
                }
                //var entity = await _entityRepo.existeSolicitudByPersonaInformOCIdANDestadoFlujo(personaId, InformacionOCId, estadoFlujoId);
                var rechazoPrevio = await _entityRepo.SolicitudByPersonaInformOCIdANDestadoFlujo(model.ClavePersonaSolicitante, model.InformacionOCId, 9); //9 is rechazado

                if (rechazoPrevio != null)
                {
                    await _entityRepo.UpdateEstado(rechazoPrevio.SolicitudAccesoId, 8); //se actualiza a 8: nueva solicitud de acceso

                    rechazoPrevio.EstadoFlujoId = 8;
                    return(Ok(rechazoPrevio));
                }
                else
                {
                    await _entityRepo.Create(model); //necesario recuperar el objeto para obtener el nuevo id en el front

                    return(Ok(model));
                }
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Solicitar(SolicitudAcceso solicitudAcceso)
        {
            ModelState.Remove("GrupoId");

            if (ModelState.IsValid)
            {
                var grupoBuscar = _db.Grupos.FirstOrDefault(g => g.Llave == solicitudAcceso.LlaveGrupo);
                if (grupoBuscar == null)
                {
                    ModelState.AddModelError("LlaveGrupo", "Esta llave de grupo no es válida");
                    return(View(solicitudAcceso));
                }

                solicitudAcceso.GrupoId = grupoBuscar.Id;
                _db.SolicitudesAccesos.Add(solicitudAcceso);
                _db.SaveChanges();

                if (grupoBuscar.AutorizacionAutomaticaSolicitudes)
                {
                    _operarSolicitudes.Autorizar(solicitudAcceso.Id);
                }

                return(RedirectToAction("Index", "Home"));
            }

            return(View(solicitudAcceso));
        }
        public void Solicitudes2Test()
        {
            SolicitudAcceso obj1 = new SolicitudAcceso();

            obj1.Fecha       = DateTime.Now;
            obj1.NivelAcceso = 5;
            Assert.IsTrue(VerificarAprobacion(obj1));
        }
Ejemplo n.º 4
0
        public ActionResult Solicitar()
        {
            var solicitudAcceso = new SolicitudAcceso
            {
                FechaAlta = DateTime.Now,
                Pais      = "MEXICO",
                Status    = Status.Activo
            };

            return(View(solicitudAcceso));
        }
Ejemplo n.º 5
0
 public async Task Create(SolicitudAcceso model)
 {
     try
     {
         _db.dbSetSolicitudAcceso.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
        public void SolicitudHWTest()
        {
            SolicitudAcceso obj1 = new SolicitudAcceso();

            obj1.NivelAcceso = 3;
            Assert.IsTrue(obj1.Aprobar(), "El usuario administrador no puede aprobar");
            Solicitud obj2 = new SolicitudAcceso()
            {
                NivelAcceso = 4
            };

            Assert.IsTrue(obj2.Aprobar(), "El usuario administrador no puede aprobar");
            // Assert.IsTrue(true);//Identifica si el resultado de la prueba es verdadero o falso.
            //Assert es una asercion, es checklist
        }
Ejemplo n.º 7
0
        public void SolicitudHWTest()
        {
            //F10 paso a paso
            //F11 para ingresar a la funcion que se desea depurar
            SolicitudAcceso obj1 = new SolicitudAcceso();

            obj1.NivelAcceso = 2;
            Assert.IsTrue(obj1.Aprobar(), "El usuario administrador no puede aprobar.");

            Solicitud obj2 = new SolicitudAcceso()
            {
                NivelAcceso = 4
            };

            Assert.IsTrue(obj2.Aprobar(), "El usuario administrador no puede aprobar 4.");
        }
        public void SolicitudHWTest()
        {
            //Assert.IsTrue(false, "Error conexion db");
            SolicitudAcceso obj1 = new SolicitudAcceso();

            obj1.NivelAcceso = 2;

            Assert.IsTrue(obj1.Aprobar(), "El usuario administrador no puede aprobar");

            Solicitud obj2 = new SolicitudAcceso()
            {
                NivelAcceso = 4
            };

            Assert.IsTrue(obj2.Aprobar(), "El usuario administrador no puede aprobar");
        }
Ejemplo n.º 9
0
        public async Task Update(SolicitudAcceso model)
        {
            try
            {
                var _model = await _db.dbSetSolicitudAcceso.FirstOrDefaultAsync(e => e.SolicitudAccesoId == model.SolicitudAccesoId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <IHttpActionResult> Update([FromBody] SolicitudAcceso model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                await _entityRepo.Update(model);

                return(Ok("Registro actualizado exitosamente!"));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
Ejemplo n.º 11
0
        public ActionResult Operar(SolicitudAcceso solicitudAcceso)
        {
            if (ModelState.IsValid)
            {
                if (solicitudAcceso.Autorizar)
                {
                    var usuario = _operarSolicitudes.Autorizar(solicitudAcceso.Id);
                    _operacionesUsuarios.Crear(usuario);

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    _operarSolicitudes.Rechazar(solicitudAcceso.Id);
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View(solicitudAcceso));
        }