日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

图解understand分析一个asp.net办公系统源码

發(fā)布時(shí)間:2025/4/14 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图解understand分析一个asp.net办公系统源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

源碼下載;

http://pan.baidu.com/s/1o7OEMc6

321.rar

?

總結(jié)結(jié)構(gòu);業(yè)務(wù)層,數(shù)據(jù)庫(kù)訪問工廠,實(shí)體層,數(shù)據(jù)庫(kù)訪問接口,sqlserver數(shù)據(jù)庫(kù)訪問層,展現(xiàn)層(oaPro);

?

業(yè)務(wù)層;主要是對(duì)各個(gè)表的操作;

?

通訊錄業(yè)務(wù)類;主要是增刪改查;

?

通訊錄業(yè)務(wù)類代碼情況;

?

資產(chǎn)管理業(yè)務(wù)類;增刪改查;

?

資產(chǎn)管理業(yè)務(wù)類代碼情況;

?

文件業(yè)務(wù)類;增刪改查;

?

文件業(yè)務(wù)類代碼情況;

?

業(yè)務(wù)層其他類類似;

?

數(shù)據(jù)庫(kù)訪問工廠層;

?

返回訪問各個(gè)表的接口對(duì)象;

數(shù)據(jù)緩存類;

?

實(shí)例化一個(gè)接口對(duì)象的代碼如下;

?

/// <summary>/// 通過反射機(jī)制,實(shí)例化addresslist接口對(duì)象/// </summary>///<returns>addresslist接口對(duì)象/returns>public static IaddresslistDAL addresslistDALInstance(){string CacheKey = DALFactory._path + ".addresslistDAL";object objType = DALFactory.GetInstance(CacheKey);return (IaddresslistDAL)objType;}


GetInstance方法代碼如下;

?

?

/// <summary>/// 通過反射機(jī)制,實(shí)例化接口對(duì)象/// </summary>/// <param name="CacheKey">接口對(duì)象名稱(鍵)</param>///<returns>接口對(duì)象/returns>private static object GetInstance(string CacheKey){object objType = DataCache.GetCache(CacheKey);if (objType == null){try{objType = Assembly.Load(DALFactory._path).CreateInstance(CacheKey);DataCache.SetCache(CacheKey, objType);}catch (Exception ex){throw ex;}}return objType;}


用接口對(duì)象名稱創(chuàng)建實(shí)例并返回;同時(shí)緩存接口對(duì)象名稱和創(chuàng)建的實(shí)例;

?

數(shù)據(jù)緩存類設(shè)置和獲取緩存代碼如下;

?

/// <summary>/// 獲得緩存對(duì)象/// </summary>/// <param name="CacheKey">鍵</param>/// <returns>緩存對(duì)象</returns>public static object GetCache(string CacheKey){System.Web.Caching.Cache objCache = HttpRuntime.Cache;return objCache[CacheKey];}/// <summary>/// 設(shè)置緩存對(duì)象/// </summary>/// <param name="CacheKey">鍵</param>/// <param name="objObject">要被緩存的對(duì)象</param>public static void SetCache(string CacheKey, object objObject){System.Web.Caching.Cache objCache = HttpRuntime.Cache;objCache.Insert(CacheKey, objObject);}


是通過System.Web.Caching.Cache類來實(shí)現(xiàn);

?

?

實(shí)體層;與數(shù)據(jù)庫(kù)結(jié)構(gòu)對(duì)應(yīng);

?

部門表department
id,部門名稱

權(quán)限表popedom
id,權(quán)限

操作表operate
id 用戶id(外鍵),權(quán)限id(外鍵)

用戶表users
id,用戶名,用戶密碼,所在部門id(外鍵),檔案(員工)Id(外鍵),狀態(tài),最后登陸ip,登陸時(shí)間,登陸次數(shù),email(密碼綁定),
所在群id(外鍵)

文件類別表filetype
id,文件類別名稱

