//private void GetUsersBySalesCRMRoleType(int loginID, Dictionary<string, string> dataFields, TGContractRoles roletype) //{ // string user = string.Empty; // user = string.Join(";", employeeServiceProvider.GetUsersBySalesCRMRoleType(roletype, loginID)); // if (string.IsNullOrEmpty(user)) // { // throw new Exception(string.Format("501:{0}发起的流程未找到审批人[{1}],请联系CRM管理员", loginID.ToString(), roletype.ToString())); // } // dataFields.Add(roletype.ToString(), user); //} private void GetUsersBySalesCRMRoleType(int loginID, Dictionary<string, string> dataFields, TGContractRoles roletype) { string key = string.Format("{0}_{1}", loginID.ToString(), roletype.ToString()); string user = string.Empty; var cache = HttpRuntime.Cache.Get(key); if (cache == null) { user = string.Join(";", employeeServiceProvider.GetUsersBySalesCRMRoleType(roletype, loginID)); Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "FromAPI", "0", user); try { DateTime cacheExpiriation; int timeSpan = 30 - DateTime.Now.Minute; cacheExpiriation = timeSpan > 0 ? DateTime.Now.AddMinutes(timeSpan) : DateTime.Now.AddHours(1).AddMinutes(timeSpan); HttpRuntime.Cache.Add(key, user, null, cacheExpiriation, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } catch { } } else { user = cache.ToString(); Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "FromCache", "0", user); } if (string.IsNullOrEmpty(user)) { //var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"); //var fileMap = Path.Combine(path, "CatConfig.xml"); //Cat.Initialize(fileMap); //var a = Cat.GetProducer().NewTransaction("WorkFlowService", input.MethodBase.Name); //Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "Error", "0", user); throw new Exception(string.Format("501:{0}发起的流程未找到审批人[{1}],请联系CRM管理员", loginID.ToString(), roletype.ToString())); } dataFields.Add(roletype.ToString(), user); }
//private void GetUsersBySalesCRMRoleType(int loginID, Dictionary<string, string> dataFields, TGContractRoles roletype) //{ // string user = string.Empty; // user = string.Join(";", employeeServiceProvider.GetUsersBySalesCRMRoleType(roletype, loginID)); // if (string.IsNullOrEmpty(user)) // { // throw new Exception(string.Format("501:{0}发起的流程未找到审批人[{1}],请联系CRM管理员", loginID.ToString(), roletype.ToString())); // } // dataFields.Add(roletype.ToString(), user); //} private void GetUsersBySalesCRMRoleType(int loginID, Dictionary <string, string> dataFields, TGContractRoles roletype) { string key = string.Format("{0}_{1}", loginID.ToString(), roletype.ToString()); string user = string.Empty; var cache = HttpRuntime.Cache.Get(key); if (cache == null) { user = string.Join(";", employeeServiceProvider.GetUsersBySalesCRMRoleType(roletype, loginID)); Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "FromAPI", "0", user); try { DateTime cacheExpiriation; int timeSpan = 30 - DateTime.Now.Minute; cacheExpiriation = timeSpan > 0 ? DateTime.Now.AddMinutes(timeSpan) : DateTime.Now.AddHours(1).AddMinutes(timeSpan); HttpRuntime.Cache.Add(key, user, null, cacheExpiriation, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } catch { } } else { user = cache.ToString(); Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "FromCache", "0", user); } if (string.IsNullOrEmpty(user)) { //var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"); //var fileMap = Path.Combine(path, "CatConfig.xml"); //Cat.Initialize(fileMap); //var a = Cat.GetProducer().NewTransaction("WorkFlowService", input.MethodBase.Name); //Cat.GetProducer().LogEvent("GetUsersBySalesCRMRoleType", "Error", "0", user); throw new Exception(string.Format("501:{0}发起的流程未找到审批人[{1}],请联系CRM管理员", loginID.ToString(), roletype.ToString())); } dataFields.Add(roletype.ToString(), user); }