Skip to content

Commit 408e84b

Browse files
author
Saman Azadi
committed
Improving the structure of classes in Features
1 parent ce7028e commit 408e84b

File tree

5 files changed

+77
-72
lines changed

5 files changed

+77
-72
lines changed

src/OA.Service/Features/CustomerFeatures/Commands/CreateCustomerCommand.cs

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,30 @@ public class CreateCustomerCommand : IRequest<int>
1616
public string Country { get; set; }
1717
public string Phone { get; set; }
1818
public string Fax { get; set; }
19-
public class CreateCustomerCommandHandler(IApplicationDbContext context)
20-
: IRequestHandler<CreateCustomerCommand, int>
19+
20+
}
21+
22+
public class CreateCustomerCommandHandler(IApplicationDbContext context)
23+
: IRequestHandler<CreateCustomerCommand, int>
24+
{
25+
public async Task<int> Handle(CreateCustomerCommand request, CancellationToken cancellationToken)
2126
{
22-
public async Task<int> Handle(CreateCustomerCommand request, CancellationToken cancellationToken)
27+
var customer = new Customer
2328
{
24-
var customer = new Customer
25-
{
26-
CustomerName = request.CustomerName,
27-
ContactName = request.ContactName,
28-
Address = request.Address,
29-
City = request.City,
30-
Region = request.Region,
31-
PostalCode = request.PostalCode,
32-
Country = request.Country,
33-
Phone = request.Phone,
34-
Fax = request.Fax,
35-
ContactTitle = request.ContactTitle
36-
};
29+
CustomerName = request.CustomerName,
30+
ContactName = request.ContactName,
31+
Address = request.Address,
32+
City = request.City,
33+
Region = request.Region,
34+
PostalCode = request.PostalCode,
35+
Country = request.Country,
36+
Phone = request.Phone,
37+
Fax = request.Fax,
38+
ContactTitle = request.ContactTitle
39+
};
3740

38-
context.Customers.Add(customer);
39-
await context.SaveChangesAsync();
40-
return customer.Id;
41-
}
41+
context.Customers.Add(customer);
42+
await context.SaveChangesAsync();
43+
return customer.Id;
4244
}
43-
}
45+
}

src/OA.Service/Features/CustomerFeatures/Commands/DeleteCustomerByIdCommand.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,17 @@ namespace OA.Service.Features.CustomerFeatures.Commands;
77
public class DeleteCustomerByIdCommand : IRequest<int>
88
{
99
public int Id { get; set; }
10-
public class DeleteCustomerByIdCommandHandler(IApplicationDbContext context)
11-
: IRequestHandler<DeleteCustomerByIdCommand, int>
10+
}
11+
12+
public class DeleteCustomerByIdCommandHandler(IApplicationDbContext context)
13+
: IRequestHandler<DeleteCustomerByIdCommand, int>
14+
{
15+
public async Task<int> Handle(DeleteCustomerByIdCommand request, CancellationToken cancellationToken)
1216
{
13-
public async Task<int> Handle(DeleteCustomerByIdCommand request, CancellationToken cancellationToken)
14-
{
15-
var customer = await context.Customers.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken: cancellationToken);
16-
if (customer == null) return default;
17-
context.Customers.Remove(customer);
18-
await context.SaveChangesAsync();
19-
return customer.Id;
20-
}
17+
var customer = await context.Customers.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken: cancellationToken);
18+
if (customer == null) return default;
19+
context.Customers.Remove(customer);
20+
await context.SaveChangesAsync();
21+
return customer.Id;
2122
}
2223
}
Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using MediatR;
2+
using Microsoft.EntityFrameworkCore;
23
using OA.Persistence;
34

