Introduce MassData feature with new API endpoints for querying and upserting records by customer name. Add DTOs, AutoMapper profile, MediatR CQRS handlers, repository pattern, and MassDataDbContext. Register new services in DI and add MassDataConnection to configuration. Upsert uses stored procedure. Enables full CRUD for Massdata via dedicated API.
25 lines
881 B
C#
25 lines
881 B
C#
using AutoMapper;
|
|
using DbFirst.Application.Repositories;
|
|
using MediatR;
|
|
|
|
namespace DbFirst.Application.MassData.Commands;
|
|
|
|
public class UpsertMassDataByCustomerNameHandler : IRequestHandler<UpsertMassDataByCustomerNameCommand, MassDataReadDto>
|
|
{
|
|
private readonly IMassDataRepository _repository;
|
|
private readonly IMapper _mapper;
|
|
|
|
public UpsertMassDataByCustomerNameHandler(IMassDataRepository repository, IMapper mapper)
|
|
{
|
|
_repository = repository;
|
|
_mapper = mapper;
|
|
}
|
|
|
|
public async Task<MassDataReadDto> Handle(UpsertMassDataByCustomerNameCommand request, CancellationToken cancellationToken)
|
|
{
|
|
var dto = request.Dto;
|
|
var updated = await _repository.UpsertByCustomerNameAsync(dto.CustomerName, dto.Amount, dto.StatusFlag, dto.Category, cancellationToken);
|
|
return _mapper.Map<MassDataReadDto>(updated);
|
|
}
|
|
}
|