public OrderService( IOrderDataGateway dataGateway, ILogger logger) { this.dataGateway = dataGateway; this.logger = logger; }
public async Task <IEnumerable <Order> > GetOrdersAsync() { using (IOrderDataGateway dataGateway = dataService.OpenDataGateway()) { try { return(await dataGateway.GetOrdersAsync()); } catch (DataException e) { throw new DomainException(e.Message); } } }
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); } } }
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); } } }
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); } } }
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; }