-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathSanctionedEntityRepository.cs
More file actions
51 lines (45 loc) · 1.88 KB
/
SanctionedEntityRepository.cs
File metadata and controls
51 lines (45 loc) · 1.88 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using ajgre_technical_interview.Models;
using AJRE.Domain.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AJGRE.Infrastructure.Repository
{
public class SanctionedEntityRepository : ISanctionedEntityRepository
{
private static readonly IList<SanctionedEntity> SanctionedEntities = new List<SanctionedEntity>
{
new SanctionedEntity { Name = "Forbidden Company", Domicile = "Mars", Accepted = false },
new SanctionedEntity { Name = "Allowed Company", Domicile = "Venus", Accepted = true },
new SanctionedEntity { Name = "Good Ltd", Domicile = "Saturn", Accepted = true },
new SanctionedEntity { Name = "Evil Plc", Domicile = "Venus", Accepted = false }
};
public async Task<IList<SanctionedEntity>> GetSanctionedEntitiesAsync()
{
var entities = SanctionedEntities
.OrderBy(e => e.Name)
.ThenBy(e => e.Domicile)
.ToList();
return await Task.FromResult(entities);
}
public async Task<SanctionedEntity> GetSanctionedEntityByIdAsync(Guid id)
{
return await Task.FromResult(
SanctionedEntities.First(e => e.Id.Equals(id)));
}
public async Task<SanctionedEntity> CreateSanctionedEntityAsync(SanctionedEntity sanctionedEntity)
{
SanctionedEntities.Add(sanctionedEntity);
return await Task.FromResult(sanctionedEntity);
}
public async Task<bool> ExistsAsync(string name, string domicile)
{
var exists = SanctionedEntities.Any(e =>
e.Name.Equals(name, StringComparison.OrdinalIgnoreCase) &&
e.Domicile.Equals(domicile, StringComparison.OrdinalIgnoreCase));
return await Task.FromResult(exists);
}
}
}