2016-12-26 69 views
0

我被困在我應該如何爲我的網站創建一個正在進行的int,我可以根據需要調整自己,它會每增加一個(例如)星期六。我想我會以某種方式將它保存到數據庫中,然後在需要時從那裏編輯。有沒有更好的辦法?無法創建一個正在進行的int

這是我迄今(它的並不多,我卡)

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

感謝

+1

理念:如果你當前的週數,它就會每週遞增, – Shyju

+0

是的,我打字,而每星期像一個ID的解決方案。但週數本身更好.... –

+0

我懷疑X/Y問題,你能描述*爲什麼*你需要這個號碼? –

回答

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. 創建一個過程,當你調用它。它在檢查後返回參考號並在數據庫中生成它。

    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