1) 创建Mvc4 空 项目,如 Finance.Web.Plugin
2)引用
3) 创建一个 Area , 如叫做 Finance
4) 然后打开【Web项目】\Areas\Finance\FinanceAreaRegistration.cs ,下图是自动生成的。
然后我们要改为
6)创建一个新Controller, 如ExchageRate,并且生成第一个View 如图:
记得把View设置为嵌入资源哦
然后再主项目 引入 Finacy.Web.Plugin.dll
启动就可以通过:localhost:XXX/Finacy/ExchangeRate 访问我们刚刚创建的页面。
由于Ornament项目是使用NH的。因此需要在AreaRegistry 中注册Dao以及NH的Mapping
创建两个项目
1)Finance.Core, 实体以及基本业务逻辑
1 using System; 2 using Qi.Domain; 3 4 namespace Finance 5 { 6 public class ExchangeRate : DomainObject<ExchangeRate, string> 7 { 8 9 public ExchangeRate() 10 { 11 } 12 13 public ExchangeRate(string englishName,decimal bindRate,decimal offerRate) 14 { 15 this.CurrencyEnglinshName = englishName; 16 this.BidRate = bindRate; 17 this.OfferRate = offerRate; 18 } 19 public virtual string CurrencyEnglinshName { get; set; } 20 public virtual string CurrencyChineseName { get; set; } 21 /// <summary> 22 /// 买入价格 23 /// </summary> 24 public virtual decimal BidRate { get; set; } 25 26 /// <summary> 27 /// 卖出的价格。 28 /// </summary> 29 public virtual decimal OfferRate { get; set; } 30 31 /// <summary> 32 /// 计算出卖出一分的价格 33 /// </summary> 34 /// <param name="points"></param> 35 /// <returns></returns> 36 public virtual decimal CaculateForSelling(int sellsAmount) 37 { 38 if (sellsAmount < 0) 39 throw new ArgumentOutOfRangeException("sellsAmount", "points should larger than 0"); 40 return sellsAmount * OfferRate; 41 } 42 43 } 44 }
2)Finance.Dao.NhImple NHibernate Mapping 以及 Dao的实现,这里强烈推荐使用 FluentNHibernate
然后再回到Finace.Web.Plugin 中的 FinanceAreaRegistration.cs 文件中去,并且引用了Finance.Dao.NhImple,添加RegistryDao方法。
那么Dao就注册完成了
1)创建一个seajs 模块,如为刚刚创建的ExchangeRate.cshtml, 添加一套js 控件。如下图:
2) 再次回到Finance.Web.Plugin 中 的 FinanceAreaRegistration 文件。
这样编译之后就可以通过流量器
localhost:XX/Financy/ExchangeRate/index.js 去访问index。js文件了。