public async Task <HandlerResult <TTo> > Handle(ChangeStateOrderContext <TCommand, TFrom> input) { using var tr = _unitOfWork.BeginTransaction(); try { await Task.Delay(300); var result = ChangeStateOrder(input); _unitOfWork.Commit(); await tr.CommitAsync(); return(result); } catch (Exception e) { await tr.RollbackAsync(); return(FailureInfo.Invalid(e.Message)); } }