예제 #1
0
        private void SetearEsqueletoDeImagenesAUnLegajo(LegajoModi legajo)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_interna", legajo.idInterna);
            var tablaImagenes = this.conexion_db.Ejecutar("dbo.MODI_Imagenes_De_Un_Legajo", parametros);

            tablaImagenes.Rows.ForEach(row =>
            {
                var imagen       = new ImagenModi();
                imagen.id        = row.GetInt("id_imagen");
                imagen.idInterna = row.GetInt("id_interna");

                if (!(row.GetObject("folio_doc") is DBNull))
                {
                    imagen.folioDocumento = row.GetInt("folio_doc");
                    imagen.tabla          = row.GetString("tabla");
                    imagen.idDocumento    = row.GetInt("id_documento");
                    imagen.orden          = row.GetInt("faz");

                    var folio          = legajo.GetFolio(imagen.tabla, imagen.idDocumento, imagen.folioDocumento);
                    imagen.folioLegajo = folio.folioLegajo;
                    folio.imagenes.Add(imagen);
                }
                else
                {
                    legajo.imagenesSinAsignar.Add(imagen);
                }
            });

            legajo.imagenesSinAsignar = legajo.imagenesSinAsignar.OrderBy(i => i.orden).ToList();
            legajo.documentos.ForEach(doc => doc.folios.ForEach(f => f.imagenes = f.imagenes.OrderBy(i => i.orden).ToList()));
        }
예제 #2
0
        public RespuestaABusquedaDeLegajos BuscarLegajos(string criterio)
        {
            //int numero;
            //if (int.TryParse(criterio, out numero))
            //{
            //    legajos.AddRange(this.GetLegajoPorDocumento(numero));
            //    legajos.AddRange(this.GetLegajoPorIdInterna(numero));
            //}
            //else
            //{
            //    legajos.AddRange(this.GetLegajosPorApellidoYNombre(criterio));
            //}
            var legajos   = new List <LegajoModi>();
            var repo_pers = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion_db);
            var personas  = repo_pers.BuscarPersonasConLegajo(criterio);

            personas.ForEach(p =>
            {
                var legajo = new LegajoModi(int.Parse(p.Legajo),
                                            p.Documento,
                                            p.Nombre,
                                            p.Apellido);

                legajo.agregarDocumentos(this.DocumentosPara(legajo));
                this.SetearEsqueletoDeImagenesAUnLegajo(legajo);
                legajos.Add(legajo);
            });
            return(new RespuestaABusquedaDeLegajos(legajos));
        }
예제 #3
0
        private List <DocumentoModi> DocumentosPara(LegajoModi legajo)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id", legajo.idInterna);
            parametros.Add("@legajo", legajo.idInterna);
            var tablaDocumentos = conexion_db.Ejecutar("dbo.LEG_GET_Indice_Documentos", parametros);
            var documentos      = GetDocumentosFromTabla(tablaDocumentos);

            documentos.ForEach(doc =>
            {
                var id_categoria = this.CategoriaDeUnDocumento(doc.tabla, doc.id);
                doc.idCategoria  = id_categoria;
            });
            return(documentos);
        }
예제 #4
0
        //private List<LegajoModi> GetLegajosPorApellidoYNombre(string criterio)
        //{
        //    var legajos = new List<LegajoModi>();

        //    var parametros = new Dictionary<string, object>();
        //    parametros.Add("@criterio", criterio);
        //    var tablaLegajos = conexion_db.Ejecutar("dbo.MODI_GET_Datos_Personales_Por_Apellido_Y_Nombre", parametros);

        //    if (tablaLegajos.Rows.Count > 0) legajos.AddRange(GetLegajosFromTabla(tablaLegajos));
        //    return legajos;
        //}

        private List <LegajoModi> GetLegajosFromTabla(TablaDeDatos tablaLegajos)
        {
            var legajos = new List <LegajoModi>();

            tablaLegajos.Rows.ForEach(row =>
            {
                var legajo = new LegajoModi(row.GetInt("id_interna"),
                                            row.GetInt("Nro_Documento"),
                                            row.GetString("Nombre"),
                                            row.GetString("Apellido"));

                legajo.agregarDocumentos(this.DocumentosPara(legajo));
                this.SetearEsqueletoDeImagenesAUnLegajo(legajo);
                legajos.Add(legajo);
            });
            return(legajos);
        }