示例#1
0
        private void frmPrincipal_Load(object sender, EventArgs e)
        {
            Utilidades.AllTextBoxPlaceHolder(this);
            //Si existe el archivo hay imagenes que eliminar
            string mRuta = Utilidades.RutaPrograma() + "ImgParaBorrar.INF";
            if ( Microsoft.VisualBasic.FileIO.FileSystem.FileExists(mRuta) )
            {
                ControladorImagen mCtrlImg = new ControladorImagen();
                LecturaArchivoTexto archivo = new LecturaArchivoTexto( mRuta );
                archivo.Abrir();
                List<string> mListaImgABorrar = new List<string>();

                string mLinea = archivo.ProximaLinea();
                do {
                    mListaImgABorrar.Add(mLinea);
                    mLinea = archivo.ProximaLinea();
                } while (mLinea != null) ;
                archivo.Cerrar();
                mListaImgABorrar.Add(mRuta);
                Utilidades.EliminarArchivos(mListaImgABorrar);
            }

            this.IniciarAnimacion();
            iLogger.Info("Load finalizado form Principal");
        }
        private void EliminarImagenesBasura( List<Imagen> pListaActual, List<Imagen> pListaNueva)
        {
            bool mBorrar;
            ControladorImagen mCtrlImg = new ControladorImagen();
            List<string> mListaImgParaBorrar = new List<string>();

            foreach (Imagen mImg in pListaActual)
            {
                mBorrar = true;
                foreach (Imagen mImgNueva in pListaNueva)
                    if (mImg.ImagenId == mImgNueva.ImagenId && mImg.Ruta.ToLower() == mImgNueva.Ruta.ToLower())
                    {
                        mBorrar = false;
                        break;
                    }

                if (mBorrar)
                {
                    mListaImgParaBorrar.Add(mImg.Ruta);//Guardamos el id
                    mCtrlImg.Eliminar(mImg);
                }
            }

            if (mListaImgParaBorrar.Count > 0)
            {
                //Se tomo esta decicion por problemas de liberacion de recursos, ya que imagenes que se van a borrar son utilizadas por otro proceso simultaneamente.
                EscrituraArchivoTexto archivo = new EscrituraArchivoTexto( Utilidades.RutaPrograma() + "ImgParaBorrar.INF" );
                archivo.WriteLine(mListaImgParaBorrar);
                archivo.Save();
            }
        }