文件表file
id,文件名,文件類別Id(外鍵),所屬部門Id(外鍵),發(fā)送人ID,接收人ID(外鍵),是否共享,備注,是否回執(zhí),
讀否,閱讀次數(shù),發(fā)布時(shí)間,狀態(tài)

文件回復(fù)表filerevert
id,回復(fù)內(nèi)容,文件id(外鍵),回復(fù)人ID(外鍵),回復(fù)時(shí)間

消息表message
id,標(biāo)題,內(nèi)容,接受人id(外鍵),發(fā)送人id,群組id(外鍵),發(fā)布時(shí)間,是否回執(zhí)

群組表group
id,群名

公文表document
id,部門id(外鍵),群id(外鍵),接收人id(外鍵),標(biāo)題,附件,下載次數(shù),閱讀次數(shù),點(diǎn)擊次數(shù),發(fā)布時(shí)間,發(fā)布人id

通知表sendword
id,標(biāo)題,內(nèi)容,部門id(外鍵),發(fā)布人id(外鍵),發(fā)布時(shí)間,瀏覽次數(shù),狀態(tài)

新聞表news
id,標(biāo)題,內(nèi)容,部門id(外鍵),發(fā)布人id(外鍵),發(fā)布時(shí)間,狀態(tài)

論壇表bbs
id,標(biāo)題,內(nèi)容,頭像,作者,發(fā)布時(shí)間,部門id(外鍵),回復(fù)次數(shù),查看次數(shù)

論壇回復(fù)表bbsrevert
id,論壇id(外鍵),回復(fù)內(nèi)容,回復(fù)時(shí)間,回復(fù)人(外鍵)

工作日志表worklog
id,標(biāo)題,內(nèi)容,發(fā)送人id(外鍵),發(fā)送時(shí)間,狀態(tài),點(diǎn)擊次數(shù),批閱人id,批閱內(nèi)容,批閱時(shí)間

日程計(jì)劃表timeorder
id,日程日期,標(biāo)題,內(nèi)容,發(fā)送人id(外鍵),發(fā)送日期,狀態(tài),是否批閱,批閱人id ,批閱內(nèi)容,批閱時(shí)間

總結(jié)類型表sumuptype
id,類型

工作總結(jié)表worksumup
id,總結(jié)類型id(0年總結(jié),2月總結(jié))(外鍵),總結(jié)年份,總結(jié)月份,常規(guī)工作,下一步工作計(jì)劃,建議,總結(jié)時(shí)間,狀態(tài),總結(jié)人id(外鍵)

審批表examine
id,申請(qǐng)事由,詳細(xì)說明,備注,申請(qǐng)人(外鍵),申請(qǐng)時(shí)間,狀態(tài),審批(接收)人,審批意見,審批時(shí)間,部門id(外鍵),

籍貫表native
id,籍貫

戶口所在地表province
id,省名

政治面貌表visage
id,政治面貌

民族表nation
id,民族

學(xué)歷表learn
id,學(xué)歷

檔案表employee
id,檔案編號(hào),姓名,曾用名,性別,出生日期,婚姻狀況,籍貫id(外鍵n_id),民族id(外鍵na_id),戶口所在地表id(外鍵),身高,體重,政治面貌id(外鍵),
身份證號(hào),健康狀況,血型,目前電話,手機(jī),電子郵件,畢業(yè)院校,專業(yè),學(xué)歷id(外鍵),畢業(yè)日期,學(xué)位,外語(yǔ)語(yǔ)種,外語(yǔ)水平,
獲得證書(外語(yǔ)),計(jì)算機(jī)水平:獲得證書(電腦):計(jì)算機(jī)擅長(zhǎng):普通話水平:家庭地址:郵編:現(xiàn)住址:家庭電話:
住址郵編:家庭情況:檔案存放地:職稱,何時(shí)參加工作:何時(shí)到本單位工作:累計(jì)工齡:本單位工齡:所在部門id(外鍵) ,職務(wù):
備 注:錄入人id:錄入時(shí)間:照片

