Refactor GetOrCreateCommand and add AutoMapper profile
Refactored the `GetOrCreateCommand` to simplify the creation of `Endpoint` entities by delegating the creation logic to `repo.CreateAsync`. Added a new `MappingProfile` class using AutoMapper to define mappings between command objects (`CreateEndpointCommand` and `GetOrCreateCommand`) and the `Endpoint` entity, improving code maintainability and reducing boilerplate. Included necessary `using` directives in `MappingProfile.cs` to support the new mapping functionality.
This commit is contained in:
parent
4d6df7ccc8
commit
46664d62ba
@ -1,7 +1,6 @@
|
|||||||
using DigitalData.Core.Abstraction.Application.Repository;
|
using DigitalData.Core.Abstraction.Application.Repository;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using ReC.Domain.Entities;
|
|
||||||
|
|
||||||
namespace ReC.Application.Endpoints.Commands;
|
namespace ReC.Application.Endpoints.Commands;
|
||||||
|
|
||||||
@ -19,11 +18,7 @@ public class GetOrCreateCommandHandler(IRepository<Endpoint> repo) : IRequestHan
|
|||||||
if (endpoint is not null)
|
if (endpoint is not null)
|
||||||
return endpoint;
|
return endpoint;
|
||||||
|
|
||||||
endpoint = new Endpoint
|
endpoint = await repo.CreateAsync(request, cancel);
|
||||||
{
|
|
||||||
Uri = request.Uri
|
|
||||||
};
|
|
||||||
await repo.CreateAsync(endpoint, cancel);
|
|
||||||
return endpoint;
|
return endpoint;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
18
src/ReC.Application/Endpoints/MappingProfile.cs
Normal file
18
src/ReC.Application/Endpoints/MappingProfile.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using AutoMapper;
|
||||||
|
using ReC.Application.Endpoints.Commands;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ReC.Application.Endpoints;
|
||||||
|
|
||||||
|
public class MappingProfile : Profile
|
||||||
|
{
|
||||||
|
public MappingProfile()
|
||||||
|
{
|
||||||
|
CreateMap<CreateEndpointCommand, Endpoint>();
|
||||||
|
CreateMap<GetOrCreateCommand, Endpoint>();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user