2012-02-23 3 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? Считаете ли вы, что это возможно для того, что я хочу сделать? –

+0

Да, наверное, но почему отвращение к LINQ? – spender

+0

Что такое LINQ? Честно говоря, я даже не слышал об этом; Я понятия не имею, как я буду использовать его в своем случае. –

Смежные вопросы