-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMauiProgram.cs
56 lines (55 loc) · 2.56 KB
/
MauiProgram.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using Client.Shared;
using DataModel;
using DevExpress.Maui;
using DevExpress.Maui.Core;
using MobileClient.Services;
using MobileClient.ViewModels;
using MobileClient.Views;
using NavigationService = MobileClient.Services.NavigationService;
namespace MobileClient {
public static class MauiProgram {
public static MauiApp CreateMauiApp() {
ThemeManager.ApplyThemeToSystemBars = true;
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.RegisterViewModels()
.RegisterViews()
.RegisterAppServices()
.UseDevExpress(useLocalization: true)
.UseDevExpressCollectionView()
.UseDevExpressControls()
.UseDevExpressEditors()
.UseDevExpressPdf()
.UseDevExpressScheduler()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("univia-pro-regular.ttf", "Univia-Pro");
fonts.AddFont("roboto-bold.ttf", "Roboto-Bold");
fonts.AddFont("roboto-regular.ttf", "Roboto");
});
DevExpress.Utils.DeserializationSettings.RegisterTrustedClass(typeof(Order));
return builder.Build();
}
public static MauiAppBuilder RegisterViewModels(this MauiAppBuilder mauiAppBuilder) {
mauiAppBuilder.Services.AddTransient<OrdersViewModel>();
mauiAppBuilder.Services.AddTransient<InvoicePreviewViewModel>();
return mauiAppBuilder;
}
public static MauiAppBuilder RegisterViews(this MauiAppBuilder mauiAppBuilder) {
mauiAppBuilder.Services.AddTransient<OrdersPage>();
mauiAppBuilder.Services.AddTransient<InvoiceReportPreviewPage>();
return mauiAppBuilder;
}
public static MauiAppBuilder RegisterAppServices(this MauiAppBuilder mauiAppBuilder) {
mauiAppBuilder.Services.AddTransient<IOrderDataService>(sp => new OrderDataService(new HttpClient(MyHttpMessageHandler.GetMessageHandler()) {
BaseAddress = new Uri(ON.Platform(android: "https://10.0.2.2:7033/", iOS: "https://localhost:7033/")),
Timeout = new TimeSpan(0, 0, 10)
})); ;
mauiAppBuilder.Services.AddTransient<IReportService, ReportService>();
mauiAppBuilder.Services.AddTransient<INavigationService, NavigationService>();
return mauiAppBuilder;
}
}
}