예제 #1
0
        private IEnumerable <listaResultadoDocumentos> _grillaWsResultado()
        {
            DocumentosController bdoc = new DocumentosController();
            GestorDocumentalEnt  data = new GestorDocumentalEnt();
            int negocio = Convert.ToInt32(Session["_Negocio"].ToString());
            List <Documentos> listaDocumentos = bdoc.obtenerDocumentosIndexacion(negocio);

            ViewData["_disableDocFaltantes"] = "visible";
            ViewData["tamaño"] = "style='height: 850px'";
            int accion2 = 0;

            if (negocio != 0)
            {
                var accion = data.sp_Obtener_Accion((int?)negocio).ToList().FirstOrDefault();
                accion2 = Convert.ToInt32(accion);
                if (accion2 == 1 || accion2 == 3)
                {
                    ViewData["_disableDocFaltantes"] = "hidden";
                }
                else
                {
                    ViewData["_disableDocFaltantes"] = "visible";
                    ViewData["tamaño"] = "style='height: 1150px'";
                }
            }

            if (accion2 == 3 || accion2 == 4)
            {
                var grilla = (from a in listaDocumentos
                              where a.Mascara != 10 & a.Mascara != 11 & a.Mascara != 12 & a.Mascara != 13
                              select new listaResultadoDocumentos()
                {
                    docId = a.DocId,
                    docIdMasc = a.Mascara,
                    docDescripcion = a.DocDescripcion
                });
                return(grilla);
            }
            else
            {
                var grilla = (from a in listaDocumentos
                              where a.Mascara != 14 & a.Mascara != 15 & a.Mascara != 16 & a.Mascara != 17
                              select new listaResultadoDocumentos()
                {
                    docId = a.DocId,
                    docIdMasc = a.Mascara,
                    docDescripcion = a.DocDescripcion
                });
                return(grilla);
            }
        }
        private IEnumerable <_grillalstResultDocs> _grillaWsResultado(int _negId)
        {
            int negocio = Convert.ToInt32(Session["_Negocio"].ToString());

            List <Documentos> listaDocumentos = CDoc.obtenerDocumentosIndexacion(negocio);

            var grilla = (from a in listaDocumentos
                          select new _grillalstResultDocs()
            {
                docId = a.DocId,
                docIdMasc = a.Mascara,
                docDescripcion = a.DocDescripcion
            });

            return(grilla);
        }
