2012-02-23 11 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を実装するクラスは1つまたは2つしかありません。それらを見つけます!

DIで読んでみたい場合はninject docsが好きですが、この特定のコードはninjectのようには見えません。

+0

私はこの場合、私が望むことを達成するための一種の回避策を実行できると思います。このコードを削除してデータベースへの接続を開始し、特定のユーザーのイベントを検索し、eventList配列で生成されたデータを保存することができます。私はこれが実現したいと考えていますか? –

+0

はい、おそらく、なぜLINQへの嫌悪感ですか? – spender

+0

LINQとは何ですか?正直言って、これについて聞いたこともない。私は私の場合にどのように使用するのか分かりません。 –

関連する問題