72 lines
2.8 KiB
C#
Raw Normal View History

2025-01-24 19:17:26 -03:00
using phronCare.UIBlazor;
using phronCare.UIBlazor.Services.UI;
using phronCare.UIBlazor.Services.Sales;
using phronCare.UIBlazor.Services.Lookups;
using phronCare.UIBlazor.Services.Tickets;
using phronCare.UIBlazor.Services.Authorization;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
2025-01-24 19:17:26 -03:00
using Blazored.Modal;
using Blazored.Toast;
using phronCare.UIBlazor.Services.Sales.Quotes;
2025-01-24 19:17:26 -03:00
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
#region Proveedor de Autorizacion
builder.Services.AddScoped<CustomAuthorizationProvider>();
builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthorizationProvider>(p => p.GetRequiredService<CustomAuthorizationProvider>());
builder.Services.AddScoped<ILoginService, CustomAuthorizationProvider>(p => p.GetRequiredService<CustomAuthorizationProvider>());
builder.Services.AddAuthorizationCore();
#endregion
#region Load Configuration
//var apiBaseUrl = Environment.GetEnvironmentVariable("API_BASE_URL")
// ?? builder.Configuration.GetSection("BaseAd").Value;
//if (!string.IsNullOrEmpty(apiBaseUrl) && Uri.TryCreate(apiBaseUrl, UriKind.Absolute, out var validUri))
//{
// builder.Services.AddScoped(sp => new HttpClient { BaseAddress = validUri });
//}
//Console.WriteLine($" valor apiBaseUrl: {apiBaseUrl}");
var config = builder.Configuration.GetSection("BaseAd").Value;
if (config != null)
{
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(config) });
}
#endregion
#region Injection Dependencis
InjectDependencies(builder);
2025-01-24 19:17:26 -03:00
#endregion
#region UI
builder.Services.AddBlazoredModal();
builder.Services.AddBlazoredToast();
builder.Services.AddSingleton<NavMenuService>();
#endregion
await builder.Build().RunAsync();
static void InjectDependencies(WebAssemblyHostBuilder builder)
{
builder.Services.AddScoped<ISalesLookupService, SalesLookupService>();
builder.Services.AddScoped<IQuoteService,QuoteService>();
builder.Services.AddScoped<TicketsService>();
builder.Services.AddScoped<CustomerService>();
builder.Services.AddScoped<TaxConditionService>();
builder.Services.AddScoped<AccountTypeService>();
builder.Services.AddScoped<PatientService>();
builder.Services.AddScoped<DocumentTypeService>();
builder.Services.AddScoped<InstitutionService>();
builder.Services.AddScoped<ProductService>();
builder.Services.AddScoped<BusinessUnitService>();
builder.Services.AddScoped<ProfessionalService>();
builder.Services.AddScoped<PeopleService>();
builder.Services.AddScoped<ProfessionalSpecialtyService>();
builder.Services.AddScoped<ProductCategoryService>();
}