예제 #3
0
        public JsonResult AgregaIndexacion(string _nroDocumento, string _nroPagina)
        {
            GestorDocumentalEnt    data  = new GestorDocumentalEnt();
            AsignacionesController bAsig = new AsignacionesController();
            DocumentosController   bdoc  = new DocumentosController();
            List <Documentos>      doc   = new List <Documentos>();
            int    negocio   = Convert.ToInt32(Session["_Negocio"].ToString());
            string txtPagina = _nroPagina;

            ViewData["MensajeError_"]        = "";
            Session["_Error"]                = 0;
            ViewData["ROtxtPagina"]          = "";
            ViewData["ROtxtDocumento"]       = "";
            ViewData["_btnFinalizarVisible"] = "hidden";
            ViewData["_disableCampDoc"]      = "";
            ViewData["_btnGuardarVisible"]   = "";
            ViewData["_ValorPagina_"]        = "";
            try
            {
                if (_nroDocumento.Equals("") || _nroDocumento.Equals(null))
                {
                    ViewData["MensajeError_"] = "Debe ingresar un documento para indexar.";
                }
                else
                {
                    //string txtDocumento = collection["txtDocumento"].ToString();
                    string txtDocumento = consultDcoId(_nroDocumento, negocio);


                    //Verifica que el numero de documento que digita este en la lista asignada
                    int NedId = int.Parse(((Captura)this.Session["NEGOCIO"]).NegId.ToString());
                    doc = bdoc.obtenerDocumentosIndexacion(NedId);
                    var DocumentosIdex = doc.Find(x => x.DocId == int.Parse(txtDocumento));

                    //JFP; abril-2016; verificar que no se indexe mas de un documento con la misma tipologia a no ser que se permita
                    int IndexaMultiple = data.sp_ValidaIndexaMultiple(Convert.ToInt32(txtDocumento), Convert.ToInt32(_nroDocumento), Convert.ToDecimal(NedId)).ToList().SingleOrDefault().Value;

                    //int sn_indexa = Convert.ToInt32(IndexaMultiple.ToString());
                    if (IndexaMultiple == 1)
                    {
                        if ((txtDocumento.Trim() != string.Empty) & (txtPagina.Trim() != string.Empty))
                        {
                            if (DocumentosIdex != null)
                            {
                                if (Convert.ToInt32(txtPagina) <= bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]))
                                {
                                    ArchivosAnexos c = new ArchivosAnexos
                                    {
                                        NegId         = ((Captura)this.Session["NEGOCIO"]).NegId,
                                        AADescripcion = ((Captura)this.Session["NEGOCIO"]).NegId.ToString(),
                                        DocId         = Convert.ToInt32(txtDocumento),
                                        NumPagina     = Convert.ToInt32(txtPagina),
                                        FechaRegistro = DateTime.Now,
                                        Usuario       = new decimal?(((Usuarios)this.Session["USUARIO"]).IdUsuario)
                                    };

                                    if (!bdoc.buscarPaginaDigitada(c))
                                    {
                                        bdoc.insertarDocsIndexados(c);
                                        cargarPaginasIndexadas();
                                        var a = (int.Parse(txtPagina) + 1).ToString();
                                        ViewData["_Pagina"] = (int.Parse(txtPagina) + 1).ToString();
                                        if (bdoc.IndexacionTerminada(c))
                                        {
                                            ViewData["_btnFinalizarVisible"] = "visible";
                                            ViewData["_disableCampDoc"]      = "disabled='disabled'";
                                            ViewData["_btnGuardarVisible"]   = "hidden";
                                            ViewData["ROtxtDocumento"]       = "readonly='true'";
                                            ViewData["ValorDocumento"]       = "";
                                            ViewData["MensajeError_"]        = "";
                                        }
                                        ViewData["_btnFinalizarVisible"] = "hidden";
                                        ViewData["MensajeError_"]        = "";
                                        Session["_NumPaginas_"]          = bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]).ToString();
                                    }
                                    else
                                    {
                                        ViewData["MensajeError_"] = "La pagina ingresada ya se encuentra asignada a otro documento";
                                    }
                                }
                                else
                                {
                                    ViewData["MensajeError_"] = "El numero de pagina es mayor al total de paginas del archivo";
                                }
                            }
                            else
                            {
                                ViewData["MensajeError_"] = "Digite un documento valido de la lista";
                            }
                        }
                        else
                        {
                            ViewData["MensajeError_"] = "Digite el documento y la pagina correspondiente.";
                        }
                    }
                    else
                    {
                        ViewData["MensajeError_"] = "Ya existe un documento clasificado con el código ingresado, por favor validar si es un anexo del tipo documental.";
                    }
                }

                // Modificacion 04/05/2016 William Eduardo Cicua
                // este if recargar la pagina si no hay ningun error al indexar
                // se cambia visibilidad de los botones y se desactivan los campos
                if (ViewData["MensajeError_"].ToString() == "")
                {
                    ViewData["_ValorPagina_"] = "1";
                    P_Etapas etapas = new P_Etapas
                    {
                        IdEtapa = 20
                    };

                    Captura n     = new Captura();
                    decimal dec   = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                    var     negId = bAsig.ObtenerNegociosXEntrada((Usuarios)this.Session["USUARIO"], etapas);
                    if (negId == 0M)
                    {
                        n.NegId = 0M;
                        this.Session["NEGOCIO"]    = n;
                        ViewData["ROtxtPagina"]    = "readonly='true'";
                        ViewData["ROtxtDocumento"] = "readonly='true'";
                        ViewData["MensajeError_"]  = "No existen negocios disponibles para esta etapa";
                        Session["TITULO"]          = "Indexación";
                    }
                    else
                    {
                        n.NegId = negId;
                        this.Session["NEGOCIO"] = n;
                        Session["TITULO"]       = "Indexación del Negocio:" + n.NegId.ToString();
                        AsignacionTareas a = new AsignacionTareas
                        {
                            NegId      = n.NegId,
                            IdEtapa    = etapas.IdEtapa,
                            Usuario    = ((Usuarios)this.Session["USUARIO"]).IdUsuario,
                            HoraInicio = DateTime.Now,
                            IdEstado   = 10
                        };

                        cargarPaginasIndexadas();
                        int     num;
                        decimal _usu      = ((Usuarios)this.Session["USUARIO"]).IdUsuario;
                        var     resultado = data.sp_ValIndexacion(Convert.ToDecimal(negId), _usu).SingleOrDefault();
                        if (resultado == 0)
                        {
                            var numN = data.sp_ObtSigPag(Convert.ToDecimal(negId)).SingleOrDefault();
                            num = Convert.ToInt32(numN);
                        }
                        else
                        {
                            num = bdoc.obtenerUltimaPagina(n) + 1;
                        }
                        ViewData["_ValorPagina_"] = num.ToString();
                        int num2 = bdoc.ObtenerNumPaginasNegocio(n);
                        if (num > num2)
                        {
                            ViewData["_btnFinalizarVisible"] = "visible";
                            ViewData["_disableCampDoc"]      = "disabled='disabled'";
                            ViewData["_btnGuardarVisible"]   = "hidden";
                        }
                        if (!bAsig.ExisteEtapa(a))
                        {
                            bAsig.insertarAsignacion(a);
                        }
                    }

                    Session["_Negocio"] = (int)n.NegId;
                    if (n.NegId == 0)
                    {
                        ViewData["MensajeError_"] = "No existen documentos asociados a el subgrupo.";
                    }


                    if (((Captura)this.Session["NEGOCIO"]).NegId != 0M)
                    {
                        Session["_NumPaginas_"] = bdoc.ObtenerNumPaginasNegocio((Captura)this.Session["NEGOCIO"]).ToString();
                    }
                    string[] ArrView = { ViewData["MensajeError_"].ToString(), ViewData["_ValorPagina_"].ToString(), ViewData["_btnFinalizarVisible"].ToString(), ViewData["_disableCampDoc"].ToString(), ViewData["_btnGuardarVisible"].ToString() };
                    return(Json(ArrView, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception exception)
            {
                LogRepository.registro("Error en IndexacionImg.aspx metodo Button1_Click " + exception.Message);
                ViewData["MensajeError_"] = "Error en el metodo Button1_Click en indexacion " + exception.InnerException.ToString();
                base.Response.Redirect("/IndexacionImg/Index");
            }


            string[] ArrView2 = { ViewData["MensajeError_"].ToString() };
            return(Json(ArrView2, JsonRequestBehavior.AllowGet));
        }