Exemplo n.º 1
0
        public static int AddPoint(UserSign us)
        {
            int          num;
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);

            if (masterSettings.sign_score_Enable)
            {
                IntegralDetailInfo integralDetailInfo = new IntegralDetailInfo()
                {
                    IntegralSourceType = 1,
                    IntegralSource     = "签到",
                    Userid             = us.UserID,
                    IntegralChange     = masterSettings.SignPoint,
                    IntegralStatus     = Convert.ToInt32(IntegralDetailStatus.SignToIntegral)
                };
                if (masterSettings.sign_score_Enable)
                {
                    if (us.Continued >= masterSettings.SignWhere)
                    {
                        IntegralDetailInfo integralChange = integralDetailInfo;
                        integralChange.IntegralChange = integralChange.IntegralChange + masterSettings.SignWherePoint;
                        us.Continued = 0;
                    }
                }
                IntegralDetailHelp.AddIntegralDetail(integralDetailInfo, null);
                num = Convert.ToInt32(integralDetailInfo.IntegralChange);
            }
            else
            {
                num = 0;
            }
            return(num);
        }
Exemplo n.º 2
0
        public static int USign(int userID, string wid)
        {
            DataTable table = SignInfoByUser(userID);
            UserSign  us    = new UserSign();

            if (table.Rows.Count < 1)
            {
                us.UserID    = userID;
                us.Continued = 1;
                InsertUserSign(us);
            }
            else
            {
                us.ID        = Convert.ToInt32(table.Rows[0]["ID"]);
                us.SignDay   = DateTime.Now;
                us.UserID    = Convert.ToInt32(table.Rows[0]["UserID"]);
                us.Continued = Convert.ToInt32(table.Rows[0]["Continued"]);
                if (MaxContinued(Convert.ToDateTime(table.Rows[0]["SignDay"]), us.SignDay) == 1)
                {
                    us.Continued++;
                }
                else if (MaxContinued(Convert.ToDateTime(table.Rows[0]["SignDay"]), us.SignDay) == 0)
                {
                    return(-1);
                }
            }
            int num = AddPoint(us, wid);

            UpdateUserSign(us);
            return(num);
        }
Exemplo n.º 3
0
        public static int AddPoint(UserSign us)
        {
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
            int          result;

            if (!masterSettings.sign_score_Enable)
            {
                result = 0;
            }
            else
            {
                IntegralDetailInfo integralDetailInfo = new IntegralDetailInfo();
                integralDetailInfo.IntegralSourceType = 1;
                integralDetailInfo.IntegralSource     = "签到";
                integralDetailInfo.Userid             = us.UserID;
                integralDetailInfo.IntegralChange     = masterSettings.SignPoint;
                integralDetailInfo.IntegralStatus     = Convert.ToInt32(IntegralDetailStatus.SignToIntegral);
                if (masterSettings.sign_score_Enable)
                {
                    if (us.Continued > masterSettings.SignWhere || us.Continued == masterSettings.SignWhere)
                    {
                        integralDetailInfo.IntegralChange += masterSettings.SignWherePoint;
                        us.Continued = 0;
                    }
                }
                IntegralDetailHelp.AddIntegralDetail(integralDetailInfo, null);
                result = Convert.ToInt32(integralDetailInfo.IntegralChange);
            }
            return(result);
        }
Exemplo n.º 4
0
        public static int USign(int userID)
        {
            System.Data.DataTable dataTable = UserSignHelper.SignInfoByUser(userID);
            UserSign userSign = new UserSign();
            int      result;

            if (dataTable.Rows.Count < 1)
            {
                userSign.UserID    = userID;
                userSign.Continued = 1;
                UserSignHelper.InsertUserSign(userSign);
            }
            else
            {
                userSign.ID        = Convert.ToInt32(dataTable.Rows[0]["ID"]);
                userSign.SignDay   = DateTime.Now;
                userSign.UserID    = Convert.ToInt32(dataTable.Rows[0]["UserID"]);
                userSign.Continued = Convert.ToInt32(dataTable.Rows[0]["Continued"]);
                if (UserSignHelper.MaxContinued(Convert.ToDateTime(dataTable.Rows[0]["SignDay"]), userSign.SignDay) == 1)
                {
                    userSign.Continued++;
                }
                else if (UserSignHelper.MaxContinued(Convert.ToDateTime(dataTable.Rows[0]["SignDay"]), userSign.SignDay) == 0)
                {
                    result = -1;
                    return(result);
                }
            }
            int num = UserSignHelper.AddPoint(userSign);

            UserSignHelper.UpdateUserSign(userSign);
            result = num;
            return(result);
        }
