Skip to content

Commit c930c32

Browse files
authored
Merge pull request #6 from NiceOneFox/T6_Add_ServiceSimulation
Close T6 add service simulation
2 parents adeefe8 + e54418f commit c930c32

23 files changed

+179
-87
lines changed
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<Folder Include="Entities\" />
11-
<Folder Include="Interfaces\" />
12-
</ItemGroup>
13-
149
</Project>

backend/ServiceSimulation/Bll.Domain/Entities/Buffer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Bll.Domain.Factories;
2-
using Bll.Domain.Services;
2+
using Bll.Domain.Interfaces;
33

44
namespace Bll.Domain.Entities;
55

backend/ServiceSimulation/Bll.Domain/Entities/BufferManagerFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Bll.Domain.Factories;
2-
using Bll.Domain.Services;
2+
using Bll.Domain.Interfaces;
33

44
namespace Bll.Domain.Entities;
55

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,8 @@
1-
using Bll.Domain.Interfaces;
2-
using Bll.Domain.Services;
1+
namespace Bll.Domain.Entities;
32

4-
namespace Bll.Domain.Entities;
5-
6-
public class Device : IDevice
3+
public class Device
74
{
85
public int DeviceId { get; set; }
96
public bool IsWorking { get; set; }
107
public Request? Request { get; set; }
11-
private readonly ITimeProvider _time;
12-
public Device(int deviceId, bool isWorking, Request? request, ITimeProvider time)
13-
{
14-
DeviceId = deviceId;
15-
IsWorking = isWorking;
16-
Request = request;
17-
_time = time;
18-
}
19-
20-
public void TakeRequest(Request request)
21-
{
22-
if (IsWorking)
23-
{
24-
return;
25-
}
26-
Request = request;
27-
28-
//TODO COUNT TIME OF WORKING ON THAT REQUEST
29-
}
30-
31-
public bool IsFree()
32-
{
33-
if (Request?.EndTime <= _time.Now)
34-
{
35-
Request = null;
36-
IsWorking = false;
37-
// TODO COUNT THAT REQUEST WHICH IS END WORKING.
38-
}
39-
return true;
40-
}
418
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Bll.Domain.Interfaces;
2+
3+
namespace Bll.Domain.Entities;
4+
5+
public class DeviceManager : IDeviceManager
6+
{
7+
private readonly ITimeProvider _time;
8+
public DeviceManager(ITimeProvider time)
9+
{
10+
_time = time;
11+
}
12+
13+
public void TakeRequest(Request request, Device device)
14+
{
15+
if (device.IsWorking)
16+
{
17+
return;
18+
}
19+
device.Request = request;
20+
21+
//TODO COUNT TIME OF WORKING ON THAT REQUEST
22+
}
23+
24+
public bool IsFree(Device device)
25+
{
26+
if (device.Request?.EndTime <= _time.Now)
27+
{
28+
device.Request = null;
29+
device.IsWorking = false;
30+
// TODO COUNT THAT REQUEST WHICH IS END WORKING.
31+
}
32+
return true;
33+
}
34+
}

backend/ServiceSimulation/Bll.Domain/Entities/Request.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ public Request(int numberOfSource, int serialNumberOfSource, DateTime startTime,
1616
}
1717

1818
public override string ToString()
19-
=> "Time: " + StartTime + " №source: " + NumberOfSource + "-" + SerialNumberOfSource;
19+
=> "Time: " + StartTime + " №sourceManager: " + NumberOfSource + "-" + SerialNumberOfSource;
2020
}
Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,8 @@
1-
using Bll.Domain.Interfaces;
2-
using Bll.Domain.Services;
1+
namespace Bll.Domain.Entities;
32

4-
namespace Bll.Domain.Entities;
5-
6-
public class Source : ISource
3+
public class Source
74
{
85
public int SourceId { get; set; }
96
public int Priority { get; set; }
107
public int SerialNumber { get; set; }
11-
public ITimeProvider Time { get; set; }
12-
public Source(int sourceId, int priority, int serialNumber, ITimeProvider time)
13-
{
14-
SourceId = sourceId;
15-
Priority = priority;
16-
SerialNumber = serialNumber;
17-
Time = time;
18-
}
19-
20-
public Request GetNewRequest()
21-
{
22-
var generatedRequest = new Request(SourceId, SerialNumber, Time.Now, DateTime.Now.AddMilliseconds(5.0));
23-
SerialNumber++;
24-
return generatedRequest;
25-
}
268
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using Bll.Domain.Interfaces;
2+
3+
namespace Bll.Domain.Entities;
4+
5+
public class SourceManager : ISourceManager
6+
{
7+
public ITimeProvider Time { get; set; }
8+
public SourceManager(ITimeProvider time)
9+
{
10+
Time = time;
11+
}
12+
13+
public Request GetNewRequest(Source source)
14+
{
15+
var generatedRequest = new Request(source.SourceId, source.SerialNumber, Time.Now, DateTime.Now.AddMilliseconds(5.0));
16+
source.SerialNumber++;
17+
return generatedRequest;
18+
}
19+
}

backend/ServiceSimulation/Bll.Domain/Entities/StandardBufferManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Bll.Domain.Services;
1+
using Bll.Domain.Interfaces;
22

33
namespace Bll.Domain.Entities;
44

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using Bll.Domain.Interfaces;
2+
3+
namespace Bll.Domain.Entities;
4+
5+
public class TimeProvider : ITimeProvider
6+
{
7+
public DateTime Now { get; } = DateTime.Now;
8+
}

0 commit comments

Comments
 (0)