Esempio n. 1
0
 public OrderService(
     IOrderDataGateway dataGateway,
     ILogger logger)
 {
     this.dataGateway = dataGateway;
     this.logger      = logger;
 }
Esempio n. 2
0
 public async Task <IEnumerable <Order> > GetOrdersAsync()
 {
     using (IOrderDataGateway dataGateway = dataService.OpenDataGateway())
     {
         try
         {
             return(await dataGateway.GetOrdersAsync());
         }
         catch (DataException e)
         {
             throw new DomainException(e.Message);
         }
     }
 }
Esempio n. 3
0
 public async Task AssignMechanicAsync(Order order, Person mechanic)
 {
     using (IOrderDataGateway dataGateway = dataService.OpenDataGateway())
     {
         try
         {
             await dataGateway.AssignMechanicAsync(order.Id, mechanic.Id);
         }
         catch (DataException e)
         {
             throw new DomainException(e.Message);
         }
     }
 }
Esempio n. 4
0
 public async Task SetPriceAsync(Order order, double price)
 {
     using (IOrderDataGateway dataGateway = dataService.OpenDataGateway())
     {
         try
         {
             await dataGateway.SetPriceAsync(order.Id, price);
         }
         catch (DataException e)
         {
             throw new DomainException(e.Message);
         }
     }
 }
Esempio n. 5
0
 public async Task CompleteOrderAsync(Order order)
 {
     order.FinishDate = DateTime.Now;
     using (IOrderDataGateway dataGateway = dataService.OpenDataGateway())
     {
         try
         {
             await dataGateway.CompleteOrderAsync(order.Id, order.FinishDate);
         }
         catch (DataException e)
         {
             throw new DomainException(e.Message);
         }
     }
 }
Esempio n. 6
0
        public async Task AddOrderAync(Order order)
        {
            order.StartDate = DateTime.Now;

            using (IOrderDataGateway dataGateway = dataService.OpenDataGateway())
            {
                try
                {
                    await dataGateway.AddOrder(order);
                }
                catch (DataException e)
                {
                    throw new DomainException(e.Message);
                }
            }
        }
 public OrderService(IOrderDataGateway gateway, ILogger <OrderServiceException> logger, IEmailSender emailSender)
 {
     this.gateway     = gateway;
     this.emailSender = emailSender;
     this.logger      = logger;
 }