Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        //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);
        }