public IHttpActionResult PutDOC_CEDULA(long id, DOC_CEDULA dOC_CEDULA)
        {
            /*if (!ModelState.IsValid)
             * {
             *  return BadRequest(ModelState);
             * }
             *
             * if (id != dOC_CEDULA.ID_CEDULA)
             * {
             *  return BadRequest();
             * }
             *
             * db.Entry(dOC_CEDULA).State = EntityState.Modified;
             *
             * try
             * {
             *  db.SaveChanges();
             * }
             * catch (DbUpdateConcurrencyException)
             * {
             *  if (!DOC_CEDULAExists(id))
             *  {
             *      return NotFound();
             *  }
             *  else
             *  {
             *      throw;
             *  }
             * }*/

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult PostDOC_CEDULA(DOC_CEDULA dOC_CEDULA)
        {
            /*if (!ModelState.IsValid)
             * {
             *  return BadRequest(ModelState);
             * }
             *
             * db.DOC_CEDULA.Add(dOC_CEDULA);
             * db.SaveChanges();*/

            return(CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.ID_CEDULA }, dOC_CEDULA));
        }
        public IHttpActionResult DeleteDOC_CEDULA(long id)
        {
            DOC_CEDULA dOC_CEDULA = db.DOC_CEDULA.Find(id);

            /*if (dOC_CEDULA == null)
             * {
             *  return NotFound();
             * }
             *
             * db.DOC_CEDULA.Remove(dOC_CEDULA);
             * db.SaveChanges();*/

            return(Ok(dOC_CEDULA));
        }
Beispiel #4
0
        public IHttpActionResult PostCedula(Models.docCedulaModel docCedula)
        {
            long   idCedula;
            string fechaCarga;
            byte   idFirmante;
            string tipoCedula;
            string cedulaF;

            Cs.sellado sellado = new Cs.sellado();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //VALIDAR USUARIO
            var    usuario    = rolUsuario.tomarUsuario();
            int    ban        = usuario.ban;
            string filtro     = usuario.correo;
            int    id_usuario = usuario.id_usuario;
            int    perfil     = usuario.id_rol;
            string alcances   = usuario.alcances;
            int    maxb       = usuario.maxb;

            if (ban <= maxb)
            {
                if (docCedula.CEDULAFEDERAL == null || docCedula.CEDULAFEDERAL == "")
                {
                    cedulaF = "0000000";
                }
                else
                {
                    cedulaF = docCedula.CEDULAFEDERAL;
                }

                ////VALIDACION TITULO ANTERIORMENTE REGISTRADO
                int clvCarrera      = Int32.Parse(docCedula.CVECARRERA);
                var tituloDuplicado = db.DOC_CEDULA.Where(c => c.ID_CARRERA == clvCarrera && c.CURP == docCedula.CURP).FirstOrDefault();

                if (tituloDuplicado != null)
                {
                    return(BadRequest("ERROR: El título ha sido cargado previamente"));
                }

                //////CREAR Y CARGAR CEDULA
                DOC_CEDULA dOC_CEDULA = (new DOC_CEDULA()
                {
                    CURP = docCedula.CURP,
                    NOMBRES = docCedula.NOMBRE,
                    PRIMER_APELLIDO = docCedula.PRIMERAPELLIDO,
                    SEGUNDO_APELLIDO = docCedula.SEGUNDOAPELLIDO,
                    INSTITUCION = docCedula.NOMBREINSTITUCION,
                    ID_CARRERA = Int32.Parse(docCedula.CVECARRERA),
                    DESC_CARRERA = docCedula.NOMBRECARRERA,

                    TIPO_CEDULA = "A",
                    ID_ESTATUS = 1,
                    FECHA_CARGA = DateTime.Now,
                    FECHA_SELLO = DateTime.Now,
                    CEDULA_FEDERAL = cedulaF,
                    SELLO = "",
                    HASH_QR = "",
                    ID_FIRMANTE = 1,
                });

                db.DOC_CEDULA.Add(dOC_CEDULA);
                try
                {
                    db.SaveChanges();
                    var urlId = CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.ID_CEDULA }, dOC_CEDULA);
                    idCedula = urlId.Content.ID_CEDULA;
                    var urlFechaS = CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.FECHA_SELLO }, dOC_CEDULA);
                    fechaCarga = (urlFechaS.Content.FECHA_SELLO).ToString();
                    var urlFirmante = CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.ID_FIRMANTE }, dOC_CEDULA);
                    idFirmante = (byte)urlFirmante.Content.ID_FIRMANTE;
                    var urlTipoCedula = CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.TIPO_CEDULA }, dOC_CEDULA);
                    tipoCedula = urlFirmante.Content.TIPO_CEDULA;
                }
                catch (Exception ex)
                {
                    return(BadRequest("ERROR: Al grabar cedula"));
                }

                //////PROSESO DE SELLADO
                string idCed          = rolUsuario.numeroCedula(idCedula);
                string idCedE         = tipoCedula + "-" + idCed;
                string cadenaOriginal = sellado.cadenaOriginal(docCedula, idCedE, cedulaF, fechaCarga, idFirmante);
                string sello          = sellado.crearSello(cadenaOriginal, idFirmante);
                string selloSubstring = sello.Substring(0, 5);
                if (selloSubstring == "Error")
                {
                    return(BadRequest(sello));
                }
                /////CREACION DE HASH
                string hashQr = sellado.stringSha265(idCedE);
                /////COMPLETAN LOS CAMPOS FALTANTES DE DOC_CEDULA
                var cedula = db.DOC_CEDULA.Where(c => c.ID_CEDULA == idCedula).FirstOrDefault();
                cedula.SELLO           = sello;
                cedula.HASH_QR         = hashQr;
                db.Entry(cedula).State = EntityState.Modified;
                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    return(BadRequest("ERROR: Al actualizar sello " + ex.ToString()));
                }

                /////ALMACENA XML
                XML xML = (new XML()
                {
                    ID_CEDULA = idCedula,
                    XML1 = docCedula.XML,
                });
                db.XML.Add(xML);
                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex) { BadRequest("ERROR: Al grabar xml " + ex.ToString()); }

                //////ALMACENAMOS EN BITACORA
                BITACORA bITACORA = (new BITACORA()
                {
                    ID_CEDULA = idCedula,
                    FECHA = DateTime.Now,
                    TIPO_MOVIMIENTO = 1,
                    ID_USUARIO = id_usuario,
                });
                db.BITACORA.Add(bITACORA);
                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex) { BadRequest("ERROR: Al grabar bitacora " + ex.ToString()); }

                //return CreatedAtRoute("DefaultApi", new { id = dOC_CEDULA.ID_CEDULA }, dOC_CEDULA);
                return(Ok("Cedula: " + idCedE + " creada"));
            }
            else
            {
                return(BadRequest("El Correo Electrónico // o Id de usuario // o Perfil Es incorrecto... "));
            }
        }