예제 #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
        private void AgregarImagenSinAsignarALaBase(int id_interna, ImagenModi imagen)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_interna", id_interna);
            parametros.Add("@nombre_imagen", imagen.nombre);
            parametros.Add("@bytes_imagen", imagen.bytesImagen);
            parametros.Add("@orden", 0);

            this.conexion_db.EjecutarEscalar("dbo.MODI_Agregar_Imagen_Sin_Asignar_A_Un_Legajo", parametros);
        }
예제 #3
0
        public ImagenModi GetThumbnail(int alto, int ancho)
        {
            byte[]       imageBytes = Convert.FromBase64String(this.bytesImagen);
            MemoryStream ms         = new MemoryStream(imageBytes, 0,
                                                       imageBytes.Length);

            ms.Write(imageBytes, 0, imageBytes.Length);
            Image image = Image.FromStream(ms, true);

            var imagen_ret = new ImagenModi();

            imagen_ret.nombre = this.nombre;
            imagen_ret.SetImagen(FixedSize(image, ancho, alto));
            return(imagen_ret);
        }
예제 #4
0
        public ImagenModi GetImagenPorId(int id_imagen)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_imagen", id_imagen);
            var tabla_imagen = this.conexion_db.Ejecutar("dbo.MODI_Get_Imagen", parametros);
            var primera_fila = tabla_imagen.Rows.First();

            var imagen = new ImagenModi();

            imagen.id        = id_imagen;
            imagen.idInterna = primera_fila.GetInt("id_interna");
            imagen.nombre    = primera_fila.GetString("nombre_imagen");

            var bytes_imagen = this.repo_archivos.GetArchivo(primera_fila.GetInt("id_archivo"));

            var          bytes = Convert.FromBase64String(bytes_imagen);
            MemoryStream ms    = new MemoryStream(bytes, 0,
                                                  bytes.Length);

            ms.Write(bytes, 0, bytes.Length);
            Image img = Image.FromStream(ms, true);

            //Image img;
            //if (primera_fila.GetObject("bytes_imagen") is DBNull){
            //    img = file_system.getImagenFromPath(ConfigurationManager.AppSettings["CarpetaDigitalizacion"] +id_imagen + ".jpg");
            //}else{
            //    img = primera_fila.GetImage("bytes_imagen");
            //}

            imagen.SetImagen(img);

            if (!(primera_fila.GetObject("folio_doc") is DBNull))
            {
                imagen.folioDocumento = primera_fila.GetInt("folio_doc");
                imagen.orden          = primera_fila.GetInt("faz");
                imagen.tabla          = primera_fila.GetString("tabla");
                imagen.idDocumento    = primera_fila.GetInt("id_documento");
                var legajo = GetLegajoPorIdInterna(imagen.idInterna)[0];
                var folio  = legajo.GetFolio(imagen.tabla, imagen.idDocumento, imagen.folioDocumento);
            }
            return(imagen);
        }
예제 #5
0
        public void AgregarImagenesSinAsignarDeUnLegajoALaBase(int id_interna)
        {
            List <String> paths_imagenes;

            try
            {
                paths_imagenes = this.file_system.getPathsArchivosEnCarpeta(this.path_imagenes).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".tiff")).ToList();
            }
            catch (ExcepcionDeCarpetaDeLegajoNoEncontrada e)
            {
                paths_imagenes = new List <string>();
            }
            paths_imagenes.ForEach(pathImagen =>
            {
                var imagen    = new ImagenModi();
                imagen.nombre = Path.GetFileNameWithoutExtension(pathImagen);
                imagen.SetImagen(this.file_system.getImagenFromPath(pathImagen));
                this.AgregarImagenSinAsignarALaBase(id_interna, imagen);
                this.file_system.moverArchivo(pathImagen, path_imagenes + "/IncorporadasAlSistema/" + id_interna.ToString());
            });
        }