Skip to content

Instantly share code, notes, and snippets.

View ducmeit1's full-sized avatar
:octocat:
Simple is best! Always do every simple!

David Ho ducmeit1

:octocat:
Simple is best! Always do every simple!
View GitHub Profile
public class GetUserDetailHandler : IRequestHandler<GetUserDetailQuery, UserDto>
{
private readonly IUserRepository _userRepository;
private readonly IUserMapper _userMapper;
public GetUserDetailHandler(IUserRepository userRepository, IUserMapper userMapper) {
_userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
_userMapper = userMapper ?? throw new ArgumentNullException(nameof(userMapper));
}
public class UsersController : ControllerBase
{
private readonly IMediator _mediator;
public UsersController(IMediator mediator) {
_mediator = mediator ?? throw new ArgumentNullException(nameof(mediator));
}
[HttpGet("{id}")]
public async Task<Order> Get(int id) {
using System.ComponentModel.DataAnnotations;
using Customer.Domain.Dtos;
using Newtonsoft.Json;
namespace Customer.Domain.Commands
{
public class CreateCustomerCommand : CommandBase<CustomerDto>
{
public CreateCustomerCommand()
{
using System;
using Newtonsoft.Json;
namespace Customer.Domain.Dtos
{
public class CustomerDto
{
[JsonProperty("id")]
public Guid Id { get; set; }
[JsonProperty("name")]
using System;
using System.Threading;
using System.Threading.Tasks;
using Customer.Data.IRepositories;
using Customer.Domain.Commands;
using Customer.Domain.Dtos;
using Customer.Service.Dxos;
using MediatR;
namespace Customer.Service.Services
using AutoMapper;
using Customer.Domain.Dtos;
namespace Customer.Service.Dxos
{
public class CustomerDxos : ICustomerDxos
{
private readonly IMapper _mapper;
public CustomerDxos()
using System;
using MediatR;
namespace Customer.Domain.Events
{
public class CustomerCreatedEvent : INotification
{
public Guid CustomerId { get; }
public CustomerCreatedEvent(Guid customerId)
using System;
using System.Threading;
using System.Threading.Tasks;
using Customer.Data.IRepositories;
using Customer.Domain.Events;
using MediatR;
using Microsoft.Extensions.Logging;
namespace Customer.Service.Subcribers
{
services.AddScoped<ICustomerRepository, CustomerRepository>();
services.AddScoped<ICustomerDxos, CustomerDxos>();
using System;
using System.Threading.Tasks;
using MediatR;
using Microsoft.AspNetCore.Mvc;
namespace Customer.API.Controllers
{
[ApiController]
[Route("api/[controller]")]
[Produces("application/json")]