Exemplo n.º 5
0
        private static string ValidateUserSign(UserSign obj)
        {
            var cmd = CommandHelper.CreateProcedure(FetchType.Scalar, "sp_ValidateUserSign");

            cmd.Params.Add("@userId", obj.CreatorId);
            cmd.Params.Add("@masterId", obj.MasterId);
            cmd.Params.Add("@signDate", obj.CreateDate.ToDbString());
            var result = DbContext.GetInstance().Execute(cmd);

            return((string)result.Tag);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 尝试登录
        /// </summary>
        /// <param name="account"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public Users TrySignin(string account, string password)
        {
            UserSign sign = new UserSign(account, password);

            bool success = sign.TrySign();

            if (success)
            {
                return(sign.User);
            }

            return(null);
        }
Exemplo n.º 7
0
        public int InsertUserSign(UserSign us)
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(" INSERT INTO [dbo].[Hishop_UserSign] ");
            stringBuilder.Append(" ([UserID],[SignDay],[Continued],[Stage]) ");
            stringBuilder.Append(" VALUES ");
            stringBuilder.Append(" (@UserID,@SignDay,@Continued,@Stage) ");
            System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString());
            this.database.AddInParameter(sqlStringCommand, "UserID", System.Data.DbType.Int32, us.UserID);
            this.database.AddInParameter(sqlStringCommand, "SignDay", System.Data.DbType.Date, us.SignDay);
            this.database.AddInParameter(sqlStringCommand, "Continued", System.Data.DbType.Int32, 1);
            this.database.AddInParameter(sqlStringCommand, "Stage", System.Data.DbType.Int32, 0);
            return(this.database.ExecuteNonQuery(sqlStringCommand));
        }
Exemplo n.º 8
0
        public int UpdateUserSign(UserSign us)
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(" UPDATE Hishop_UserSign ");
            stringBuilder.Append(" SET  [SignDay] = @SignDay");
            stringBuilder.Append(" ,[Continued] = @Continued ");
            stringBuilder.Append(" ,[Stage] = @Stage ");
            stringBuilder.Append("  WHERE  ");
            stringBuilder.Append(" [UserID] = @UserID ");
            System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString());
            this.database.AddInParameter(sqlStringCommand, "UserID", System.Data.DbType.Int32, us.UserID);
            this.database.AddInParameter(sqlStringCommand, "SignDay", System.Data.DbType.Date, us.SignDay);
            this.database.AddInParameter(sqlStringCommand, "Continued", System.Data.DbType.Int32, us.Continued);
            this.database.AddInParameter(sqlStringCommand, "Stage", System.Data.DbType.Int32, us.Stage);
            return(this.database.ExecuteNonQuery(sqlStringCommand));
        }
Exemplo n.º 9
0
        public static int USign(int userID)
        {
            int       num;
            DataTable dataTable = UserSignHelper.SignInfoByUser(userID);
            UserSign  userSign  = new UserSign();

            if (dataTable.Rows.Count >= 1)
            {
                userSign.ID        = Convert.ToInt32(dataTable.Rows[0]["ID"]);
                userSign.SignDay   = DateTime.Now;
                userSign.UserID    = Convert.ToInt32(dataTable.Rows[0]["UserID"]);
                userSign.Continued = Convert.ToInt32(dataTable.Rows[0]["Continued"]);
                DateTime dateTime = Convert.ToDateTime(dataTable.Rows[0]["SignDay"]);
                DateTime date     = dateTime.Date;
                dateTime = userSign.SignDay;
                int num1 = UserSignHelper.MaxContinued(date, dateTime.Date);
                if (num1 <= 0)
                {
                    num = -1;
                    return(num);
                }
                if (num1 == 1)
                {
                    UserSign continued = userSign;
                    continued.Continued = continued.Continued + 1;
                }
                else if (num1 > 1)
                {
                    userSign.Continued = 1;
                }
            }
            else
            {
                userSign.UserID    = userID;
                userSign.Continued = 1;
                UserSignHelper.InsertUserSign(userSign);
            }
            int num2 = UserSignHelper.AddPoint(userSign);

            UserSignHelper.UpdateUserSign(userSign);
            num = num2;
            return(num);
        }
Exemplo n.º 10
0
        public static int AddPoint(UserSign us, string wid)
        {
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(true, wid);

            if (!masterSettings.sign_score_Enable)
            {
                return(0);
            }
            IntegralDetailInfo point = new IntegralDetailInfo {
                IntegralSourceType = 1,
                IntegralSource     = "签到",
                Userid             = us.UserID,
                IntegralChange     = masterSettings.SignPoint,
                IntegralStatus     = Convert.ToInt32(IntegralDetailStatus.SignToIntegral)
            };

            if (masterSettings.sign_score_Enable && ((us.Continued > masterSettings.SignWhere) || (us.Continued == masterSettings.SignWhere)))
            {
                point.IntegralChange += masterSettings.SignWherePoint;
                us.Continued          = 0;
            }
            IntegralDetailHelp.AddIntegralDetail(point, null);
            return(Convert.ToInt32(point.IntegralChange));
        }
