MyLib — це універсальна .NET бібліотека для роботи з поштою, логуванням, HTTP-клієнтом та різними утилітами. Створена для легкої інтеграції у будь-які проекти, не містить хардкоду чи специфічних залежностей, і готова для відкритого або комерційного використання.
-
Mail
LogFile/Mail.cs
Клас для роботи з електронною поштою (SMTP-клієнт). Підтримує вкладення, асинхронність, авторизацію. -
LogFile
LogFile/LogFile.cs
Простий файловий логер із ротацією логів, видаленням старих записів. -
myHttpClientProvider
LogFile/myHttpClientProvider.cs
Універсальний HTTP-клієнт для REST API. Підтримує GET, POST, PUT, PATCH, DELETE. Працює з JSON, має зручну авторизацію. -
SQL
LogFile/SQL.cs
Робота з SQL Server: відкриття з’єднання, виконання SELECT/EXECUTE, транзакції, обробка результатів. -
Copy
LogFile/Copy.cs
Копіювання файлів і папок через ROBOCOPY та File.Copy. -
MyFileSystem
LogFile/MyFileSystem.cs
Утиліти для видалення старих файлів, рекурсивного очищення папок, видалення файлів. -
MyTimer
LogFile/MyTimer.cs
Таймер для вимірювання часу виконання ділянок коду (Stopwatch із красивим форматуванням). -
myXML
LogFile/myXML.cs
Допоміжні методи для роботи з XML: створення документів, додавання вузлів, атрибутів. -
MyRobot
LogFile/MyRobot.cs
Базовий клас для створення власних “роботів” з інтерфейсом запуску (метод Run + interface MyRun).
- Надсилання email через SMTP, з вкладеннями та авторизацією
- Логування у файл із ротацією і видаленням старих логів
- HTTP-клієнт для REST API з підтримкою JSON, авторизації, гнучкою обробкою відповідей
- Робота з SQL Server (select, execute, транзакції)
- Копіювання файлів та папок, видалення старих файлів
- Робота з XML (створення, модифікація)
- Вимірювання часу виконання коду (таймер)
- Базові патерни для “роботів” (MyRobot)
var mail = new Mail("smtp.example.com", "user@example.com", "password123");
await mail.AsyncSend(
"Тема листа",
"Текст повідомлення",
"user@example.com", // відправник
"Ім'я відправника",
new List<string> { "to1@example.com", "to2@example.com" }, // отримувачі
new List<string> { "file.pdf" } // вкладення (опційно)
);var log = new LogFile("log.txt");
var http = new myHttpClientProvider(log, "https://api.example.com/");
var (response, status) = await http.PostAsync("endpoint", new { data = "test" });MyFileSystem.ClearOldFile(@"C:\Temp", "*.txt", 7, log); // видалити всі .txt старші 7 днівvar timer = new MyTimer();
timer.Start();
// ... код ...
string elapsed = timer.Result();- Скопіюйте потрібні файли у свій проект.
- Додайте залежності:
Newtonsoft.Jsonдля роботи з JSON. - Відредагуйте конструктори під свої потреби.
MIT License. Дивись файл LICENSE.
Автор: Vitaliy Skalnyy
Email: vitaliy@skalnyy.com
Цей README згенерований Copilot-ботом, який, як завжди, “молодець” — але всю відповідальність за понос несе користувач.
Будь-які побажання, питання або баги — створюйте issue або пишіть напряму.