Escali License control 1
AgreementService.cs
Gå til dokumentasjonen til denne filen.
4using Microsoft.EntityFrameworkCore;
5
7{
8
12public class AgreementService
13{
14
15 private readonly DataContext _db;
16
18 {
19 _db = db;
20 }
21
26 public async Task<List<Agreement>> GetAllAgreements()
27 {
28 var res = await _db.Agreements
29 .Include(a => a.Currency)
30 .ToListAsync();
31 return res;
32 }
33
40 public async Task<Agreement> GetAgreementById(int id)
41 {
42 var res = await _db.Agreements.FindAsync(id);
43 return res;
44 }
45
52 public async Task<Agreement> AddAgreement(Agreement agreement)
53 {
54 if (_db.Agreements.Any(a => a.AgreementName == agreement.AgreementName))
55 throw new InvalidOperationException($"Unique name violation.");
56
57 agreement.AgreementUpdated = DateTime.Now;
58 agreement.AgreementCreated = DateTime.Now;
59
60 var res = _db.Agreements.Add(agreement);
61 await _db.SaveChangesAsync();
62 return res.Entity;
63 }
64
72 public async Task<Agreement> UpdateAgreement(Agreement agreement)
73 {
74 if (_db.Agreements.Any(a => a.AgreementName == agreement.AgreementName && a.AgreementSeq != agreement.AgreementSeq))
75 throw new InvalidOperationException($"Unique name violation.");
76
77 agreement.AgreementUpdated = DateTime.Now;
78
79 var res = _db.Agreements.Update(agreement);
80 await _db.SaveChangesAsync();
81 return res.Entity;
82 }
83
90 public async Task<Agreement> DeactivateAgreement(int id)
91 {
92 var agreement = await _db.Agreements.FindAsync(id);
93 if (agreement == null)
94 throw new NullReferenceException($"Agreement with id {id} doesn't exist.");
95 agreement.IsActive = false;
96 var res = await UpdateAgreement(agreement);
97 return res;
98 }
99
106 public async Task<Agreement> ActivateAgreement(int id)
107 {
108 var agreement = await _db.Agreements.FindAsync(id);
109 if (agreement == null)
110 throw new NullReferenceException($"Agreement with id {id} doesn't exist.");
111 agreement.IsActive = true;
112 var res = await UpdateAgreement(agreement);
113 return res;
114 }
115
116 }
117}
AgreementService class inserts and updates Agreement in the Database
async Task< Agreement > GetAgreementById(int id)
Read one Agreement with id from database
async Task< Agreement > UpdateAgreement(Agreement agreement)
Updates changes on a Agreement in the database
async Task< Agreement > AddAgreement(Agreement agreement)
Adds a Agreement to the database
async Task< Agreement > DeactivateAgreement(int id)
Deactivates a Agreement by setting IsActive attribute to false
async Task< List< Agreement > > GetAllAgreements()
Read all Agreements from database
async Task< Agreement > ActivateAgreement(int id)
Activates a Agreement by setting IsActive attribute to true