public override ActionResult Index()
        {
            var parameters = Parameter.TypeEqual(typeof(Event).Name)
                             & Parameter.GreaterOrEqual("EventDate", N2.Utility.CurrentTime());

            if (CurrentItem.Container != null)
            {
                parameters.Add(Parameter.BelowOrSelf(CurrentItem.Container));
            }

            var hits = repository.Find(parameters.OrderBy("EventDate").Take(5))
                       .OfType <Event>().ToList();

            return(PartialView(new CalendarTeaserModel(CurrentItem, hits)));
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            var lg = Engine.Resolve <N2.Engine.Globalization.ILanguageGateway>();

            List <LanguageViewModel> languages = new List <LanguageViewModel>();

            foreach (var language in lg.GetAvailableLanguages())
            {
                var root = language as ContentItem;
                if (root != null && root.ID != 0)
                {
                    var lvm = new LanguageViewModel {
                        Language = language, Root = root
                    };

                    var q = Parameter.BelowOrSelf(root);
                    lvm.TotalItems = (int)Engine.Persister.Repository.Count(q);
                    lvm.Changes    = Engine.Persister.Repository.Find(q.Take(CurrentItem.LatestChangesMaxCount)).ToList();
                    //var q = Engine.Resolve<IItemFinder>()
                    //	.Where.AncestralTrail.Like(likeness)
                    //	.Or.ID.Eq(root.ID);

                    //lvm.TotalItems = q.Count();
                    //lvm.Changes = q.OrderBy.Updated.Desc
                    //	.MaxResults(CurrentItem.LatestChangesMaxCount)
                    //	.Select();

                    languages.Add(lvm);
                }
            }
            rptLanguages.DataSource = languages;

            DataBind();
        }