c#创建用户计划

本文关键字:计划 用户 创建 | 更新日期: 2023-09-27 18:13:23

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

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;
    }

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

和我的checkmethod:

    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
        }
    }    

是否有其他的简单的方法,我不需要任何关于计划的高级项目。

编辑:这是一个付款计划系统

because on MSDN DateTime。现在

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

c#创建用户计划

一般情况下,时间戳使用系统/计算机值完成,如SQL的GETDATE(), DateTime.Now…等等......考虑到不能连接到互联网,验证datetime的真实性可能很困难。

这些是你可以用来发现用户是否篡改了系统时钟并进行检查的唯一可行的方法。

  • 保存用户上次登录到表
    • 在第31天,如果他们重置了他们的计算机时钟,你的表仍然会有一个记录,说明它已经存在或无效
  • 创建帐号时,将datetime保存到系统目录下的文件中
    • 您可以加密详细信息
    • 程序将需要检查文件在开始,如果他们删除它只是禁用他们的帐户

如果用户愿意花时间,他们总能找到解决方法。考虑到时间是一个需要考虑的对象,以上只是一些建议。

如果连接到internet是一个可用的选项,只需从远程源查询时间,并与它进行比较,而不是本地计算机。