Skip to content

Commit 75347b3

Browse files
committed
Add Device
1 parent c3eb386 commit 75347b3

File tree

3 files changed

+58
-8
lines changed

3 files changed

+58
-8
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
using Bll.Domain.Interfaces;
2+
using Bll.Domain.Services;
3+
4+
namespace Bll.Domain.Entities;
5+
6+
public class Device : IDevice
7+
{
8+
public int DeviceId { get; set; }
9+
public bool IsWorking { get; set; }
10+
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+
}
41+
}

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@ namespace Bll.Domain.Entities;
44

55
public class StandardBufferManager : IBufferManager
66
{
7-
public readonly LinkedList<Request> requests = new();
7+
private readonly LinkedList<Request> _requests = new();
88

99
public const int Capacity = 5;
1010

1111
public void Add(Request request)
1212
{
13-
if (requests.Count >= Capacity)
13+
if (_requests.Count >= Capacity)
1414
{
15-
var removedRequest = requests.Last();
16-
requests.RemoveLast();
15+
var removedRequest = _requests.Last();
16+
_requests.RemoveLast();
1717
// TODO ADD ALL DELETED REQUESTS TO SOME LOGS OR SOURCE. variable removedRequest
1818
}
1919

20-
requests.AddFirst(request);
20+
_requests.AddFirst(request);
2121
}
2222

2323
public Request? Get()
2424
{
25-
if (requests.Count == 0)
25+
if (_requests.Count == 0)
2626
{
2727
return null; // TODO THROW EXCEPTION?
2828
}
2929

30-
var requestFromBuffer = requests.Last();
31-
requests.RemoveLast();
30+
var requestFromBuffer = _requests.Last();
31+
_requests.RemoveLast();
3232

3333
return requestFromBuffer;
3434
}
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.Services;
4+
5+
public interface IDevice
6+
{
7+
void TakeRequest(Request request);
8+
bool IsFree();
9+
}

0 commit comments

Comments
 (0)