Solutions to a linear Diophantine system, or lattice points in a rational convex polytope, are important concepts in algebraic combinatorics and computational geometry. The enumeration problem is fundamental and has been well studied, because it has many applications in various fields of mathematics. In computational geometry, Barvinok's important result asserts the existence of a polynomial algorithm when the dimension is fixed. In algebraic combinatorics, MacMahon partition analysis has become a general approach for linear Diophantine system related problems. The core problem is to compute the constant term of an Elliott-rational function, which is a rational function whose denominator is a product of binomials. We introduce the geometric concept of cone into our algebraic framework, and solve the core problem in three steps: i) decompose into simplicial cones; ii) decompose into unimodular simplicial cones; iii) dispelling the slack variables. We make progress in these three steps separately. The new algorithm will have better performance than the LattE package of De Loera et. al., which is a C-implementation of Barvinok's idea and is appraised as the ``state of the art" algorithm. In this talk, I will report these progress by my team.