Skip to content

Instantly share code, notes, and snippets.

View aramkoukia's full-sized avatar
🏠
Working from home

Aram Koukia aramkoukia

🏠
Working from home
View GitHub Profile
Policy
.Handle<Exception>()
.RetryForever(exception =>
{
YourFunction();
});
Policy
.Handle<Exception>()
.Retry(3, (exception, retryCount) =>
{
var result = YourFunction();
});
@aramkoukia
aramkoukia / OrderView.cs
Created January 21, 2018 23:02
Order View
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using Newtonsoft.Json;
using Sales.Common.Dto;
using Sales.Common.Events;
using MicroServices.Common;
using MicroServices.Common.Exceptions;
using MicroServices.Common.Repository;
@aramkoukia
aramkoukia / ReadModel.OrdersController.js
Created January 21, 2018 22:57
Orders Read Model Controller
using System;
using System.Web.Http;
using MicroServices.Common.Exceptions;
namespace Sales.ReadModels.Service.Controllers
{
public class OrdersController : ApiController
{
[HttpGet]
public IHttpActionResult Get(Guid id)
@aramkoukia
aramkoukia / Order.cs
Created January 21, 2018 22:50
Order Domain class
using System;
using System.Linq;
using Sales.Common.Events;
using MicroServices.Common;
namespace Sales.Service.MicroServices.Order.Domain
{
public class Order : Aggregate
{
private Order()
@aramkoukia
aramkoukia / OrderCommandHandlers.cs
Created January 21, 2018 22:44
Order Command Handlers
using System;
using Sales.Service.MicroServices.Order.Commands;
using MicroServices.Common.Repository;
using Sales.Service.MicroServices.Product.View;
using Products.ReadModels.Client;
namespace Sales.Service.MicroServices.Order.Handlers
{
public class OrderCommandHandlers
{
@aramkoukia
aramkoukia / NewOrderCommand.cs
Created January 21, 2018 22:41
New Order Command
using System;
using MicroServices.Common;
namespace Sales.Service.MicroServices.Order.Commands
{
public class StartNewOrder : ICommand
{
public StartNewOrder(Guid id, Guid productId, int quantity)
{
Id = id;
@aramkoukia
aramkoukia / OrdersController.cs
Created January 21, 2018 22:38
Orders Controller
using System;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Sales.Service.DataTransferObjects.Commands;
using Sales.Service.MicroServices.Order.Commands;
namespace Sales.Service.Controllers
{
public class OrdersController : ApiController
@aramkoukia
aramkoukia / ProductView.cs
Created January 20, 2018 23:52
Product View
using System;
using System.Collections.Generic;
using Products.Common.Dto;
using MicroServices.Common;
using Products.Common.Events;
using MicroServices.Common.Exceptions;
using MicroServices.Common.Repository;
namespace Products.ReadModels.Service.Views
{
@aramkoukia
aramkoukia / ReadModel.ProductController.cs
Created January 20, 2018 23:39
Read Model Product Controller
using System;
using System.Web.Http;
using MicroServices.Common.Exceptions;
namespace Products.ReadModels.Service.Controllers
{
public class ProductsController : ApiController
{
[HttpGet]
public IHttpActionResult Get(Guid id)