Exemplo n.º 1
0
        /// <summary>
        /// 从缓存获取获取实体
        /// </summary>
        /// <param name="id">主键</param>
        public static BaseUserContactEntity GetObjectByCache(string id)
        {
            BaseUserContactEntity result = null;

            System.Web.Caching.Cache cache = HttpRuntime.Cache;
            string cacheObject             = "UserContact";

            if (!string.IsNullOrEmpty(id))
            {
                cacheObject = "UserContact" + id;
            }
            if (cache != null && cache[cacheObject] == null)
            {
                BaseUserContactManager manager = new DotNet.Business.BaseUserContactManager(BaseUserContactEntity.TableName);
                result = manager.GetObject(id);
                // 若是空的不用缓存,继续读取实体
                if (result != null)
                {
                    cache.Add(cacheObject, result, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null);
                    // System.Console.WriteLine(System.DateTime.Now.ToString(BaseSystemInfo.DateTimeFormat) + " cache UserContact " + id);
                }
            }
            result = cache[cacheObject] as BaseUserContactEntity;

            return(result);
        }
 /// <summary>
 /// 获取用户表,从缓存读取
 /// </summary>
 public static List <BaseUserContactEntity> GetEntities()
 {
     if (HttpContext.Current.Session == null || HttpContext.Current.Cache[BaseUserContactEntity.TableName] == null)
     {
         lock (BaseSystemInfo.UserLock)
         {
             if (HttpContext.Current.Session == null || HttpContext.Current.Cache[BaseUserContactEntity.TableName] == null)
             {
                 // 读取目标表中的数据
                 List <BaseUserContactEntity> entityList = null;
                 BaseUserContactManager       manager    = new DotNet.Business.BaseUserContactManager(BaseUserContactEntity.TableName);
                 entityList = manager.GetList <BaseUserContactEntity>();
                 // 这个是没写过期时间的方法
                 // HttpContext.Current.Cache[tableName] = entityList;
                 // 设置过期时间为8个小时,第2天若有不正常的自动就可以正常了
                 HttpContext.Current.Cache.Add(BaseUserContactEntity.TableName, entityList, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null);
             }
         }
     }
     return(HttpContext.Current.Cache[BaseUserContactEntity.TableName] as List <BaseUserContactEntity>);
 }
        /// <summary>
        /// 更新K8员工后,同步到中天baseuser表
        /// 传入dbhelper 方法调用使用事务 避免部分同步成功
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="userCenterDbHelper"></param>
        public void AfterUpdateEmployee(TAB_EMPLOYEEEntity entity, IDbHelper userCenterDbHelper)
        {
            int            count      = 0;
            BaseUserEntity userEntity = new BaseUserEntity();

            userEntity.Id           = entity.ID.ToString();
            userEntity.UserFrom     = "PDA";
            userEntity.UserPassword = entity.BAR_PASSWORD;
            userEntity.Code         = entity.EMPLOYEE_CODE;
            userEntity.UserName     = entity.EMPLOYEE_NAME;
            userEntity.RealName     = entity.EMPLOYEE_NAME;
            userEntity.Description  = entity.PHONE;
            userEntity.CompanyName  = entity.OWNER_SITE;
            // 1、更新baseuser中的所属网点
            if (string.IsNullOrEmpty(userEntity.CompanyId))
            {
                BaseOrganizeEntity organizeEntity = new BaseOrganizeManager(userCenterDbHelper).GetObjectByName(userEntity.CompanyName);
                if (organizeEntity != null)
                {
                    userEntity.CompanyId = organizeEntity.Id.ToString();
                }
            }
            userEntity.DepartmentName = entity.DEPT_NAME;
            userEntity.WorkgroupName  = entity.GROUP_NAME;
            userEntity.HomeAddress    = entity.ADDRESS;
            userEntity.IDCard         = entity.ID_CARD;

            // 2、员工操作类型,按签名处理
            userEntity.Signature  = entity.EMPLOYEE_TYPE;
            userEntity.SortCode   = int.Parse(entity.ID.ToString());
            userEntity.ModifiedOn = entity.UPDATETIME;
            BaseUserManager userManager = new BaseUserManager(userCenterDbHelper, Utilities.UserInfo);

            // if (!userManager.Exists(userEntity.Id))
            count = userManager.UpdateObject(userEntity);
            if (count == 0)
            {
                userManager.AddObject(userEntity);
            }
            // 3、如果有电话,同步到baseusercontact中
            BaseUserContactEntity userContactEntity = new BaseUserContactEntity();

            userContactEntity.Id        = entity.ID.ToString();
            userContactEntity.Telephone = entity.PHONE;
            BaseUserContactManager userContactManager = new DotNet.Business.BaseUserContactManager(userCenterDbHelper, Utilities.UserInfo);

            count = userContactManager.UpdateObject(userContactEntity);
            if (count == 0)
            {
                userContactManager.AddObject(userContactEntity);
            }
            // 4、新增员工时,同步baseuser员工的密码
            BaseUserLogOnEntity userLogOnEntity = new BaseUserLogOnEntity();

            userLogOnEntity.Id           = entity.ID.ToString();
            userLogOnEntity.UserPassword = entity.BAR_PASSWORD;
            BaseUserLogOnManager userLogOnManager = new BaseUserLogOnManager(userCenterDbHelper, Utilities.UserInfo);

            count = userLogOnManager.UpdateObject(userLogOnEntity);
            if (count == 0)
            {
                userLogOnManager.AddObject(userLogOnEntity);
            }
            // 5、中转附加费和派件附加费,再确认
            BaseUserExpressManager userExpressManager = new BaseUserExpressManager(userCenterDbHelper, Utilities.UserInfo);
            BaseUserExpressEntity  userExpressEntity  = new BaseUserExpressEntity();

            userExpressEntity.Id = entity.ID;
            userExpressEntity.DISPATCH_ADD_FEE = entity.DISPATCH__ADD_FEE;
            userExpressEntity.TRANSFER_ADD_FEE = entity.TRANSFER_ADD_FEE;
            userExpressEntity.OWNER_RANGE      = entity.OWNER_RANGE;
            count = userExpressManager.UpdateObject(userExpressEntity);
            if (count == 0)
            {
                userExpressManager.Add(userExpressEntity, false);
            }
        }