c#创建用户计划

时间:2016-10-17 23:45:26

标签: c#

我想为我的程序创建一个计划系统 例如

basic plan => 1 month

在注册方法中,当用户在subscription Table为他添加的30 Days + the started date中选择该计划时Table [Subscribes] [ID] [int] NULL, [UserID] [int] NULL, [Pack] [int] NULL, [Subscription] [int] NULL, [InstallDate] [date] NULL

这是表格

    public DataTable Check()
    {
        DataTable Table = new DataTable();
        Acces _Acces = new Network___Acces.Acces();
        SqlParameter[] param = new SqlParameter[1];
        param[0] = new SqlParameter("@UserID", SqlDbType.Int);
        param[0].Value = User_info.UserID;
        Table = _Acces._SelectData("CheckSubscription", param);
        return Table;
    }

因此,当用户登录他的帐户时,我需要检查计划,所以我做的很简单,因为我可以(用于学习目的)

    public void Subscription()
    {
        DateTime From = (DateTime)Check().Rows[0][4];
        int Days = (int)Check().Rows[0][3];
        if (From.AddDays((double)Days) >= DateTime.Now)
        {
                //time ended !
        }
        else
        {
                // still in the plan
        }
    }    

此方法返回该用户的所有计划信息

和我的检查方法:

<xsl:template name="main">
  <BOOKS>
    <xsl:sequence select="collection('dir?select=*.xml')/BOOKS/BOOK"/>
  </BOOKS>
</xsl:template>

还有其他 SIMPLE 方式吗,我还不需要任何有关计划的高级项目。

修改:付款计划系统

因为在MSDN上DateTime.Now

它需要本地计算机的实际日期,这意味着我们可以在计划结束时添加天数

1 个答案:

答案 0 :(得分:0)

通常,时间戳是使用系统/计算机值完成的,如SQL GETDATE(),DateTime.Now ..等等。 鉴于连接到互联网不是一种选择,验证日期时间的真实性可能很难。

这些只是合理的方法,您可以用来查明用户是否篡改了系统时钟并进行检查..

  • 保存用户上次登录表格
    • 在第31天,如果他们重置了他们的电脑时钟,你的桌子仍会有一条记录表明它已经存在或无效
  • 创建帐户时,将日期时间保存到存储在系统目录中的文件中
    • 您可以加密详细信息
    • 程序将需要在开头检查文件,如果他们删除它只是禁用他们的帐户

如果用户花时间,他们总能找到解决方法。这些只是提示,因为时间是一个经常考虑的对象。

如果可以选择连接到互联网,只需从远程来源查询时间并与之进行比较,而不是与本地计算机进行比较。