This commit is contained in:
2024-04-02 07:21:50 +03:00
parent d0ee17c6a5
commit 95bd8fe37f
5 changed files with 127 additions and 42 deletions

View File

@@ -10,7 +10,7 @@ namespace anbs_cp.Classes;
/*
История версий
Обновлено 2024.03.28
* Все поля Errors, Warnings и Infos объеденены в одно Messages
* Все поля Errors, Warnings и Infos объеденины в одно Messages
* В ActionStateMessage добавлен параметр, определяющий тип: MessageType
Обновлено 2024.03.26
@@ -50,7 +50,7 @@ public class ActionState<T>: ISerializable
/// Метод для выбора всех значений для условия
/// </summary>
// ReSharper disable once StaticMemberInGenericType
public static readonly Func<ActionStateMessage, bool> SelectAll = _ => true;
public static readonly Func<ActionStateMessage, bool> SelectAll = static _ => true;
#region Методы
#region Очистка
@@ -59,7 +59,7 @@ public class ActionState<T>: ISerializable
/// </summary>
public void ClearErrors ()
{
Clear(message => message.MessageType == EActionStateMessageType.Error);
Clear(static message => message.MessageType == EActionStateMessageType.Error);
}
/// <summary>
@@ -67,7 +67,7 @@ public class ActionState<T>: ISerializable
/// </summary>
public void ClearWarnings ()
{
Clear(message => message.MessageType == EActionStateMessageType.Warning);
Clear(static message => message.MessageType == EActionStateMessageType.Warning);
}
/// <summary>
@@ -75,7 +75,7 @@ public class ActionState<T>: ISerializable
/// </summary>
public void ClearInfo ()
{
Clear(message => message.MessageType == EActionStateMessageType.Information);
Clear(static message => message.MessageType == EActionStateMessageType.Information);
}
/// <summary>
@@ -177,17 +177,18 @@ public class ActionState<T>: ISerializable
list.AddRange(Messages);
break;
case EActionStatePrintArea.ErrorsAndWarnings:
list.AddRange(Messages.Where(message =>
list.AddRange(Messages.Where(static message =>
message.MessageType is EActionStateMessageType.Error or EActionStateMessageType.Warning));
break;
case EActionStatePrintArea.ErrorsOnly:
list.AddRange(Messages.Where(message => message.MessageType == EActionStateMessageType.Error));
list.AddRange(Messages.Where(static message => message.MessageType == EActionStateMessageType.Error));
break;
case EActionStatePrintArea.WarningsOnly:
list.AddRange(Messages.Where(message => message.MessageType == EActionStateMessageType.Warning));
list.AddRange(Messages.Where(static message => message.MessageType == EActionStateMessageType.Warning));
break;
case EActionStatePrintArea.InfosOnly:
list.AddRange(Messages.Where(message => message.MessageType == EActionStateMessageType.Information));
list.AddRange(Messages.Where(static message =>
message.MessageType == EActionStateMessageType.Information));
break;
default:
throw new ArgumentOutOfRangeException(nameof(area), area, null);

View File

@@ -1,31 +0,0 @@
namespace anbs_cp.Classes;
/// <summary>
/// Класс -- расширение для класса File
/// </summary>
public static class FileExtension
{
/// <summary>
/// Получает MIME-тип файла
/// </summary>
/// <param name="filename">Имя файла</param>
/// <returns>MIME-тип файла</returns>
public static string MimeType (string filename) =>
MimeTypes.GetMimeType(filename);
/// <summary>
/// Размер файла в байтах
/// </summary>
/// <param name="fileName">Полное имя и путь к файлу</param>
/// <returns>Размер файла в байтах</returns>
public static long FileSize (string fileName) =>
new FileInfo(fileName).Length;
/// <summary>
/// Получает хэш файла
/// </summary>
/// <param name="fileName">Имя файла</param>
/// <returns>Хэш файла в формате <see cref="FileHash"/></returns>
public static FileHash GetHash (string fileName) =>
new(fileName);
}