public bool EnviarArchivosFlash(ENKiosco kiosco, string Directorio, string DirectorioPrincipal, string usuario, string password, string dominio, ref string textoLog, List <string> listaArchivos, string identificador) { string slog = ""; bool error = true; List <string> listaReintento = new List <string>(); if (impersonateValidUser(usuario, dominio, password)) { foreach (string item in listaArchivos) { try { //string nombreTemp = string.Format("{0}{1}",Path.GetFileNameWithoutExtension(item),".temp"); string archivo = Path.GetFileName(item); //string destino = @"\\" + kiosco.IpKiosco + kiosco.RutaPathArchivos + item.Replace(DirectorioPrincipal, ""); string destino = @"\\" + kiosco.IpKiosco + kiosco.RutaPathArchivos + @"\" + archivo; File.Copy(item, destino, true); textoLog = " -Se ha copiado el archivo " + archivo + " a " + kiosco.IpKiosco; EscribirLog(identificador, textoLog, ActualizacionFlash); } catch (Exception ex) { //no se pudo copiar try { listaReintento.Add(item); slog = DateTime.Now.ToString() + " " + kiosco.IpKiosco + " " + Path.GetFileName(item) + " " + ex.Message; EscribirLog(identificador, slog, ActualizacionFlash); error = false; } catch (IOException) { } } } } else {//usuario incorrecto slog = DateTime.Now.ToString() + " el usuario " + usuario + " no es valido"; EscribirLog(identificador, slog, ActualizacionFlash); error = false; } if (error == false) { error = ReintentarEnvio(kiosco, Directorio, DirectorioPrincipal, usuario, password, dominio, textoLog, listaReintento, identificador, ActualizacionFlash); return(error); } else { return(true); } }
public bool EnviarUnArchivo(ENKiosco kiosco, string archivo, string DirectorioLocal, string usuario, string dominio, string password) { string rutaLog = ConfigurationManager.AppSettings["RutaLogErrores"].ToString(); StreamWriter sw = new StreamWriter(rutaLog, true); bool error = true; try { //IntPtr admin_token = IntPtr.Zero; //WindowsIdentity wid_current = WindowsIdentity.GetCurrent(); //WindowsIdentity wid_admin = null; //WindowsImpersonationContext wic = null; //wid_admin = new WindowsIdentity(admin_token); //wic = wid_admin.Impersonate(); string destino = @"\\" + kiosco.IpKiosco + kiosco.RutaPathArchivos + @"\" + archivo; if (impersonateValidUser(usuario, dominio, password)) { File.Copy(DirectorioLocal + @"\" + archivo, destino, true); } else { sw.WriteLine(DateTime.Now.ToString() + " el usuario " + usuario + " no es valido"); error = false; } } catch (Exception ex) { try { sw.WriteLine(DateTime.Now.ToString() + " " + kiosco.IpKiosco + " " + archivo + " " + ex.Message); error = false; } catch (IOException) { } } sw.Close(); if (error == false) { return(false); } else { return(true); } }
public bool ReintentarEliminar(ENKiosco kiosco, string Directorio, string DirectorioPrincipal, string usuario, string password, string dominio, string textoLog, List <string> listaReintento, string identificador, string eliminacion) { string slog = ""; int count = listaReintento.Count; if (impersonateValidUser(usuario, dominio, password)) { if (listaReintento.Count > 0) { foreach (string item in listaReintento) { try { string archivo = Path.GetFileName(item); string destino = @"\\" + kiosco.IpKiosco + kiosco.RutaPathArchivos + item.Replace(DirectorioPrincipal, ""); //string destino = @"\\" + kiosco.IpKiosco + kiosco.RutaPathArchivos + @"\" + archivo; //File.Copy(item, destino, true); textoLog = " -Reintento exitoso - se ha eliminado el archivo " + archivo + " de " + kiosco.IpKiosco; EscribirLog(identificador, textoLog, eliminacion); count--; } catch (Exception ex) { //no se pudo copiar try { listaReintento.Add(item); slog = DateTime.Now.ToString() + " Reintento fallido - " + kiosco.IpKiosco + " " + Path.GetFileName(item) + " " + ex.Message; EscribirLog(identificador, slog, eliminacion); } catch (IOException) { } } } } } else { return(false); } if (count == 0) { return(true); } else { return(false); } }