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(); } }