-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServiceFactory.cs
More file actions
33 lines (27 loc) · 883 Bytes
/
ServiceFactory.cs
File metadata and controls
33 lines (27 loc) · 883 Bytes
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
using Microsoft.Extensions.Logging;
namespace Tyc_studio.Plugin.Database;
public interface IDatabaseServiceFactory
{
IDatabaseService CreateService(DatabaseContext context);
IDatabaseService CreateService(string connectionString);
}
public class DatabaseServiceFactory : IDatabaseServiceFactory
{
private readonly ILoggerFactory _loggerFactory;
public DatabaseServiceFactory(ILoggerFactory loggerFactory)
{
_loggerFactory = loggerFactory;
}
public IDatabaseService CreateService(DatabaseContext context)
{
var logger = _loggerFactory.CreateLogger<DatabaseService>();
return new DatabaseService(context, logger);
}
public IDatabaseService CreateService(string connectionString)
{
return CreateService(new DatabaseContext
{
ConnectionString = connectionString
});
}
}