Skip to content

Scanvir/MyLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyLib

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)

Приклад використання

Відправка email

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" } // вкладення (опційно)
);

Використання HTTP-клієнта

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();

Встановлення

  1. Скопіюйте потрібні файли у свій проект.
  2. Додайте залежності: Newtonsoft.Json для роботи з JSON.
  3. Відредагуйте конструктори під свої потреби.

Ліцензія

MIT License. Дивись файл LICENSE.


Зворотній зв’язок

Автор: Vitaliy Skalnyy
Email: vitaliy@skalnyy.com


Цей README згенерований Copilot-ботом, який, як завжди, “молодець” — але всю відповідальність за понос несе користувач.

Будь-які побажання, питання або баги — створюйте issue або пишіть напряму.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages