ISBuilder 8.6.4
See the version list below for details.
dotnet add package ISBuilder --version 8.6.4
NuGet\Install-Package ISBuilder -Version 8.6.4
<PackageReference Include="ISBuilder" Version="8.6.4" />
<PackageVersion Include="ISBuilder" Version="8.6.4" />
<PackageReference Include="ISBuilder" />
paket add ISBuilder --version 8.6.4
#r "nuget: ISBuilder, 8.6.4"
#:package ISBuilder@8.6.4
#addin nuget:?package=ISBuilder&version=8.6.4
#tool nuget:?package=ISBuilder&version=8.6.4
ISBuilder
Information System Builder — конструктор информационных систем на .NET 8.
Один пакет — все инструменты для разработки WinForms + EF Core + SQL Server приложений.
Установка
dotnet add package ISBuilder
Подтягивает все 27 пакетов автоматически. Ничего дополнительно устанавливать не нужно.
Состав пакетов
| Пакет | Пространство имен | Описание |
|---|---|---|
| AppBuilder | AppBuilder |
Конструктор CRUD-приложений за 15 строк |
| ExportKit | UniversalExport |
Экспорт/импорт в 11 форматов (JSON, XML, CSV, TXT, Excel, PDF, HTML, YAML, Markdown, Word, SQL) |
| EFQueryKit | EFQueryKit |
Запросы EF без лямбд, CRUD, агрегации |
| AutoFormsKit | AutoForms |
Автогенерация диалогов с валидацией [Required], [StringLength], [DataType] |
| SeedKit | SeedKit |
Генератор тестовых данных (русские ФИО, адреса, телефоны) |
| TestCaseKit | TestCaseKit |
Генератор тест-кейсов для тестирования ИС |
| ISBuilder | — | Мета-пакет, подтягивает все 27 пакетов |
| ConnectKit | ConnectKit |
Визуальный диалог подключения к SQL Server |
| NotifyKit | NotifyKit |
Всплывающие уведомления (тосты) |
| AppSettingsKit | SettingsKit |
Хранение настроек приложения в JSON с секциями |
| ValidationKit | ValidationKit |
Валидация данных без лямбд |
| MenuKit | MenuKit |
Генератор меню WinForms |
| DashboardKit | DashboardKit |
Панель статистики с цветными карточками |
| MigrationKit | MigrationKit |
Управление БД (создание, бэкап, восстановление, сид) |
| HelpKit | HelpKit |
Автоматическая справка по модели данных |
| DataDictKit | DataDictKit |
Словарь данных в Word |
| SearchKit | SearchKit |
Панель поиска для DataGridView |
| StatusBarKit | StatusBarKit |
Статусная строка с часами и счетчиком записей |
| AuthKit | AuthKit |
Авторизация (логин, роли, хеширование паролей) |
| UmlKit | UmlKit |
UML/ER-диаграммы (PlantUML, Mermaid, Draw.io) |
| PrintKit | PrintKit |
Печать таблиц с предпросмотром |
| ThemeKit | ThemeKit |
6 тем оформления (Dark, Light, Blue, Green, Purple, Orange) + сохранение выбора |
| ChartKit | ChartKit |
Диаграммы (столбчатая, круговая, линейная) |
| AuditKit | AuditKit |
Журнал действий пользователей |
| SchedulerKit | SchedulerKit |
Планировщик фоновых задач |
| ReportKit | ReportKit |
Генерация PDF-отчетов с таблицами и сводкой |
| CalcKit | CalcKit |
Бизнес-калькуляторы (кредит, депозит, пособие, доставка и др.) |
| MatchKit | MatchKit |
Движок подбора записей по критериям с оценкой совпадения |
Быстрый старт: Приложение за 30 строк
Полноценная информационная система с дашбордом, CRUD, поиском, экспортом, аудитом и отчетами:
using AppBuilder;
using AuditKit;
using ReportKit;
using SchedulerKit;
using ChartKit;
// Запуск приложения
App.Create<EmploymentDb>("ИС Служба занятости")
.WithMenu()
.WithDashboard(db => new[] {
("Вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
("Соискателей", (object)db.Applicants.Count(), Color.FromArgb(46,204,113)),
("Предприятий", (object)db.Enterprises.Count(), Color.FromArgb(155,89,182))
})
.AddTab<Vacancy>("Вакансии")
.AddTab<Applicant>("Соискатели")
.AddTab<Enterprise>("Предприятия")
.WithExport()
.WithSearch()
.WithStatusBar()
.Size(1200, 750)
.Run();
// Планировщик: проверка зависших вакансий каждый день в 9:00
TaskScheduler.Daily(new TimeOnly(9, 0), () => {
var stale = db.Vacancies.Where(v => v.PublishedDate < DateTime.Now.AddDays(-90)).Count();
if (stale > 0) Notify.Warning($"{stale} зависших вакансий!");
});
// Генерация отчета
var dt = db.Vacancies.Query().Run().ToDataTable();
Report.Create("Отчет по вакансиям")
.AddTable(dt)
.AddSummary("Salary")
.SavePdf("report.pdf");
Покрываемые предметные области (25+)
ISBuilder содержит инструменты для разработки информационных систем по любой предметной области:
| Область | Примеры сущностей |
|---|---|
| Служба занятости | Вакансии, Соискатели, Предприятия, Отклики |
| Банк | Клиенты, Кредиты, Вклады, Платежи |
| Гостиница | Номера, Гости, Бронирования, Услуги |
| Магазин | Товары, Заказы, Клиенты, Скидки |
| Транспорт | Рейсы, Билеты, Пассажиры, Маршруты |
| Аптека | Лекарства, Рецепты, Поставщики, Продажи |
| Поликлиника | Врачи, Пациенты, Приемы, Диагнозы |
| Автосалон | Автомобили, Клиенты, Продажи, Сервис |
| Библиотека | Книги, Читатели, Выдачи, Авторы |
| Риелторское агентство | Объекты, Клиенты, Сделки, Агенты |
| Турагентство | Туры, Клиенты, Бронирования, Направления |
| Ресторан | Блюда, Заказы, Столики, Официанты |
| Автосервис | Автомобили, Заказ-наряды, Запчасти, Мастера |
| Склад | Товары, Поступления, Отгрузки, Ячейки |
| Учебный центр | Курсы, Студенты, Преподаватели, Оценки |
| Кинотеатр | Фильмы, Сеансы, Залы, Билеты |
| Салон красоты | Услуги, Мастера, Клиенты, Записи |
| Фитнес-клуб | Абонементы, Клиенты, Тренеры, Занятия |
| Страховая компания | Полисы, Клиенты, Выплаты, Агенты |
| Доставка еды | Блюда, Заказы, Курьеры, Рестораны |
| Ветеринарная клиника | Животные, Владельцы, Приемы, Лечение |
| Прокат автомобилей | Автомобили, Клиенты, Аренда, Тарифы |
| Управляющая компания ЖКХ | Дома, Жильцы, Платежи, Заявки |
| Спортивная школа | Секции, Тренеры, Ученики, Соревнования |
| Издательство | Книги, Авторы, Тиражи, Продажи |
Как использовать (How To)
Шаг 1. Создать проект
dotnet new winforms -n MyApp
cd MyApp
Шаг 2. Установить ISBuilder
dotnet add package ISBuilder
Все 27 пакетов установятся автоматически.
Шаг 3. Создать модели данных
Создайте классы сущностей по вашей предметной области:
public class Vacancy
{
public int Id { get; set; }
public string Position { get; set; }
public decimal Salary { get; set; }
public string EmploymentType { get; set; }
public DateTime PublishedDate { get; set; }
public int EnterpriseId { get; set; }
}
Шаг 4. Создать DbContext
using Microsoft.EntityFrameworkCore;
public class MyDbContext : DbContext
{
public DbSet<Vacancy> Vacancies { get; set; }
public DbSet<AuditKit.AuditLog> AuditLogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer(
"Server=.;Database=MyAppDb;Trusted_Connection=true;TrustServerCertificate=true");
}
Шаг 5. Создать и заполнить БД
using MigrationKit;
using SeedKit;
var db = new MyDbContext();
await DbHelper.EnsureCreatedAsync(db); // создать БД
var data = Seeder.Generate<Vacancy>(50); // сгенерировать тестовые данные
db.Vacancies.AddRange(data);
db.SaveChanges();
Шаг 6. Запустить приложение
using AppBuilder;
App.Create<MyDbContext>("Моя информационная система")
.WithMenu()
.WithDashboard(db => new[] {
("Записей", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219))
})
.AddTab<Vacancy>("Вакансии")
.WithExport()
.WithSearch()
.WithStatusBar()
.Size(1200, 750)
.Run();
Шаг 7. Добавить дополнительные функции
// Отчет в PDF
var vacancies = db.Vacancies.ToList();
var dt = UniversalExport.ExportManager.ToDataTable(vacancies);
Report.Create("Отчет").AddTable(dt).AddSummary("Salary").SavePdf("report.pdf");
// Диаграмма
var chart = SimpleChart.Bar(dt, "Position", "Salary", "Зарплаты");
// Расчет
decimal benefit = BizCalc.UnemploymentBenefit(70000, 4);
// Подбор
var matches = Matcher.FindWithScore(vacancies,
new MatchRule("Salary", ">=", 60000, weight: 3));
// Аудит
Audit.Log(db, "Экспорт данных", "admin");
// Планировщик
TaskScheduler.Daily(new TimeOnly(9, 0), () => CheckStaleRecords());
Лицензия
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
-
net8.0-windows7.0
- AppBuilderKit (>= 8.6.2)
- AppSettingsKit (>= 8.6.0)
- AuditKit (>= 8.6.0)
- AuthKit (>= 8.6.0)
- AutoFormsKit (>= 8.6.1)
- CalcKit (>= 8.6.0)
- ConnectKit (>= 8.6.0)
- DashboardKit (>= 8.6.0)
- DataDictKit (>= 8.6.0)
- EFQueryKit (>= 8.6.0)
- ExportKit (>= 8.6.0)
- HelpKit (>= 8.6.0)
- MatcherKit (>= 8.6.0)
- MenuKit (>= 8.6.0)
- MigrationKit (>= 8.6.0)
- NotifyKit (>= 8.6.0)
- PrintKit (>= 8.6.0)
- ReportKit (>= 8.6.0)
- SchedulerKit (>= 8.6.1)
- SearchKit (>= 8.6.0)
- SeedKit (>= 8.6.0)
- SimpleChartKit (>= 8.6.0)
- StatusBarKit (>= 8.6.1)
- TestCaseKit (>= 8.6.0)
- ThemeKit (>= 8.6.0)
- UmlKit (>= 8.6.0)
- ValidationKit (>= 8.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.