diff options
author | Sergey Chebotar <s.chebotar@gmail.com> | 2022-02-04 09:17:12 +0300 |
---|---|---|
committer | Sergey Chebotar <s.chebotar@gmail.com> | 2022-02-04 09:17:12 +0300 |
commit | 6e889419e2658a3a80fa00582314f1428f6052e5 (patch) | |
tree | 1c7f8c057acc0f8423f9248546709c2c6a7c1d6a /src/Interface | |
parent | ef04747df50da1fbb5124fc9c02f1869d93864f5 (diff) |
Add Result Statusbar message
Diffstat (limited to 'src/Interface')
-rw-r--r-- | src/Interface/AbstractBar.cs | 11 | ||||
-rw-r--r-- | src/Interface/ProgressBar.cs | 9 | ||||
-rw-r--r-- | src/Interface/ResultBar.cs | 44 |
3 files changed, 58 insertions, 6 deletions
diff --git a/src/Interface/AbstractBar.cs b/src/Interface/AbstractBar.cs new file mode 100644 index 0000000..c5918a8 --- /dev/null +++ b/src/Interface/AbstractBar.cs @@ -0,0 +1,11 @@ +using Microsoft.Office.Interop.Excel; + +namespace RehauSku.Interface +{ + internal abstract class AbstractBar + { + protected Application Excel = AddIn.Excel; + + public abstract void Update(); + } +} diff --git a/src/Interface/ProgressBar.cs b/src/Interface/ProgressBar.cs index 9a0490b..ed889f6 100644 --- a/src/Interface/ProgressBar.cs +++ b/src/Interface/ProgressBar.cs @@ -1,10 +1,7 @@ -using Microsoft.Office.Interop.Excel; - -namespace RehauSku.Interface +namespace RehauSku.Interface { - internal class ProgressBar + internal class ProgressBar : AbstractBar { - private Application Excel = AddIn.Excel; private double CurrentProgress { get; set; } private readonly double TaskWeight; private readonly string Message; @@ -16,7 +13,7 @@ namespace RehauSku.Interface CurrentProgress = 0; } - public void DoProgress() + public override void Update() { double percent = (++CurrentProgress / TaskWeight) * 100; diff --git a/src/Interface/ResultBar.cs b/src/Interface/ResultBar.cs new file mode 100644 index 0000000..1b4d7f4 --- /dev/null +++ b/src/Interface/ResultBar.cs @@ -0,0 +1,44 @@ +using System.Text; + +namespace RehauSku.Interface +{ + internal class ResultBar : AbstractBar + { + private int Success { get; set; } + private int Replaced { get; set; } + private int NotFound { get; set; } + + public ResultBar() + { + Success = 0; + Replaced = 0; + NotFound = 0; + } + + public void IncrementSuccess() => Success++; + public void IncrementReplaced() => Replaced++; + public void IncrementNotFound() => NotFound++; + + public override void Update() + { + StringBuilder sb = new StringBuilder(); + + if (Success > 0) + { + sb.Append($"Успешно экспортировано {Success} артикулов. "); + } + + if (Replaced > 0) + { + sb.Append($"Заменено {Replaced} артикулов. "); + } + + if (NotFound > 0) + { + sb.Append($"Не найдено {NotFound} артикулов."); + } + + Excel.StatusBar = sb.ToString(); + } + } +} |