presence/Presence.Desktop/DI/ServiceColletionExtensions.cs
2025-04-30 04:13:44 +03:00

47 lines
1.6 KiB
C#

using Demo.Data.RemoteData.RemoteDataBase;
using Demo.Data.Repository;
using Demo.Domain.UseCase;
using Microsoft.Extensions.DependencyInjection;
using Presence.Desktop.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using presence_client.ApiClients;
using presence_client.ApiClients.Interfaces;
using ReactiveUI;
namespace Presence.Desktop.DI
{
public static class ServiceColletionExtensions
{
public static void AddCommonService(this IServiceCollection collection)
{
collection
.AddHttpClient()
.AddLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
})
.AddScoped<IGroupApiClient, GroupApiClient>()
.AddScoped<IUserApiClient, UserApiClient>()
.AddScoped<IPresenceApiClient, PresenceApiClient>()
.AddTransient<StartViewModel>()
.AddTransient<PresenceViewModel>()
.AddTransient<GroupViewModel>();
collection.AddHttpClient("PresenceApi", client =>
{
client.BaseAddress = new Uri("http://localhost:5192");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
});
}
}
}