|
9 | 9 |
|
10 | 10 | namespace CheckDrive.Application.Services;
|
11 | 11 |
|
12 |
| -internal sealed class OilMarkService : IOilMarkService |
| 12 | +internal sealed class OilMarkService(ICheckDriveDbContext context, IMapper mapper) : IOilMarkService |
13 | 13 | {
|
14 |
| - private readonly ICheckDriveDbContext _context; |
15 |
| - private readonly IMapper _mapper; |
16 |
| - |
17 |
| - public OilMarkService(ICheckDriveDbContext context, IMapper mapper) |
18 |
| - { |
19 |
| - _context = context ?? throw new ArgumentNullException(nameof(context)); |
20 |
| - _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); |
21 |
| - } |
22 |
| - |
23 |
| - public async Task<OilMarkDto> CreateAsync(CreateOilMarkDto oilMark) |
24 |
| - { |
25 |
| - ArgumentNullException.ThrowIfNull(oilMark); |
26 |
| - |
27 |
| - var entity = _mapper.Map<OilMark>(oilMark); |
28 |
| - |
29 |
| - _context.OilMarks.Add(entity); |
30 |
| - await _context.SaveChangesAsync(); |
31 |
| - |
32 |
| - var dto = _mapper.Map<OilMarkDto>(entity); |
33 |
| - |
34 |
| - return dto; |
35 |
| - } |
36 |
| - |
37 |
| - public async Task DeleteAsync(int id) |
38 |
| - { |
39 |
| - var entity = await _context.OilMarks.FirstOrDefaultAsync(x => x.Id == id); |
40 |
| - |
41 |
| - if (entity is null) |
42 |
| - { |
43 |
| - throw new EntityNotFoundException($"Oil mark with id: {id} is not found."); |
44 |
| - } |
45 |
| - |
46 |
| - _context.OilMarks.Remove(entity); |
47 |
| - await _context.SaveChangesAsync(); |
48 |
| - } |
49 |
| - |
50 |
| - public Task<List<OilMarkDto>> GetAllAsync() |
51 |
| - { |
52 |
| - var oilMarks = _context.OilMarks |
53 |
| - .Select(x => new OilMarkDto(x.Id, x.Name)) |
54 |
| - .ToListAsync(); |
55 |
| - |
56 |
| - return oilMarks; |
57 |
| - } |
58 |
| - |
59 | 14 | public async Task<List<OilMarkDto>> GetAllAsync(OilMarkQueryParameters queryParameters)
|
60 | 15 | {
|
61 | 16 | ArgumentNullException.ThrowIfNull(queryParameters);
|
62 | 17 |
|
63 |
| - var query = _context.OilMarks.AsNoTracking().AsQueryable(); |
| 18 | + var query = context.OilMarks.AsNoTracking().AsQueryable(); |
64 | 19 |
|
65 | 20 | if (!string.IsNullOrEmpty(queryParameters.SearchText))
|
66 | 21 | {
|
67 | 22 | query = query.Where(x => x.Name.Contains(queryParameters.SearchText));
|
68 | 23 | }
|
69 | 24 |
|
70 | 25 | var entities = await query.ToListAsync();
|
71 |
| - var dtos = _mapper.Map<List<OilMarkDto>>(entities); |
| 26 | + var dtos = mapper.Map<List<OilMarkDto>>(entities); |
72 | 27 |
|
73 | 28 | return dtos;
|
74 | 29 | }
|
75 | 30 |
|
76 | 31 | public async Task<OilMarkDto> GetByIdAsync(int id)
|
77 | 32 | {
|
78 |
| - var entity = await _context.OilMarks.FirstOrDefaultAsync(x => x.Id == id); |
| 33 | + var entity = await context.OilMarks.FirstOrDefaultAsync(x => x.Id == id); |
79 | 34 |
|
80 | 35 | if (entity is null)
|
81 | 36 | {
|
82 | 37 | throw new EntityNotFoundException($"Oil mark with id: {id} is not found.");
|
83 | 38 | }
|
84 | 39 |
|
85 |
| - var dto = _mapper.Map<OilMarkDto>(entity); |
| 40 | + var dto = mapper.Map<OilMarkDto>(entity); |
86 | 41 |
|
87 | 42 | return dto;
|
88 | 43 | }
|
89 | 44 |
|
90 | 45 | public async Task<OilMarkDto> UpdateAsync(UpdateOilMarkDto oilMark)
|
91 | 46 | {
|
92 |
| - if (!await _context.OilMarks.AnyAsync(x => x.Id == oilMark.Id)) |
| 47 | + if (!await context.OilMarks.AnyAsync(x => x.Id == oilMark.Id)) |
93 | 48 | {
|
94 | 49 | throw new EntityNotFoundException($"Oil mark with id: {oilMark.Id} is not found.");
|
95 | 50 | }
|
96 | 51 |
|
97 |
| - var entity = _mapper.Map<OilMark>(oilMark); |
| 52 | + var entity = mapper.Map<OilMark>(oilMark); |
| 53 | + |
| 54 | + context.OilMarks.Update(entity); |
| 55 | + await context.SaveChangesAsync(); |
| 56 | + |
| 57 | + var dto = mapper.Map<OilMarkDto>(entity); |
| 58 | + |
| 59 | + return dto; |
| 60 | + } |
| 61 | + |
| 62 | + public async Task<OilMarkDto> CreateAsync(CreateOilMarkDto oilMark) |
| 63 | + { |
| 64 | + ArgumentNullException.ThrowIfNull(oilMark); |
| 65 | + |
| 66 | + var entity = mapper.Map<OilMark>(oilMark); |
98 | 67 |
|
99 |
| - _context.OilMarks.Update(entity); |
100 |
| - await _context.SaveChangesAsync(); |
| 68 | + context.OilMarks.Add(entity); |
| 69 | + await context.SaveChangesAsync(); |
101 | 70 |
|
102 |
| - var dto = _mapper.Map<OilMarkDto>(entity); |
| 71 | + var dto = mapper.Map<OilMarkDto>(entity); |
103 | 72 |
|
104 | 73 | return dto;
|
105 | 74 | }
|
| 75 | + |
| 76 | + public async Task DeleteAsync(int id) |
| 77 | + { |
| 78 | + var entity = await context.OilMarks.FirstOrDefaultAsync(x => x.Id == id); |
| 79 | + |
| 80 | + if (entity is null) |
| 81 | + { |
| 82 | + throw new EntityNotFoundException($"Oil mark with id: {id} is not found."); |
| 83 | + } |
| 84 | + |
| 85 | + context.OilMarks.Remove(entity); |
| 86 | + await context.SaveChangesAsync(); |
| 87 | + } |
106 | 88 | }
|
0 commit comments