|
|
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using TrustedUninstaller.Shared.Parser;
- using YamlDotNet.Serialization;
-
- namespace TrustedUninstaller.Shared.Tasks
- {
- public class UninstallTask
- {
- public string Title { get; set; }
- #nullable enable
- public string? Description { get; set; }
-
- public string[]? SupportedBuilds { get; set; }
-
- public int? MinVersion { get; set; }
- public int? MaxVersion { get; set; }
- #nullable disable
- public UninstallTaskStatus Status { get; set; } = UninstallTaskStatus.ToDo;
-
- public List<ITaskAction> Actions { get; set; } = new List<ITaskAction>();
-
- public int Priority { get; set; } = 1;
- public UninstallTaskPrivilege Privilege { get; set; } = UninstallTaskPrivilege.Admin;
-
- public List<string> Features { get; set; } = new List<string>();
-
- public List<string> Tasks
- {
- set => Features = value;
- get => Features;
- }
-
- public void Update()
- {
- /*
- var statusList = Actions.Select(entry => entry.GetStatus()).ToList();
- if (statusList.Any(entry => entry == UninstallTaskStatus.InProgress))
- {
- Status = UninstallTaskStatus.InProgress;
-
- }
- else if (statusList.All(entry => entry == UninstallTaskStatus.Completed))
- {
- Status = UninstallTaskStatus.Completed;
- }
- else
- {
- Status = UninstallTaskStatus.ToDo;
- }
- */
- }
-
- public override string ToString()
- {
- var sb = new StringBuilder();
- var sw = new StringWriter(sb);
-
- var parser = new ConfigParser();
- parser.SerializeItem(sw, this);
- return sb.ToString();
- }
- }
- }
|