  We present a finitely convergent cutting-plane algorithm for solving a
general mixed-integer convex programs given an oracle for solving general
convex programs. This method is extended to solve a family of two-stage
mixed-integer convex programs using cutting planes, with applications to
solving distributionally-robust two-stage stochastic mixed-integer convex
programs. Since algorithms purely using cutting planes are not very practical
for implementation, we combined the cut generation with a branch-and-union
scheme to develop a more practical algorithm. Analysis is also given for the
case where convex programming oracle provides an $\epsilon-$optimal solution.
Computational results on generated test problems show the practicality of our
algorithm. Specifically, results show that addition of cuts speed up solution
times by nearly 10-fold on the largest test problems that are solved.
