elfisa-pharmacy/src/Elfisa.Core/AppConfig.cs
Exest c677345ba6 Avalonia: общая корзина, добавление из Прайс-листа, Настройки
- CartService: единая корзина для Прайс-листа и Отправить
- Прайс-лист: выбор позиции + кол-во + «Добавить в заказ», индикатор корзины
- Настройки (диалог ⚙ в шапке): адрес API, тема (свет/тьма, применяется
  сразу), грузополучатель по умолчанию; сохранение в %APPDATA%
- SettingsStore (Core) + AppConfig читает сохранённый API-адрес
- тема применяется на старте

Проверено вживую: добавление из Прайс-листа в корзину, диалог настроек.
Реальная отправка заказа (POST) — собрана и связана, живой заказ по явному «да»
(автозащита блокирует боевую транзакцию без подтверждения).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-08 11:26:53 +03:00

36 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace Elfisa.Core;
/// <summary>
/// Базовые адреса платформы. Совпадают с десктопом WinForms:
/// API — https://24pharmdata.ru, ИИ-отчёты — https://24pharmdata.ru/ai.
/// Можно переопределить переменными окружения.
/// </summary>
public static class AppConfig
{
public const string DefaultApiBaseUrl = "https://24pharmdata.ru";
public const string DefaultAiBaseUrl = "https://24pharmdata.ru/ai";
private const string ApiEnv = "ELF_API_BASE_URL";
private const string AiEnv = "ELF_AI_BASE_URL";
public static string ApiBaseUrl
{
get
{
var fromSettings = SettingsStore.Current.ApiBaseUrl;
if (!string.IsNullOrWhiteSpace(fromSettings)) return fromSettings.Trim().TrimEnd('/');
var env = Environment.GetEnvironmentVariable(ApiEnv);
return string.IsNullOrWhiteSpace(env) ? DefaultApiBaseUrl : env.Trim().TrimEnd('/');
}
}
public static string AiBaseUrl
{
get
{
var env = Environment.GetEnvironmentVariable(AiEnv);
return string.IsNullOrWhiteSpace(env) ? DefaultAiBaseUrl : env.Trim().TrimEnd('/');
}
}
}