Commit Graph

29 Commits

Author SHA1 Message Date
Magomed
3d253a2f54 Fix SQLite BadImageFormat by disabling Prefer32Bit and syncing interop arch.
Ensure SQLite.Interop.dll next to the exe always matches process bitness from x86/x64.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:27:41 +03:00
Magomed
fd5bd18c66 Add per-pharmacy carts and client-side summed discount pricing.
Apply available buyer/price-list/region discounts to summary.price on download, keep consignee carts separate, and harden SQLite startup/migrations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:07:47 +03:00
Magomed
458b70e036 Add multi-pharmacy LocationId, batched price download, and SQL debug tools.
Persist last successful login only, show active pharmacy in the status bar, and keep settings compact at the bottom-right.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 10:09:04 +03:00
Magomed
babc067863 Add dedicated settings dialog in main window and keep auth form login-only.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 12:26:16 +03:00
Exest
e35e67849f v1.0.4: адаптация desktop к текущему buyer API
Перевести desktop-клиент на работу с текущими buyer orders и локальным SQLite-кешем, чтобы отправка заказов и синхронизация документов работали с уже развернутым сервером без старых MSSQL-зависимостей.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 11:41:00 +03:00
Exest
4b3b2c8ca8 v1.0.3: передача item_name и item_code при отправке заказа на сервер 2026-07-21 13:16:11 +03:00
Magomed
7f3bc2eb35 Focus offers grid on MG select so qty can be typed immediately. 2026-07-20 20:02:58 +03:00
Magomed
5c439fe780 Apply client markup_percent from price API and fix truncated download logs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 11:36:20 +03:00
Motylek13
999cfe4121
Прогресс загрузки прайса 0–100% и экспорт накладных (#1)
## Summary
- Реальный прогресс загрузки прайса 0–100%: по байтам при скачивании,
затем по позициям при обработке и сохранении в БД
- Настройка папки экспорта накладных и CSV-экспорт из контекстного меню

## Test plan
- [ ] Запустить обновление прайса и убедиться, что полоска идёт от 0 до
100 с текстом «сколько / сколько»
- [ ] В авторизации задать папку экспорта накладных
- [ ] Экспортировать накладную в CSV через контекстное меню
2026-07-18 15:47:31 +03:00
Magomed
1f6f442b21 Show real 0-100% download progress from transferred bytes and saved rows.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 15:46:14 +03:00
Magomed
9ee5561f3d Add invoice export folder setting and CSV export from context menu.
Users can choose the export directory in auth settings; right-click on an invoice saves a UTF-8 CSV into that folder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 13:34:48 +03:00
Magomed
5e24cc95b0 Add animated progress bar during price list download.
Show marquee while waiting for the API and determinate progress while saving rows so the UI no longer looks frozen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 13:27:42 +03:00
Magomed
bcd57db153 Прайс: тянем весь прайс одним запросом (limit большой) вместо постраничного OFFSET — уходит 500 на больших каталогах; таймаут HTTP 120с 2026-07-17 17:45:42 +03:00
Magomed
cdfd8353ec Прайс: загрузка всего прайса постранично (limit/offset вместо потолка 5000) — локальный поиск теперь находит все позиции 2026-07-17 12:56:41 +03:00
Magomed
a6601567f2 Improve order UX and harden API debugging.
Prompt for Location ID after login, move cart delete there, refine price-list Backspace navigation, and log every API failure with stack and response body.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 16:31:00 +03:00
Magomed
74390c4918 Add name/MG browse flow in price list and harden grid hover.
Show names on the left and dosages on the right after selection, then open supplier offers for the chosen pair. Persist TradeName/Dosage on download and avoid crashes when rebinding or pressing Escape.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 14:42:30 +03:00
Magomed
c447048b66 Add invoice request from orders and fix overlapping context menus.
Enable Получить накладную for sent orders, build local invoices without refusals, and stop the tab close menu from covering dedicated grid menus. Also fix price-list Backspace search and refresh the Release dist binaries.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 14:00:50 +03:00
Exest
1edb2387eb Авторизация: логин идёт на адрес из поля URL API (сохранение до входа) 2026-07-15 13:18:49 +03:00
Magomed
0c73d7e40b Fix price list parsing crashes and invoice grid initialization.
Harden UCPriceList number parsing and selection handling after download, guard ModernDataGridView row header autosize, and refresh price list from menu load action.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 12:15:40 +03:00
Magomed
5cc202dea7 Polish cart tabs and dialog chrome for light/dark themes.
Add ModernTabControl/SplitContainer for cart UI without system borders, fix button corner artifacts and dialog text contrast, and use TitleBarTop green for auth header in light mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 20:32:54 +03:00
Magomed
7ed8822bd4 Add Dark Productivity theme with native title bar and auth dialog chrome.
Persist theme choice in settings, fix grid row colors on theme switch, and apply DWM caption styling to the main window and authorization dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 19:53:30 +03:00
Magomed
2e1b13fde6 Add tab context menu and polish orders/price-list clear controls.
Right-click closes active or targeted document tabs, fix order items header overlap, and align the price-list search clear button with centered × glyph.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 19:04:39 +03:00
Magomed
800b2971b8 Add API documentation and remove unused single-price endpoint.
Document all client HTTP calls in docs/API.md, link from README, and delete dead GetPriceItem code.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 15:22:13 +03:00
Magomed
46564ee942 Make FOrders toolbar responsive without stretching filter controls.
Wrap selectors on narrow windows, cap text and combo widths on wide layouts, and move the comment button to a new row when space is tight.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 15:06:09 +03:00
Magomed
36d4374db6 Fix refresh button styling and orders page clear (×) buttons.
Apply Primary gradient to «Обновить с сервера» after text is set, restore compact clear buttons on FOrders, and skip focus cues on icon-only controls.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 14:50:20 +03:00
Magomed
a9fd467b5d Fix gradient button paint artifacts and WrapMode crash on .NET Framework.
Use toolbar-themed background fill, lighter shadow, and remove invalid LinearGradientBrush.WrapMode that caused OnPaint failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 14:39:45 +03:00
Magomed
1ccb2b33cf Apply skill gradient Primary/Danger buttons to Elfisa.UI and add button demos.
Integrate winforms-modern-buttons gradient paint for primary actions and clear (×) controls, align PharmaTrust startup theme, and add Material/gradient/button skill demo projects for comparison.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 14:27:31 +03:00
Magomed
14c4b08ad6 Polish modern UI shell, orders toolbar, and Fluent theme infrastructure.
Add status footer with logged-in user, improve FOrders filters layout, migrate dialogs to ModernButton, and extend theming with Fluent Win11 palette and auto button styles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 13:59:58 +03:00
Magomed
d1740d49bf Initial commit: Электронная Фармация desktop client.
WinForms app with Elfisa.UI, API integration, order workflow, invoices/refusals sync, and production-ready fixes from the desktop roadmap.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 12:25:38 +03:00