ASP.NET 生成惟一不重複的訂單號 支持多用戶併發、持多數據庫的實現參考

ASP.NET 生成惟一不重複的訂單號 支持多用戶併發、持多數據庫的實現參考(C#.NET通用權限管理系統組件源碼組成部分)

咱們在平常開發項目過程當中每每須要各類訂單單號的產生方法,並且是支持多用戶併發、支持多種數據庫的,咱們並不想爲每一個項目都寫一些獨立的代碼去實現這些功能,每每須要有個通用的函數比較爽一些。html

 下面咱們以C#.NET通用權限管理系統組件源碼的作法,給你們來一個參考,下面是序列(流水號)管理器的效果,這裏保存着各類須要的當前狀態。數據庫

 這裏是代碼的具體位置參考 併發

這裏是程序運行效果參考,能夠經過函數獲取當前的序號、編號等等,能夠靈活設置要幾位長度的編號,是否補前導零,從幾開始編號等等。 ide

這個是服務層的併發處理方法參考 函數


這裏是具體的頁面上的代碼參考,程序裏只須要一行代碼,就能夠獲取自動流水號、序號、編號等全智能的實現,用起來會很爽,並且能夠生成各類類別的訂單號,甚至能夠講是任意的均可以,不要折騰太多飛機了,並且還支持多種數據庫,不用針對每種數據庫又編寫代碼了,哪一個項目均可以靈活用,所有的源碼也能夠提供。this


複製代碼
// --------------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2011 , Hairihan TECH, Ltd.
// --------------------------------------------------------------------

using System;

namespace DotNet.WebForm
{
using DotNet.Service;

/// <remarks>
/// OrderNumber
/// 序號產生方式、併發序號發生、惟一編號產生
///
/// 修改紀錄
///
///        版本:1.0 2011.02.28    JiRiGaLa    初步建立。
///
/// 版本:1.0
/// <author>
/// <name> JiRiGaLa </name>
/// <date> 2011.02.28 </date>
/// </author>
/// </remarks>
public partial class OrderNumber : BasePage
   {
protected void Page_Load( object sender, EventArgs e)
       {
       }

private void GetOrderNumber()
       {
string orderName = string .Empty;

// 1.按年產生訂單序號。
           orderName = " Order: " + DateTime.Now.ToString( " yyyy " );
// 獲取原編號
// ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
// 這裏是編號增長一的動做
this .txtOrderNumber1.Text = ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName, 0 , 5 , true );

// 2.按年月產生訂單序號。
           orderName = " Order: " + DateTime.Now.ToString( " yyyyMM " );
// ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
// 這裏是編號增長一的動做
this .txtOrderNumber2.Text = ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName, 0 , 5 , true );

// 3.按年月日產生訂單序號。
           orderName = " Order: " + DateTime.Now.ToString( " yyyyMMdd " );
// ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
// 這裏是編號增長一的動做
this .txtOrderNumber3.Text = ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName, 0 , 5 , true );

// 4.按類別產生訂單序號。
           orderName = " Order: " + " StockOut " ;
// ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
// 這裏是編號增長一的動做
this .txtOrderNumber4.Text = ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName, 0 , 5 , true );
       }

protected void btnGetOrderNumber_Click( object sender, EventArgs e)
       {
this .GetOrderNumber();
       }  
   }
複製代碼

}
spa

相關文章
相關標籤/搜索