无法创建正在进行的int

时间:2016-12-26 00:10:50

标签: c# asp.net asp.net-mvc asp.net-core

我坚持认为我应该如何为我的网站创建一个持续的int,我可以根据需要调整自己,并且会在每个(例子)星期六增加。我想我会以某种方式将它保存到数据库中,然后如果你需要那么就从那里编辑。还有更好的方法吗?

这是我到目前为止(它不多,我被卡住了)

public IActionResult Index()
{
    InvoiceWeekViewModel vm = new InvoiceWeekViewModel();
    vm.InvoiceId= .... ;
    return View();
}  

由于

1 个答案:

答案 0 :(得分:0)

您需要将发票配置存储在数据库中,我建议按照以下字段进行操作。

Id InvoiceReferenceNo Year  Day         CreatedDate
1  51                  2016  Monday      2016-12-26
2  52                  2016  Sunday      2017-01-01
3   1                  2017  Monday      2016-01-02

现在您有两种获取InvoiceReferenceNo的方法,

  1. 从数据库中获取最后一行并检查您的代码是否需要创建新的referenceNo或使用上一行。

    if(currentDayName == "Monday" || currentYear > databaseYear)
    {
       // Generate new reference no and save in database.
    }
    else 
    { 
       // use existing 
    }
  2. 创建程序并在调用时。它在检查后返回引用no并在数据库中生成它。

    Declare @CurrentDay VARCHAR
    Declare @CurrentYear int
    Declare @DbYear int
    
    SET @CurrentDay = DATENAME(dw,GETDATE())
    SET @CurrentYear = DATEPART(yy, GETDATE())
    
    Select @DbYear=[Year] from InvoiceConfig
    
    If(@CurrentDay == 'Monday' OR @CurrentYear > @DbYear)
    Begin
      -- generate new reference no
    End
    Else
    Begin
     -- get existing reference no
    End