예제 #1
0
        /// <summary>
        /// 更新用户为推广主
        /// </summary>
        /// <param name="spreaderDto">推广者dto</param>
        /// <returns></returns>
        public ResultDTO UpdateToSpreaderExt(SpreaderAndBuyerWxDTO spreaderDto)
        {
            ResultDTO result = new ResultDTO {
                Message = "Success"
            };

            if (spreaderDto == null || spreaderDto.SpreaderId == Guid.Empty || spreaderDto.SpreadCode == Guid.Empty)
            {
                return(new ResultDTO {
                    ResultCode = 1, Message = "id为空或推广码为空"
                });
            }
            try
            {
                ContextSession contextSession = ContextFactory.CurrentThreadContext;
                //插入SpreadInfo数据库表
                var oldSpreadInfo = SpreadInfo.ObjectSet().FirstOrDefault(c => c.SpreadId == spreaderDto.SpreaderId && c.SpreadCode == spreaderDto.SpreadCode && c.IsDel == 0);
                if (oldSpreadInfo == null)
                {
                    SpreadInfo newSpreadInfo = SpreadInfo.CreateSpreadInfo();
                    newSpreadInfo.SpreadId   = spreaderDto.SpreaderId;
                    newSpreadInfo.SpreadCode = spreaderDto.SpreadCode;
                    newSpreadInfo.IsDel      = 0;
                    newSpreadInfo.SpreadType = 0;
                    contextSession.SaveObject(newSpreadInfo);
                    contextSession.SaveChanges();
                }
                var createUser      = EBCSV.GetOrgCreateUser(spreaderDto.SpreaderId);
                var oldUserSpreader = UserSpreader.ObjectSet().FirstOrDefault(c => c.UserId == createUser);
                if (oldUserSpreader != null)
                {
                    var createUsers = EBCSV.GetMyCreateAccountList(createUser);
                    if (createUsers != null && createUsers.Contains(oldUserSpreader.SpreaderId))
                    {
                        return(result);
                    }
                    oldUserSpreader.EntityState = EntityState.Deleted;
                }
                UserSpreader newUserSpreader = UserSpreader.CreateUserSpreader();
                newUserSpreader.SpreaderId = spreaderDto.SpreaderId;
                newUserSpreader.UserId     = createUser;
                newUserSpreader.SpreadCode = spreaderDto.SpreadCode;
                contextSession.SaveObject(newUserSpreader);
                contextSession.SaveChanges();
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("UserSpreaderSV.UpdateToSpreaderExt异常:spreaderDto:{0}", JsonHelper.JsonSerializer(spreaderDto)), ex);
                return(result);
            }
            return(result);
        }
예제 #2
0
        private void updateRalationUserSpread(ContextSession contextSession, SpreadInfo spreadInfo)
        {
            var createOrgUserId = EBCSV.GetOrgCreateUser(spreadInfo.SpreadId);

            var userSpreader = UserSpreader.ObjectSet().FirstOrDefault(c => c.UserId == createOrgUserId);

            if (userSpreader == null)
            {
                UserSpreader uSpreaderNew = UserSpreader.CreateUserSpreader();
                uSpreaderNew.UserId        = createOrgUserId;
                uSpreaderNew.SpreaderId    = spreadInfo.SpreadId;
                uSpreaderNew.SpreadCode    = spreadInfo.SpreadCode;
                uSpreaderNew.CreateOrderId = new Guid("00000000-0000-0000-0000-000000000000");
                contextSession.SaveObject(uSpreaderNew);
            }
        }