/// <summary>
        /// 保存上传的app信息
        /// </summary>
        /// <param name="entity">app信息实体</param>
        /// <returns></returns>
        public bool SaveAppFile(T_APP_VERSION entity)
        {
            bool result = true;

            using (var dbContext = new DuPont_TestContext())
            {
                var existEntity = dbContext.T_APP_VERSION.Where(a => a.Platform == entity.Platform).FirstOrDefault();
                int saveRes     = 0;
                if (existEntity != null)
                {
                    entity.CREATE_DATE = existEntity.CREATE_DATE;
                    entity.Id          = existEntity.Id;
                    ClassValueCopyHelper.Copy(existEntity, entity);
                    saveRes = dbContext.SaveChanges();
                }
                else
                {
                    entity.UPDATE_DATE = null;
                    dbContext.T_APP_VERSION.Add(entity);
                    saveRes = dbContext.SaveChanges();
                }
            }

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 修改密码逻辑事物
        /// </summary>
        /// <param name="userInfo">用户信息</param>
        /// <param name="deleteHis">所要删除的用户密码历史记录</param>
        /// <returns></returns>
        public bool TranUpdatePwd(T_USER userInfo, T_USER_PASSWORD_HISTORY deleteHis)
        {
            bool result = true;

            using (var dbContext = new DuPont_TestContext())
            {
                using (var tran = dbContext.Database.BeginTransaction())
                {
                    //更新用户表
                    int uURes = Update(userInfo);
                    if (uURes <= 0)
                    {
                        result = false;
                    }

                    //删除密码历史表中最老的记录
                    if (result && deleteHis != null)
                    {
                        var entity = dbContext.T_USER_PASSWORD_HISTORY.Where(a => a.UserID == deleteHis.UserID && a.Password == deleteHis.Password).FirstOrDefault();
                        dbContext.T_USER_PASSWORD_HISTORY.Remove(entity);
                        int delRes = dbContext.SaveChanges();
                        if (delRes <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        dbContext.T_USER_PASSWORD_HISTORY.Add(new T_USER_PASSWORD_HISTORY
                        {
                            UserID     = userInfo.Id,
                            Password   = userInfo.Password,
                            CreateTime = DateTime.Now
                        });

                        int addRes = dbContext.SaveChanges();
                        if (addRes <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        tran.Commit();
                    }
                }
            }

            return(result);
        }
Esempio n. 3
0
 public int Insert(T_FileInfo entity)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         try
         {
             dbContext.T_FileInfo.Add(entity);
             return(dbContext.SaveChanges());
         }
         catch (DbEntityValidationException dbEx)
         {
             var sbMessage = new StringBuilder("【EF错误】:\r\n");
             if (dbEx.EntityValidationErrors != null)
             {
                 foreach (var error in dbEx.EntityValidationErrors)
                 {
                     foreach (var errorChild in error.ValidationErrors)
                     {
                         sbMessage.AppendLine(string.Format("{0}:{1}", errorChild.PropertyName, errorChild.ErrorMessage));
                     }
                 }
             }
             throw new Exception(sbMessage.ToString());
         }
     }
 }
Esempio n. 4
0
 public int Insert(IEnumerable <T_FileInfo> entities)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.T_FileInfo.AddRange(entities);
         return(dbContext.SaveChanges());
     }
 }
        public readonly int[] farmerDemandOffline = { 100503, 100504, 100505, 100506 }; //已评价、已取消、系统关闭、已关闭


        public int Insert(T_FARMER_PUBLISHED_DEMAND entity)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                dbContext.T_FARMER_PUBLISHED_DEMAND.Add(entity);
                return(dbContext.SaveChanges());
            }
        }
Esempio n. 6
0
 public int Delete(IEnumerable <T_FileInfo> entities)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.T_FileInfo.RemoveRange(entities);
         return(dbContext.SaveChanges());
     }
 }
Esempio n. 7
0
 public int Insert(T_SMS_MESSAGE entity)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.T_SMS_MESSAGE.Add(entity);
         return(dbContext.SaveChanges());
     }
 }
Esempio n. 8
0
 public int Add <T>(List <T> entity) where T : class
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.Set <T>().AddRange(entity);
         return(dbContext.SaveChanges());
     }
 }
 public int Insert(IEnumerable <T_FARMER_PUBLISHED_DEMAND> entities)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.T_FARMER_PUBLISHED_DEMAND.AddRange(entities);
         return(dbContext.SaveChanges());
     }
 }