45
namespace OA.Service.Features.CustomerFeatures.Commands;
@@ -16,34 +17,33 @@ public class UpdateCustomerCommand : IRequest<int>
1617
public string Country { get; set; }
1718
public string Phone { get; set; }
1819
public string Fax { get; set; }
19-
public class UpdateCustomerCommandHandler(IApplicationDbContext context)
20-
: IRequestHandler<UpdateCustomerCommand, int>
20+
21+
}
22+
23+
public class UpdateCustomerCommandHandler(IApplicationDbContext context)
24+
: IRequestHandler<UpdateCustomerCommand, int>
25+
{
26+
public async Task<int> Handle(UpdateCustomerCommand request, CancellationToken cancellationToken)
2127
{
22-
public async Task<int> Handle(UpdateCustomerCommand request, CancellationToken cancellationToken)
23-
{
24-
var cust = context.Customers.Where(a => a.Id == request.Id).FirstOrDefault();
25-
26-
if (cust == null)
27-
{
28-
return default;
29-
}
30-
else
31-
{
32-
cust.CustomerName = request.CustomerName;
33-
cust.ContactName = request.ContactName;
34-
cust.ContactTitle = request.ContactTitle;
35-
cust.Address = request.Address;
36-
cust.City = request.City;
37-
cust.Region = request.Region;
38-
cust.PostalCode = request.PostalCode;
39-
cust.Country = request.Country;
40-
cust.Fax= request.Fax;
41-
cust.Phone= request.Phone;
42-
43-
context.Customers.Update(cust);
44-
await context.SaveChangesAsync();
45-
return cust.Id;
46-
}
47-
}
28+
var customer = await context.Customers.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken: cancellationToken);
29+
30+
if (customer == null)
31+
return default;
32+
33+
customer.CustomerName = request.CustomerName;
34+
customer.ContactName = request.ContactName;
35+
customer.ContactTitle = request.ContactTitle;
36+
customer.Address = request.Address;
37+
customer.City = request.City;
38+
customer.Region = request.Region;
39+
customer.PostalCode = request.PostalCode;
40+
customer.Country = request.Country;
41+
customer.Fax = request.Fax;
42+
customer.Phone = request.Phone;
43+
44+
context.Customers.Update(customer);
45+
await context.SaveChangesAsync();
46+
47+
return customer.Id;
4848
}
49-
}
49+
}

src/OA.Service/Features/CustomerFeatures/Queries/GetAllCustomerQuery.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ namespace OA.Service.Features.CustomerFeatures.Queries;
77

88
public class GetAllCustomerQuery : IRequest<IEnumerable<Customer>>
99
{
10+
}
1011

11-
public class GetAllCustomerQueryHandler(IApplicationDbContext context)
12+
public class GetAllCustomerQueryHandler(IApplicationDbContext context)
1213
: IRequestHandler<GetAllCustomerQuery, IEnumerable<Customer>>
14+
{
15+
public async Task<IEnumerable<Customer>> Handle(GetAllCustomerQuery request, CancellationToken cancellationToken)
1316
{
14-
public async Task<IEnumerable<Customer>> Handle(GetAllCustomerQuery request, CancellationToken cancellationToken)
15-
{
16-
var customerList = await context.Customers.ToListAsync(cancellationToken: cancellationToken);
17-
return customerList.AsReadOnly();
18-
}
17+
var customerList = await context.Customers.ToListAsync(cancellationToken: cancellationToken);
18+
return customerList.AsReadOnly();
1919
}
20+
2021
}

src/OA.Service/Features/CustomerFeatures/Queries/GetCustomerByIdQuery.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ namespace OA.Service.Features.CustomerFeatures.Queries;
88
public class GetCustomerByIdQuery : IRequest<Customer>
99
{
1010
public int Id { get; set; }
11-
public class GetCustomerByIdQueryHandler(IApplicationDbContext context)
11+
}
12+
13+
public class GetCustomerByIdQueryHandler(IApplicationDbContext context)
1214
: IRequestHandler<GetCustomerByIdQuery, Customer>
15+
{
16+
public async Task<Customer> Handle(GetCustomerByIdQuery request, CancellationToken cancellationToken)
1317
{
14-
public async Task<Customer> Handle(GetCustomerByIdQuery request, CancellationToken cancellationToken)
15-
{
16-
return await context.Customers.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken: cancellationToken);
17-
}
18+
return await context.Customers.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken: cancellationToken);
1819
}
19-
}
20+
}

0 commit comments

Comments
 (0)