public async Task <Order> Create(Order Order) { if (!await OrderValidator.Create(Order)) { return(Order); } try { await UOW.Begin(); await UOW.OrderRepository.Create(Order); await UOW.Commit(); await Logging.CreateAuditLog(Order, new { }, nameof(OrderService)); return(await UOW.OrderRepository.Get(Order.Id)); } catch (Exception ex) { await UOW.Rollback(); await Logging.CreateSystemLog(ex.InnerException, nameof(OrderService)); if (ex.InnerException == null) { throw new MessageException(ex); } else { throw new MessageException(ex.InnerException); } } }
public async Task <Order> Create(Order Order) { if (!await OrderValidator.Create(Order)) { return(Order); } try { await UOW.Begin(); await UOW.OrderRepository.Create(Order); await UOW.Commit(); await UOW.AuditLogRepository.Create(Order, "", nameof(OrderService)); return(await UOW.OrderRepository.Get(Order.Id)); } catch (Exception ex) { await UOW.Rollback(); await UOW.SystemLogRepository.Create(ex, nameof(OrderService)); throw new MessageException(ex); } }