Exemplo n.º 11
0
 public static int UpdateUserSign(UserSign us)
 {
     return(new UserSignDao().UpdateUserSign(us));
 }
Exemplo n.º 12
0
 public static int InsertUserSign(UserSign us)
 {
     return(new UserSignDao().InsertUserSign(us));
 }
Exemplo n.º 13
0
        /// <summary>
        /// 签到
        /// </summary>
        /// <param name="openId">微信openId</param>
        /// <returns></returns>
        public bool User_Sign()
        {
            var user   = CookieHelper.GetCurrentWxUser();
            var person = CookieHelper.GetCurrentPeople();

            if (user == null || person == null)
            {
                return(false);
            }
            using (DbRepository entities = new DbRepository())
            {
                var userEntity = entities.User.Find(user.openid);
                if (userEntity == null)
                {
                    return(false);
                }
                var yesterday = DateTime.Now.AddDays(-1).Date;
                var lastSign  = entities.UserSign.Where(x => x.OpenId.Equals(user.openid) && x.PersonId.Equals(person.UNID)).OrderByDescending(x => x.SignDate).FirstOrDefault();


                //判断是否连续签到
                if (lastSign != null)
                {
                    //判断今天是否已签到
                    if (lastSign.SignDate > yesterday)
                    {
                        return(false);
                    }

                    var todaySign = new UserSign()
                    {
                        UNID     = Guid.NewGuid().ToString("N"),
                        SignDate = DateTime.Now,
                        OpenId   = user.openid,
                        PersonId = person.UNID
                    };
                    if (lastSign.SignDate == yesterday)
                    {
                        todaySign.SignNum = lastSign.SignNum + 1;

                        //签到10天判断
                        if (todaySign.SignNum % 10 == 0 && todaySign.SignNum >= 10)
                        {
                            var tenScoreDetials = new ScoreDetails()
                            {
                                UNID        = Guid.NewGuid().ToString("N"),
                                OpenId      = user.openid,
                                CreatedTime = DateTime.Now,
                                Description = "连续签到10天获得积分",
                                IsAdd       = (int)YesOrNoCode.Yes,
                                Value       = Params.TendayScore,
                                Type        = (int)ScoreType.Sign,
                                PersonId    = person.UNID
                            };
                            entities.ScoreDetails.Add(tenScoreDetials);

                            //是否初次签到
                            var userScore = entities.UserScore.FirstOrDefault(x => x.OpenId.Equals(user.openid) && x.PersonId.Equals(person.UNID));
                            if (userScore == null)
                            {
                                var addUserScore = new UserScore()
                                {
                                    UNID     = Guid.NewGuid().ToString("N"),
                                    OpenId   = user.openid,
                                    PersonId = person.UNID,
                                    Score    = Params.TendayScore
                                };
                                entities.UserScore.Add(addUserScore);
                            }
                            else
                            {
                                userScore.Score += Params.TendayScore;
                            }
                        }
                    }
                    else
                    {
                        todaySign.SignNum = 1;
                    }


                    entities.UserSign.Add(todaySign);
                }
                else
                {
                    var todaySign = new UserSign()
                    {
                        UNID     = Guid.NewGuid().ToString("N"),
                        SignDate = DateTime.Now,
                        SignNum  = 1,
                        OpenId   = user.openid,
                        PersonId = person.UNID
                    };
                    entities.UserSign.Add(todaySign);
                }

                //日常签到积分
                var scoreDetials = new ScoreDetails()
                {
                    UNID        = Guid.NewGuid().ToString("N"),
                    OpenId      = user.openid,
                    CreatedTime = DateTime.Now,
                    Description = "签到获得积分",
                    IsAdd       = (int)YesOrNoCode.Yes,
                    Value       = Params.SignScore,
                    Type        = (int)ScoreType.Sign,
                    PersonId    = person.UNID
                };
                //用户积分增加
                var updateUserScore = entities.UserScore.FirstOrDefault(x => x.OpenId.Equals(user.openid) && x.PersonId.Equals(person.UNID));
                if (updateUserScore == null)
                {
                    var addUserScore = new UserScore()
                    {
                        UNID     = Guid.NewGuid().ToString("N"),
                        OpenId   = user.openid,
                        PersonId = person.UNID,
                        Score    = Params.SignScore
                    };
                    entities.UserScore.Add(addUserScore);
                }
                else
                {
                    updateUserScore.Score += Params.SignScore;
                }
                entities.ScoreDetails.Add(scoreDetials);

                return(entities.SaveChanges() > 0 ? true : false);
            }
        }