public static IResult <Product, IFailure> SaveProduct(Product product)
 {
     try
     {
         NonFunctionalDbWrapper.SaveAsync(product).Wait();
         return(product.ToSuccess <Product, IFailure>());
     }
     catch (AggregateException ex) when(ex.InnerException is ConflictException conflictEx)
     {
         return(Failure.ConflictFailureResult(conflictEx.GetReloadedModel <Product>()));
     }
 }