public InspectorDetail(FileInspector inspector) { InitializeComponent(); this.Inspector = inspector; App.ActualInspectorDetail = this; this.Owner = App.Inspectors; }
public InspectorDetail() { InitializeComponent(); Inspector = new FileInspector { Path = "Seleccione una carpeta para rastrear" }; App.ActualInspectorDetail = this; this.Owner = App.Home; }
private void ExecuteSonarFile(FileInspector inspector, String prefix, BackgroundWorker worker) { var dir = new DirectoryInfo(inspector.Path); if(!dir.Exists) { return; } var files = dir.GetFiles(); foreach (var rule in inspector.Rules.Value) { if (rule.RuleType != null) switch ((RuleFile.TypeFileRule)rule.RuleType) { case RuleFile.TypeFileRule.Date: var qfilesD = from file in files where rule.DateFirst < file.LastWriteTime && rule.DateLast > file.LastWriteTime select file; files = qfilesD.ToArray(); break; case RuleFile.TypeFileRule.Extension: var qfilesE = from file in files where file.Extension.Contains(rule.ExtensionPattern) select file; files = qfilesE.ToArray(); break; case RuleFile.TypeFileRule.FileName: var qfiles = from file in files where file.Name.Contains(rule.NamePattern) select file; files = qfiles.ToArray(); break; } } var listMsg = new List<string>(); string msgFile = string.Empty; foreach (var file in files) { if (inspector.Action == (int)FileInspector.TypeActions.MoveSubDir) { String destName = inspector.SubDirAction + Path.DirectorySeparatorChar + file.Name; destName = destName.Substring(0, destName.Length - file.Extension.Length); String destNameAux = destName; int j = 1; while (File.Exists(destNameAux + file.Extension)) { destNameAux = destName + "-" + j.ToString(CultureInfo.InvariantCulture); j++; } RegistrarLog(prefix + "Moviendo fichero " + file.FullName + "...", worker); file.MoveTo(destNameAux + file.Extension); RegistrarLog(prefix + "Fichero movido correctamente a " + destNameAux, worker); } else { RegistrarLog(prefix + "Eliminando fichero " + file.FullName + "...", worker); FileSystem.DeleteDirectory(file.FullName, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); RegistrarLog(prefix + "Fichero eliminado correctamente", worker); } if (string.Concat(msgFile, file.Name).Length < 485) { if (string.IsNullOrWhiteSpace(msgFile)) { msgFile += file.Name; } else { msgFile += ", " + file.Name; } } else { listMsg.Add(msgFile); msgFile = file.Name; } } if (!string.IsNullOrWhiteSpace(Opciones.PushoverUserKey) && inspector.EnablePushNotification.HasValue && inspector.EnablePushNotification.Value && !string.IsNullOrWhiteSpace(msgFile)) { foreach (var msgQueue in listMsg) { RegistrarLog(prefix + "Enviando notificación Push...", worker); if (SendPushNotif(inspector.Name, "Ficheros Procesados: " + msgQueue)) { RegistrarLog(prefix + "Notificación enviada correctamente", worker); } else { RegistrarLog(prefix + "Error al enviar la notificación", worker); } } RegistrarLog(prefix + "Enviando notificación Push...", worker); if(SendPushNotif(inspector.Name, "Ficheros Procesados: " + msgFile)) { RegistrarLog(prefix + "Notificación enviada correctamente", worker); } else { RegistrarLog(prefix + "Error al enviar la notificación", worker); } } }
private void Application_Startup(object sender, StartupEventArgs e) { SystemEvents.SessionSwitch += SystemEventsOnSessionSwitch; SystemEvents.SessionEnded += SystemEventsOnSessionEnded; swriter = new StringWriter(); Console.SetOut(swriter); XmlConfigurator.Configure(); RegistrarLog("<b>Inicializando la aplicación...</b>"); RegistrarLog("<b>Cargando opciones de la aplicación...</b>"); LoadOpciones(); SonarActivo = true; Sonar = new Dictionary<int, BackgroundWorker>(); try { IPersistence<FileInspector> servInspF = new Persistence<FileInspector>(); var inspFilterF = new FileInspector(); var rastreadoresF = servInspF.GetEntities(inspFilterF); foreach (var insp in rastreadoresF) { AddWork(insp); } IPersistence<ServiceInspector> servInspV = new Persistence<ServiceInspector>(); var inspFilterV = new ServiceInspector(); var rastreadoresV = servInspV.GetEntities(inspFilterV); foreach (var insp in rastreadoresV) { AddWork(insp); } } catch (Exception ex) { RegistrarLog("<b>Error al inicializar la aplicación: </b>" + ex.Message); } RegistrarLog("<b>Inicialización de la aplicación Finalizada</b>"); }
private void mnFileR_Click(object sender, RoutedEventArgs e) { var inspector = new FileInspector { Path = "Seleccione una carpeta para rastrear" }; var inspDetail = new InspectorDetail(inspector); inspDetail.ShowDialog(); inspector = inspDetail.Inspector; if (inspector.InspectorId.HasValue) { InspectorsRefresh(inspector, true); } }