考勤表attendance
id,日期,上午時(shí)間,下午時(shí)間,姓名id(用戶表外鍵),部門id(外鍵)

資產(chǎn)管理表assetmanage
id,資產(chǎn)名稱: ?編號(hào): ?計(jì)量單位: ?數(shù)量: ?規(guī)格型號(hào): ? 出廠編號(hào): ?技術(shù)證書號(hào): ?購(gòu)買價(jià)格: ?安裝費(fèi): ?折舊: ?凈值: ?
生產(chǎn)單位: ?生產(chǎn)年月: ?交付使用日期: ?預(yù)計(jì)使用年限: ?請(qǐng)購(gòu)人或部門: ?保管人或部門: ?用途: ?使用部門id(外鍵): ?使用地點(diǎn): ?
使用狀態(tài): ?錄入人id: ?備注: 錄入時(shí)間,是否報(bào)廢

通訊錄表addresslist
id,姓名id(外鍵):部門id(外鍵): 職 務(wù):手 機(jī):小靈通:辦公電話:分 機(jī):傳 真: Email:Q Q,Msn:地 址:備 注:?

一個(gè)實(shí)體類的結(jié)構(gòu)如下;

?

數(shù)據(jù)庫(kù)訪問接口層;主要是定義訪問表的接口;

?

論壇表訪問接口;定義了以下類型方法的接口;

文件表訪問接口;

?

數(shù)據(jù)庫(kù)訪問層;針對(duì)各個(gè)表的具體訪問;

?

訪問bbs表,有如下方法;

?

繼承自接口并具體實(shí)現(xiàn);一共有如下類型的方法;

?

添加方法;有兩種;普通插入和帶事務(wù)的插入;

?

更新方法,兩種,普通和帶事務(wù);

?

刪除方法,根據(jù)id,根據(jù)實(shí)體對(duì)象,帶和不帶事務(wù);

?

select方法;根據(jù)行返回實(shí)體,根據(jù)數(shù)據(jù)閱讀者返回實(shí)體,根據(jù)id返回實(shí)體,根據(jù)id、子表、父表返回實(shí)體;

?

論壇表的父表是部門表;論壇表的子表是論壇回復(fù)表;

?

查詢方法;返回全部記錄,是否與父/子表關(guān)聯(lián)的情況下返回全部記錄,根據(jù)查詢條件返回記錄,等;

?

其他查詢方法;

?

根據(jù)sql命令返回記錄;

?

展現(xiàn)層;內(nèi)容很多;

?

再將展現(xiàn)層用understand單獨(dú)建一個(gè)項(xiàng)目;過濾器要手動(dòng)添加*.aspx,否則此類文件不會(huì)被加入;

?

?

打開一個(gè)aspx文件看下,支持不友好,不折疊代碼,也無任何分析;

?

看一個(gè)展現(xiàn)層的具體代碼;刪除公文的操作;

?

COM.OA.Entity.users loginuser = Session["loginuser"] as COM.OA.Entity.users;if (loginuser == null){Response.Write("<script language='javascript'>parent.document.location.href='../login.aspx'</script>");}else{//取傳遞的參數(shù)docidint docid = Int32.Parse(this.Request.QueryString["docid"].ToString());int flag = documentBLL.Delete(docid);if (flag == 0){this.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('公文刪除失敗!!');</script>");}this.Response.Write(string.Format(GetRedirect.WINALERT, "公文刪除成功!"));this.Response.Write(string.Format(GetRedirect.REDIRECT, "gw_sendnote.aspx"));}}


首先判斷是否登錄,未登錄跳到登錄頁(yè);

?

傳遞id,調(diào)用公文業(yè)務(wù)層的刪除方法刪除公文;

刪除失敗彈出對(duì)話框提示;成功在頁(yè)面上提示;

此項(xiàng)目前端主要是純asp.net;未用其他前端組件;除了一個(gè)叫FreeTextBox的組件;

?

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的图解understand分析一个asp.net办公系统源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。