Skip to content

Commit 1f5be73

Browse files
committed
Implement DataProcessingService
1 parent 88282f4 commit 1f5be73

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using RealTimeWeatherMonitoringApp.Application.Common;
2+
using RealTimeWeatherMonitoringApp.Application.Interfaces;
3+
using RealTimeWeatherMonitoringApp.Application.Interfaces.Service;
4+
5+
namespace RealTimeWeatherMonitoringApp.Application.Service;
6+
7+
public class DataProcessingService<TData> : IDataProcessingService<TData>
8+
{
9+
private readonly IAutoParsingService<TData> _autoParsingService;
10+
private readonly IDataReceiver<TData> _receiver;
11+
12+
public DataProcessingService(IAutoParsingService<TData> autoParsingService, IDataReceiver<TData> receiver)
13+
{
14+
_autoParsingService = autoParsingService;
15+
_receiver = receiver;
16+
}
17+
18+
public ParsingResult<TData> Process(string input)
19+
{
20+
var result = _autoParsingService.AutoParse(input);
21+
if (result is { Success: true, Data: not null })
22+
_receiver.Receive(result.Data);
23+
return result;
24+
}
25+
}

0 commit comments

Comments
 (0)