public void RemoveGroup(LogGroup group) { Logs.Groups.RemoveAll(g => g.Id.Equals(group.Id)); SaveState(); OnLogGroupCollectionChanged(); OnLogGroupDeleted(); }
public void AddGroup(LogGroup group) { Logs.Groups.Add(group); SaveState(); OnLogGroupCollectionChanged(); OnLogGroupAdded(group); }
public EditGroupWindow(LogGroup group) : this() { var vm = DataContext as AddGroupViewModel; if (vm == null) return; vm.Group = group; }
public void UpdateGroup(LogGroup group) { var existingGroup = Logs.Groups.First(g => g.Id.Equals(group.Id)); existingGroup.Name = group.Name; SaveState(); OnLogGroupCollectionChanged(); OnLogGroupEdited(group); }
public LogPicker(LogGroup selectedGroup) : this() { var vm = DataContext as LogPickerDialogViewModel; if(vm == null) throw new InvalidOperationException("Group context not found!"); vm.SelectedGroup = selectedGroup; }
public void Execute(object parameter) { var window = parameter as Window; if (window == null) return; var group = new LogGroup(_vm.GroupName); LogSource.Instance.Logs.AddLogGroup(group); window.Hide(); window.Close(); }
public static void ZipGroup(LogGroup logGroup, string saveLocation, IProgressProvider progressProvider) { Trace.WriteLine("task started"); progressProvider.ProgressBarValue = 0; using (var ms = new FileStream(saveLocation, FileMode.CreateNew)) { // create the archive to go into the file using (var zip = new ZipArchive(ms, ZipArchiveMode.Create)) { var progressFactor = 100 / logGroup.Logs.Count; // add each log to the archive foreach (var log in logGroup.Logs) { if (!File.Exists(log.Filename)) continue; progressProvider.ProgressText = $"Processing {log.Filename}..."; // create the entry var entry = zip.CreateEntry(Path.GetFileName(log.Filename), CompressionLevel.Fastest); // fill the entry using (var entryStream = entry.Open()) { using ( var logFileStream = File.Open(log.Filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var fileBytes = new byte[logFileStream.Length]; logFileStream.Read(fileBytes, 0, fileBytes.Length); using (var logStream = new MemoryStream(fileBytes)) { logStream.CopyTo(entryStream); progressProvider.ProgressBarValue += progressFactor; } } } } } } progressProvider.ProgressText = string.Empty; progressProvider.ProgressBarValue = 0; }
public void AddLog(LogGroup group, IEnumerable <LogInfo> logs) { var saveGroup = Logs.Groups.FirstOrDefault(g => g.Name.Equals(@group.Name, StringComparison.InvariantCultureIgnoreCase)) ?? @group; foreach (var log in logs) { if (!saveGroup.Logs.Any(l => l.Alias.Equals(log.Alias, StringComparison.Ordinal))) { var highestOrder = saveGroup.Logs.Max(l => l.Order); log.Order = highestOrder + 1; saveGroup.Logs.Add(log); } OnLogAdded(log, saveGroup.Id); } SaveState(); }
/// <summary> /// Adds the log group to the LogSource singleton. /// </summary> /// <param name="group">The group.</param> public void AddLogGroup(LogGroup group) { LogSource.Instance.AddGroup(group); }
public void AddGroup(LogGroup group) { Logs.Groups.Add(group); SaveState(); OnLogGroupCollectionChanged(); OnLogGroupAdded(group); }
private void OnLogGroupEdited(LogGroup logGroup) { Debug.WriteLine("LogGroupEdited fired (LogSource)"); LogGroupEdited?.Invoke(this, new LogGroupEventArgs(logGroup)); }
private void OnLogGroupAdded(LogGroup newGroup) { Debug.WriteLine("OnLogAdded fired (LogSource)"); LogGroupAdded?.Invoke(this, new LogGroupEventArgs(newGroup)); }
public void UpdateGroup(LogGroup group) { var existingGroup = Logs.Groups.First(g => g.Id.Equals(group.Id)); existingGroup.Name = group.Name; SaveState(); OnLogGroupCollectionChanged(); OnLogGroupEdited(group); }
public void RemoveGroup(LogGroup group) { Logs.Groups.RemoveAll(g => g.Id.Equals(group.Id)); SaveState(); OnLogGroupCollectionChanged(); OnLogGroupDeleted(); }
private void OnLogGroupAdded(LogGroup newGroup) { Debug.WriteLine("OnLogAdded fired (LogSource)"); LogGroupAdded?.Invoke(this, new LogGroupEventArgs(newGroup)); }
public LogGroupEventArgs(LogGroup newGroup) { NewGroup = newGroup; }
private void OnLogGroupEdited(LogGroup logGroup) { Debug.WriteLine("LogGroupEdited fired (LogSource)"); LogGroupEdited?.Invoke(this, new LogGroupEventArgs(logGroup)); }
public LogGroupEventArgs(LogGroup newGroup) { NewGroup = newGroup; }
public void AddLog(LogGroup group, IEnumerable<LogInfo> logs) { var saveGroup = Logs.Groups.FirstOrDefault(g => g.Name.Equals(@group.Name, StringComparison.InvariantCultureIgnoreCase)) ?? @group; foreach (var log in logs) { if (!saveGroup.Logs.Any(l => l.Alias.Equals(log.Alias, StringComparison.Ordinal))) { var highestOrder = saveGroup.Logs.Max(l => l.Order); log.Order = highestOrder + 1; saveGroup.Logs.Add(log); } OnLogAdded(log, saveGroup.Id); } SaveState(); }
/// <summary> /// Adds the log group to the LogSource singleton. /// </summary> /// <param name="group">The group.</param> public void AddLogGroup(LogGroup group) { LogSource.Instance.AddGroup(group); }
public AddGroupViewModel() { Group = new LogGroup(); CreateGroupCommand = new CreateGroupCommand(this); EditGroupCommand = new EditGroupCommand(this); }