本文簡要介紹一個關(guān)于單據(jù)的常規(guī)審核流從雛形到形成標(biāo)準(zhǔn)系統(tǒng)結(jié)構(gòu)的思維轉(zhuǎn)變, 沒有什么高深的技術(shù), 有的只是循序漸進(jìn)的思維轉(zhuǎn)變.希望能給有類似需求或在軟件設(shè)計過程中有困惑的朋友一個簡明參考.

1. 某天, 甲方的采購經(jīng)理說: 我們的采購申請單需要審核,審核后才能參與下一步流程中.經(jīng)過簡單考慮于是有了下面的偽代碼

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

/// <summary>/// 采購申請單審核/// </summary>/// <param name="id">單據(jù)Id</param>public void PurchaseRequestVerify(string id)
{    using (var repository = GetRepository<ProjJXCPurchaseRequest>())
    {        var mainData = repository.Get(id);      //獲取采購申請單        //驗證單據(jù)是否不存在或狀態(tài)不為待審核        mainData.ThrowIfNullOrDelete()
            .ThrowIf(t => t.Status != BillStatus.VerifyWaite,                    "審核失敗,只有狀態(tài)為[{0}]的單據(jù)才可以審核操作",
                    Remarks.GetRemark(BillStatus.VerifyWaite));        
        //更新狀態(tài)
        mainData.Status = BillStatus.VerifyOK;
        mainData.ModUser = AppRuntimes.Instance.CurrentUser.Name;