无法创建一个正在进行的int

问题描述:

我被困在我应该如何为我的网站创建一个正在进行的int,我可以根据需要调整自己,它会每增加一个(例如)星期六。我想我会以某种方式将它保存到数据库中,然后在需要时从那里编辑。有没有更好的办法?无法创建一个正在进行的int

这是我迄今(它的并不多,我卡)

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

感谢

+1

理念:如果你当前的周数,它就会每周递增, – Shyju

+0

是的,我打字,而每星期像一个ID的解决方案。但周数本身更好.... –

+0

我怀疑X/Y问题,你能描述*为什么*你需要这个号码? –

您需要发票的配置存储在数据库中,我建议以下字段。

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. 创建一个过程,当你调用它。它在检查后返回参考号并在数据库中生成它。

    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