Task <ICreateProductResponseDTO> IRequestHandler <CreateProductRepository, ICreateProductResponseDTO> .Handle(CreateProductRepository request, CancellationToken cancellationToken) { try { var dynamicParameterTask = base.SetParameterAsync("Create-Product", request); var result = sqlClientDbProvider ?.DapperBuilder ?.OpenConnection(sqlClientDbProvider.GetConnection()) ?.Parameter(async() => await dynamicParameterTask) ?.Command(async(dbConnection, dynamicParameter) => { try { CreateProductResponseDTO createProductResponseDTO = await dbConnection?.QueryFirstOrDefaultAsync <CreateProductResponseDTO>(sql: "uspSetProduct", param: dynamicParameter, commandType: CommandType.StoredProcedure); return(createProductResponseDTO); } catch { return(null); } }) ?.ResultAsync <ICreateProductResponseDTO>(); return(result); } catch { throw; } }
async Task <bool> IRequestHandler <CreateProductCommand, bool> .Handle(CreateProductCommand request, CancellationToken cancellationToken) { try { CreateProductResponseDTO CreateProductResponseDTO = (await mediator.Send <ICreateProductResponseDTO>(mapper.Map <CreateProductRepository>(request))) as CreateProductResponseDTO; if (CreateProductResponseDTO != null) { mediator.Enqueue(new ProductCreatedIntegrationEvent() { Product = CreateProductResponseDTO }); return(true); } return(false); } catch { throw; } }
public object Post(CreateProductRequestDTO request) { CreateProductResponseDTO result = new CreateProductResponseDTO(); try { var client = new MongoClient(connectionString); var database = client.GetDatabase("products"); var collection = database.GetCollection <Product>("products"); Product p = new Product() { name = request.Name, category = request.Category, description = request.Description, price = request.Price }; collection.InsertOne(p); result._Id = p._id; } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(result); }