Esempio n. 10
0
 /// <summary>
 /// 添加一条用户密码历史记录
 /// </summary>
 /// <param name="entity">记录实体</param>
 /// <returns></returns>
 public int Insert(T_USER_PASSWORD_HISTORY entity)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         dbContext.T_USER_PASSWORD_HISTORY.Add(entity);
         return(dbContext.SaveChanges());
     }
 }
Esempio n. 11
0
        /// <summary>
        /// 同意产业商的角色申请
        /// </summary>
        /// <param name="verificationId">角色验证记录编号</param>
        /// <param name="auditUserId">审核人用户编号</param>
        /// <param name="demandLevelInfoList">服务类别技能信息列表</param>
        /// <returns>操作成功返回true,操作失败返回false</returns>
        public bool ApproveBusinessVerification(long verificationId, long auditUserId, Dictionary <int, int> demandLevelInfoList)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                using (var dbTransaction = dbContext.Database.BeginTransaction())
                {
                    var businessVerifyInfo = dbContext.T_BUSINESS_VERIFICATION_INFO.Find(verificationId);
                    businessVerifyInfo.AuditState = 1;

                    dbContext.T_USER_ROLE_RELATION.Add(new T_USER_ROLE_RELATION
                    {
                        UserID      = businessVerifyInfo.UserId,
                        AuditUserId = auditUserId,
                        RoleID      = (int)RoleType.Business,
                        MemberType  = true,
                        CreateTime  = TimeHelper.GetChinaLocalTime()
                    });
                    var userInfo = dbContext.T_USER.Find(businessVerifyInfo.UserId);
                    userInfo.Province = businessVerifyInfo.Province;
                    userInfo.City     = businessVerifyInfo.City;
                    userInfo.Region   = businessVerifyInfo.Region;
                    userInfo.Township = businessVerifyInfo.Township;
                    userInfo.Village  = businessVerifyInfo.Village;
                    userInfo.UserName = businessVerifyInfo.RealName;//将用户的真实姓名更新过去
                    //只有当用户类别为QQ用户或微信用户才可以更新手机号
                    if (userInfo.Type == (int)UserTypes.QQUser || userInfo.Type == (int)UserTypes.WeChatUser)
                    {
                        userInfo.PhoneNumber = businessVerifyInfo.PhoneNumber;//将用户的最新的手机号更新过去
                    }
                    userInfo.DetailedAddress = businessVerifyInfo.DetailAddress;
                    dbContext.Entry <T_USER>(userInfo).State = EntityState.Modified;
                    if (demandLevelInfoList != null && demandLevelInfoList.Count > 0)
                    {
                        demandLevelInfoList.Select(d =>
                        {
                            dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(new T_USER_ROLE_DEMANDTYPELEVEL_RELATION
                            {
                                UserId     = businessVerifyInfo.UserId,
                                DemandId   = d.Key,
                                CreateTime = TimeHelper.GetChinaLocalTime(),
                                RoleId     = (int)RoleType.Business,
                                Star       = d.Value
                            });
                            return(d);
                        }).Count();
                    }

                    dbContext.SaveChanges();
                    dbTransaction.Commit();
                    return(true);
                }
            }
        }
 public int Delete(T_FARMER_PUBLISHED_DEMAND entity)
 {
     if (entity != null)
     {
         using (var dbContext = new DuPont_TestContext())
         {
             dbContext.T_FARMER_PUBLISHED_DEMAND.Remove(entity);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 13
0
 public int Delete(T_FileInfo entity)
 {
     if (entity != null)
     {
         using (var dbContext = new DuPont_TestContext())
         {
             dbContext.T_FileInfo.Remove(entity);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 14
0
 public int Modify <T>(T entity, Expression <Func <T, bool> > wherelambda) where T : class
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.Set <T>().Where(wherelambda).FirstOrDefault();
         if (dbEntry != null)
         {
             ClassValueCopyHelper.Copy(dbEntry, entity);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 15
0
 public int Delete <T>(Expression <Func <T, bool> > predicate) where T : class
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.Set <T>().SingleOrDefault(predicate);
         if (dbEntry != null)
         {
             dbContext.Set <T>().Remove(dbEntry);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 16
0
 public int Delete(object id)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.T_FileInfo.Find(id);
         if (dbEntry != null)
         {
             dbContext.T_FileInfo.Remove(dbEntry);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
 public int Delete(object id)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.T_FARMER_PUBLISHED_DEMAND.Find(id);
         if (dbEntry != null)
         {
             dbContext.T_FARMER_PUBLISHED_DEMAND.Remove(dbEntry);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 18
0
 public int Update(T_SMS_MESSAGE entity)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.T_SMS_MESSAGE.Find(entity.Id);
         if (dbEntry != null)
         {
             ClassValueCopyHelper.Copy(dbEntry, entity);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
 public int Delete(Expression <Func <T_FARMER_PUBLISHED_DEMAND, bool> > predicate)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.T_FARMER_PUBLISHED_DEMAND.SingleOrDefault(predicate);
         if (dbEntry != null)
         {
             dbContext.T_FARMER_PUBLISHED_DEMAND.Remove(dbEntry);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 20
0
 /// <summary>
 /// 删除一条密码历史记录
 /// </summary>
 /// <param name="entity">记录实体</param>
 /// <returns></returns>
 public int Delete(T_USER_PASSWORD_HISTORY entity)
 {
     if (entity != null)
     {
         using (var dbContext = new DuPont_TestContext())
         {
             var entityt = dbContext.T_USER_PASSWORD_HISTORY.Where(a => a.UserID == entity.UserID && a.Password == entity.Password).FirstOrDefault();
             dbContext.T_USER_PASSWORD_HISTORY.Remove(entityt);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
 public int Update(T_FARMER_PUBLISHED_DEMAND entity)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         var dbEntry = dbContext.T_FARMER_PUBLISHED_DEMAND.Find(entity.Id);
         if (dbEntry != null)
         {
             ClassValueCopyHelper.Copy(dbEntry, entity);
             return(dbContext.SaveChanges());
         }
     }
     return(0);
 }
Esempio n. 22
0
        /// <summary>
        /// 增加先锋币
        /// </summary>
        /// <param name="userId">用户编号</param>
        /// <param name="description">描述</param>
        /// <param name="auditUserId">审核人用户编号</param>
        /// <param name="dpoints">先锋币数.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        /// <exception cref="System.ArgumentNullException">description</exception>
        /// <exception cref="System.ArgumentException">auditUserId
        /// or
        /// userId</exception>
        /// <exception cref="System.NotImplementedException">description</exception>
        public bool AddDuPontPoint(long userId, string description, long auditUserId, int dpoints)
        {
            if (description == null)
            {
                throw new ArgumentNullException("description");
            }
            if (auditUserId <= 0)
            {
                throw new ArgumentException("auditUserId");
            }
            if (userId <= 0)
            {
                throw new ArgumentException("userId");
            }
            using (var dbContext = new DuPont_TestContext())
            {
                using (var tran = dbContext.Database.BeginTransaction())
                {
                    var user = dbContext.T_USER.Find(userId);
                    if (user == null)
                    {
                        throw new ArgumentException("userId");
                    }

                    dbContext.T_PIONEERCURRENCYHISTORY.Add(new T_PIONEERCURRENCYHISTORY
                    {
                        UserId      = userId,
                        AuditUserId = 0,
                        CreateTime  = Utility.TimeHelper.GetChinaLocalTime(),
                        Description = description,
                        DPoint      = dpoints
                    });
                    if (user.DPoint == null)
                    {
                        user.DPoint = dpoints;
                    }
                    else
                    {
                        user.DPoint += dpoints;
                    }
                    dbContext.SaveChanges();
                    tran.Commit();
                }
            }

            return(false);
        }
Esempio n. 23
0
        /// <summary>
        /// 拒绝角色申请操作
        /// </summary>
        /// <param name="verificationId">角色验证记录编号</param>
        /// <param name="auditUserId">审核人用户编号</param>
        /// <param name="roleType">角色类型</param>
        /// <returns>操作成功返回true,操作失败返回false</returns>
        /// <exception cref="System.NotImplementedException"></exception>
        public bool RejectVerification(long verificationId, long auditUserId, RoleType roleType)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                switch (roleType)
                {
                case RoleType.Farmer:
                    var farmerVerificationInfo = dbContext.T_FARMER_VERIFICATION_INFO.Find(verificationId);
                    if (farmerVerificationInfo == null)
                    {
                        throw new InvalidOperationException("verificationId");
                    }

                    farmerVerificationInfo.AuditState  = 2;
                    farmerVerificationInfo.AuditUserId = auditUserId;
                    break;

                case RoleType.MachineryOperator:
                    var operatorVerificationInfo = dbContext.T_MACHINERY_OPERATOR_VERIFICATION_INFO.Find(verificationId);
                    if (operatorVerificationInfo == null)
                    {
                        throw new InvalidOperationException("verificationId");
                    }

                    operatorVerificationInfo.AuditState  = 2;
                    operatorVerificationInfo.AuditUserId = auditUserId;
                    break;

                case RoleType.Business:
                    var businessVerificationInfo = dbContext.T_BUSINESS_VERIFICATION_INFO.Find(verificationId);
                    if (businessVerificationInfo == null)
                    {
                        throw new InvalidOperationException("verificationId");
                    }

                    businessVerificationInfo.AuditState  = 2;
                    businessVerificationInfo.AuditUserId = auditUserId;
                    break;

                default:
                    throw new InvalidOperationException("roleType");
                }

                return(dbContext.SaveChanges() > 0);
            }
        }
Esempio n. 24
0
        /// <summary>
        /// 同意大农户的角色申请
        /// </summary>
        /// <param name="verificationId">角色验证记录编号</param>
        /// <param name="auditUserId">审核人用户编号</param>
        /// <param name="roleLevel">角色级别(星数)</param>
        /// <returns>操作成功返回true,操作失败返回false</returns>
        public bool ApproveFarmerVerification(long verificationId, long auditUserId, byte roleLevel)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                using (var dbTransaction = dbContext.Database.BeginTransaction())
                {
                    var farmerVerifyInfo = dbContext.T_FARMER_VERIFICATION_INFO.Find(verificationId);
                    farmerVerifyInfo.AuditState = 1;

                    dbContext.T_USER_ROLE_RELATION.Add(new T_USER_ROLE_RELATION
                    {
                        UserID      = farmerVerifyInfo.UserId,
                        AuditUserId = auditUserId,
                        RoleID      = (int)RoleType.Farmer,
                        MemberType  = true,
                        CreateTime  = TimeHelper.GetChinaLocalTime(),
                        Star        = roleLevel
                    });
                    var userInfo = dbContext.T_USER.Find(farmerVerifyInfo.UserId);
                    userInfo.Province = farmerVerifyInfo.Province;
                    userInfo.City     = farmerVerifyInfo.City;
                    userInfo.Region   = farmerVerifyInfo.Region;
                    userInfo.Township = farmerVerifyInfo.Township;
                    userInfo.Village  = farmerVerifyInfo.Village;
                    userInfo.UserName = farmerVerifyInfo.RealName;//将用户的真实姓名更新过去
                    if (userInfo.Type == (int)UserTypes.QQUser || userInfo.Type == (int)UserTypes.WeChatUser)
                    {
                        userInfo.PhoneNumber = farmerVerifyInfo.PhoneNumber;//将用户的最新的手机号更新过去
                    }
                    userInfo.DetailedAddress = farmerVerifyInfo.DetailAddress;
                    dbContext.Entry <T_USER>(userInfo).State = EntityState.Modified;

                    dbContext.SaveChanges();
                    dbTransaction.Commit();
                    return(true);
                }
            }
        }
Esempio n. 25
0
 /// <summary>
 /// 修改农机手农机与需求对应关系
 /// </summary>        ///
 /// <param name="UserId">审核人用户编号</param>
 /// <param name="demandLevelInfoList">服务类别技能信息列表</param>
 /// <returns>操作成功返回true,操作失败返回false</returns>
 public bool UpdateOperatorVerification(long UserId, Dictionary <int, int> demandLevelInfoList)
 {
     using (var dbContext = new DuPont_TestContext())
     {
         using (var dbTransaction = dbContext.Database.BeginTransaction())
         {
             //删除原有的农机与需求对应关系
             var dbEntrys = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Where(t => t.UserId == UserId).ToList();
             if (dbEntrys != null)
             {
                 foreach (var item in dbEntrys)
                 {
                     dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(item);
                 }
             }
             if (demandLevelInfoList != null && demandLevelInfoList.Count > 0)
             {
                 demandLevelInfoList.Select(d =>
                 {
                     dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(new T_USER_ROLE_DEMANDTYPELEVEL_RELATION
                     {
                         UserId     = UserId,
                         DemandId   = d.Key,
                         CreateTime = TimeHelper.GetChinaLocalTime(),
                         RoleId     = (int)RoleType.MachineryOperator,
                         Star       = d.Value
                     });
                     return(d);
                 }).Count();
             }
             dbContext.SaveChanges();
             dbTransaction.Commit();
             return(true);
         }
     }
 }
Esempio n. 26
0
        public int CreateUser(T_USER entity, T_USER_ROLE_RELATION rolemodel)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                //创建事务,如果操作过程中出现异常,操作会回滚,防止产生脏数据
                using (var tran = dbContext.Database.BeginTransaction())
                {
                    dbContext.T_USER.Add(entity);
                    dbContext.SaveChanges();
                    rolemodel.MemberType = true;
                    rolemodel.UserID     = entity.Id;
                    dbContext.T_USER_ROLE_RELATION.Add(rolemodel);
                    dbContext.SaveChanges();

                    //如果是经销商
                    if (rolemodel.RoleID == (int)RoleType.Dealer)
                    {
                        string controlAreaLevel = "";
                        if (!string.IsNullOrEmpty(entity.Village) && entity.Village != "0")
                        {
                            controlAreaLevel = entity.Village;
                        }
                        else if (!string.IsNullOrEmpty(entity.Region) && entity.Region != "0")
                        {
                            controlAreaLevel = entity.Region;
                        }
                        else if (!string.IsNullOrEmpty(entity.City) && entity.City != "0")
                        {
                            controlAreaLevel = entity.City;
                        }
                        else if (!string.IsNullOrEmpty(entity.Province) && entity.Province != "0")
                        {
                            controlAreaLevel = entity.Province;
                        }
                        else
                        {
                            throw new Exception("经销商的地址不能为空!");
                        }

                        var supplier_area = new T_SUPPLIERS_AREA
                        {
                            AID            = controlAreaLevel,
                            CreateDateTime = DateTime.Now,
                            State          = true,
                            UserID         = entity.Id
                        };

                        var paras = new SqlParameter[] {
                            new SqlParameter("@aid", supplier_area.AID),
                            new SqlParameter("@createdatetime", supplier_area.CreateDateTime),
                            new SqlParameter("@state", supplier_area.State),
                            new SqlParameter("@userid", supplier_area.UserID)
                        };

                        var sql = "insert into T_SUPPLIERS_AREA(aid,createdatetime,state,userid)";
                        sql += "values(@aid,@createdatetime,@state,@userid)";

                        dbContext.Database.ExecuteSqlCommand(sql, paras);

                        dbContext.SaveChanges();
                    }

                    tran.Commit();//提交事务
                    return(1);
                }
            }
        }
Esempio n. 27
0
        public long UpdateUserInfo(T_USER model, Dictionary <int, byte?> demandLevelInfoList, long loginid)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                //创建事务,如果操作过程中出现异常,操作会回滚,防止产生脏数据
                using (var tran = dbContext.Database.BeginTransaction())
                {
                    //数据库操作
                    #region 修改用户基本信息
                    T_USER updmodel = dbContext.T_USER.Find(model.Id);
                    updmodel.UserName = model.UserName;
                    //updmodel.PhoneNumber = model.PhoneNumber;
                    updmodel.DPoint         = model.DPoint;
                    updmodel.Province       = model.Province;
                    updmodel.City           = model.City;
                    updmodel.Region         = model.Region;
                    updmodel.Township       = model.Township;
                    updmodel.Village        = model.Village;
                    updmodel.ModifiedUserId = loginid;
                    updmodel.ModifiedTime   = Utility.TimeHelper.GetChinaLocalTime();
                    //执行修改操作
                    var upd = dbContext.T_USER.Find(updmodel.Id);
                    if (upd != null)
                    {
                        ClassValueCopyHelper.Copy(upd, updmodel);
                        dbContext.SaveChanges();
                    }
                    #endregion
                    #region 修改用户的角色信息以及技能信息
                    //1获取各角色的最高星星数
                    byte?farmerstar   = demandLevelInfoList[0];
                    byte?operatorstar = 0;
                    byte?businesstar  = 0;
                    T_USER_ROLE_DEMANDTYPELEVEL_RELATION skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION();
                    //农机手
                    for (int i = 100101; i <= 100108; i++)
                    {
                        //添加农机手的技能信息及星星数
                        skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION {
                            UserId = model.Id, RoleId = (int)RoleType.MachineryOperator, DemandId = i, Star = Convert.ToInt32(demandLevelInfoList[i]), CreateTime = Utility.TimeHelper.GetChinaLocalTime()
                        };
                        if (demandLevelInfoList[i] > 0)
                        {
                            //先删除原有记录
                            var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId);
                            if (dbEntry != null)
                            {
                                dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry);
                                dbContext.SaveChanges();
                            }
                            //执行添加操作
                            dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(skillmodel);
                            dbContext.SaveChanges();
                        }
                        else
                        {
                            //删除原有记录
                            var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId);
                            if (dbEntry != null)
                            {
                                dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry);
                                dbContext.SaveChanges();
                            }
                        }
                    }
                    //获取农机手角色的最大星星数
                    var operatorstarmodel = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Where(u => u.UserId == model.Id && u.RoleId == (int)RoleType.MachineryOperator).OrderByDescending(u => u.Star).FirstOrDefault();
                    if (operatorstarmodel != null)
                    {
                        operatorstar = (byte?)operatorstarmodel.Star;
                    }
                    //产业商
                    for (int i = 100201; i <= 100202; i++)
                    {
                        //添加产业商的技能信息及星星数
                        skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION {
                            UserId = model.Id, RoleId = (int)RoleType.Business, DemandId = i, Star = Convert.ToInt32(demandLevelInfoList[i]), CreateTime = Utility.TimeHelper.GetChinaLocalTime()
                        };
                        if (demandLevelInfoList[i] > 0)
                        {               //先删除原有记录
                            var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId);
                            if (dbEntry != null)
                            {
                                dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry);
                                dbContext.SaveChanges();
                            }
                            //执行添加操作
                            dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(skillmodel);
                            dbContext.SaveChanges();
                        }
                        else
                        {
                            //删除原有记录
                            var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId);
                            if (dbEntry != null)
                            {
                                dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry);
                                dbContext.SaveChanges();
                            }
                        }
                    }
                    //获取产业商角色的最大星星数
                    var businessstarmodel = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Where(u => u.UserId == model.Id && u.RoleId == (int)RoleType.Business).OrderByDescending(u => u.Star).FirstOrDefault();
                    if (businessstarmodel != null)
                    {
                        businesstar = (byte?)businessstarmodel.Star;
                    }
                    //2判断各角色的星星数是否大于0,大于0执行添加操作,如果之前已经存在该角色的记录信息先删除在添加,等于0执行删除操作。
                    T_USER_ROLE_RELATION rolemodel = new T_USER_ROLE_RELATION();
                    if (farmerstar >= 0)//ww增加=,否则会删除角色表的数据
                    {
                        rolemodel = new T_USER_ROLE_RELATION {
                            UserID = model.Id, MemberType = true, RoleID = (int)RoleType.Farmer, Star = farmerstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime()
                        };
                        //先删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                        //执行添加操作
                        dbContext.T_USER_ROLE_RELATION.Add(rolemodel);
                        dbContext.SaveChanges();
                    }
                    else
                    {
                        //删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.Farmer);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                    }
                    if (operatorstar > 0)
                    {
                        rolemodel = new T_USER_ROLE_RELATION {
                            UserID = model.Id, MemberType = true, RoleID = (int)RoleType.MachineryOperator, Star = operatorstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime()
                        };
                        //先删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                        //执行添加操作
                        dbContext.T_USER_ROLE_RELATION.Add(rolemodel);
                        dbContext.SaveChanges();
                    }
                    else
                    {
                        //删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.MachineryOperator);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                    }
                    if (businesstar > 0)
                    {
                        rolemodel = new T_USER_ROLE_RELATION {
                            UserID = model.Id, MemberType = true, RoleID = (int)RoleType.Business, Star = businesstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime()
                        };
                        //先删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                        //执行添加操作
                        dbContext.T_USER_ROLE_RELATION.Add(rolemodel);
                        dbContext.SaveChanges();
                    }
                    else
                    {
                        //删除原有记录
                        var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.Business);
                        if (dbEntry != null)
                        {
                            dbContext.T_USER_ROLE_RELATION.Remove(dbEntry);
                            dbContext.SaveChanges();
                        }
                    }
                    #endregion


                    tran.Commit();//提交事务
                    return(1);
                }
            }
        }