Skip to content

Commit e54418f

Browse files
committed
Add entities Device, and Source. Rename classes to Managers. Split Logic and Models.
1 parent 37bccbd commit e54418f

File tree

12 files changed

+88
-84
lines changed

12 files changed

+88
-84
lines changed

backend/ServiceSimulation/Bll.Domain/Bll.Domain.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,4 @@
66
<Nullable>enable</Nullable>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<Folder Include="Entities\" />
11-
</ItemGroup>
12-
139
</Project>
Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,8 @@
1-
using Bll.Domain.Interfaces;
1+
namespace Bll.Domain.Entities;
22

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

3-
namespace Bll.Domain.Entities;
4-
5-
public class Source : ISource
3+
public class Source
64
{
75
public int SourceId { get; set; }
86
public int Priority { get; set; }
97
public int SerialNumber { get; set; }
10-
public ITimeProvider Time { get; set; }
11-
public Source(int sourceId, int priority, int serialNumber, ITimeProvider time)
12-
{
13-
SourceId = sourceId;
14-
Priority = priority;
15-
SerialNumber = serialNumber;
16-
Time = time;
17-
}
18-
19-
public Request GetNewRequest()
20-
{
21-
var generatedRequest = new Request(SourceId, SerialNumber, Time.Now, DateTime.Now.AddMilliseconds(5.0));
22-
SerialNumber++;
23-
return generatedRequest;
24-
}
258
}
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/Interfaces/IDevice.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using Bll.Domain.Entities;
2+
3+
namespace Bll.Domain.Interfaces;
4+
5+
public interface IDeviceManager
6+
{
7+
void TakeRequest(Request request, Device device);
8+
bool IsFree(Device device);
9+
}

backend/ServiceSimulation/Bll.Domain/Interfaces/ISource.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using Bll.Domain.Entities;
2+
3+
namespace Bll.Domain.Interfaces;
4+
5+
public interface ISourceManager
6+
{
7+
Request GetNewRequest(Source source);
8+
}

0 commit comments

Comments
 (0)