2012-02-23 222 views
1
public JsonResult GetEvents(double start, double end) 
{ 
    var userName = Session["UserName"] as string; 
    if(string.IsNullOrEmpty(userName)) 
    { 
     return null; 
    } 
    var fromDate = ConvertFromUnixTimestamp(start); 
    var toDate = ConvertFromUnixTimestamp(end); 
    var rep = Resolver.Resolve<IEventRepository>(); 
    var events = rep.ListEventsForUser(userName,fromDate,toDate); 
    var eventList = from e in events 
        select new { 
           id = e.Id, 
           title = e.Title, 
           start = e.FromDate.ToString("s"), 
           end = e.ToDate.ToString("s"), 
           allDay = false 
          }; 
    var rows = eventList.ToArray(); 
    return Json(rows,JsonRequestBehavior.AllowGet);   
} 

我從this blog得到了這段代碼,並試圖理解它。我想要做的是使用fullcalendar代碼從數據庫中檢索事件,並允許用戶使用C#和Razor將它們添加到數據庫中。我認爲這段代碼非常接近我所希望的,因爲它正在創建JSON對象,但我需要調整它以使用SQL和C#。任何人都可以幫忙嗎?這段代碼中的IEventRepository是什麼? Resolver.resolve()是做什麼的?

回答

3

它從依賴注入框架的內核/解析器中獲取IEventRepository的實例化。在代碼/配置的其他地方,將會有解析器的指令,說明在詢問IEventRepository類型的對象時應該實例化哪種類型的對象。在沒有看到該代碼的情況下,任何人都可以猜到從該呼叫傳回的內容,除了滿足接口IEventRepository。可能只有一兩個類實現IEventRepository。找到他們!

如果你想閱讀DI,我喜歡ninject docs,但這個特殊的代碼看起來不像ninject。

+0

好吧,我猜在這種情況下,我可以執行一種解決方法來實現我所希望的。我可以取消這段代碼,啓動與我的數據庫的連接,然後循環查找特定用戶的事件並存儲在eventList數組中生成的數據?你認爲這對我想做的事情是否可行? – 2012-02-23 12:23:12

+0

是的,可能是,但爲什麼厭惡LINQ? – spender 2012-02-23 12:27:12

+0

什麼是LINQ?說實話我從來沒有聽說過這個;我不知道如何在我的情況下使用它。 – 2012-02-23 14:10:10