public List<Limit> GetLimit(string enrollmentcode, short typeid, int stateID, int underwriter)
 {
     string cacheKey = string.Concat("$Limit_ec_type$", enrollmentcode, "_", typeid);
     object CachedList = m_Cache.Get(cacheKey) as List<Limit>;
     List<Limit> lstReturn = null;
     //if (CachedList == null)//get from the service
     {
         PetfirstData pfData = new PetfirstData();
         lstReturn = pfData.GetLimit(enrollmentcode, typeid, stateID, underwriter);
         if (lstReturn.Count > 0)
         {
             //list has dup because of IsDefault is pulled
             //process list to get rid of dup
             decimal defaultValue = 0;
             defaultValue = (from l in lstReturn
                                     where l.IsDefault
                                     select l.Amount).FirstOrDefault();
             if (defaultValue != 0)
             {
                 lstReturn.RemoveAll(x => x.IsDefault == false && x.Amount == defaultValue);
             }
             m_Cache.Add(cacheKey, lstReturn);
         }
         else if (!enrollmentcode.Equals(_defaultEnrollment))
         {
             lstReturn = pfData.GetLimit(_defaultEnrollment, typeid, stateID, underwriter);
             if (lstReturn.Count > 0)
             {
                 decimal defaultValue = 0;
                 defaultValue = (from l in lstReturn
                                 where l.IsDefault
                                 select l.Amount).FirstOrDefault();
                 if (defaultValue != 0)
                 {
                     lstReturn.RemoveAll(x => x.IsDefault == false && x.Amount == defaultValue);
                 }
                 m_Cache.Add(cacheKey, lstReturn);
             }
         }
     }
     //else
        // lstReturn = (List<Limit>)CachedList;
     return lstReturn;
 }