public ActionResult MultipleCostCodesCheckListTable(ChecklistTableSettings settings)
        {
            var startDate  = new DateTime(settings.Year, settings.Month + 1, 1);
            var endDate    = startDate.AddMonths(1).AddDays(-1);
            var costCentre = dataContext.CostCentres.Find(settings.CostCode);
            var model      = new ChecklistTableViewModel
            {
                EndDate   = endDate,
                StartDate = startDate,
                Heading   = settings.Heading,
                Rows      = costCentre
                            .ChildrenCostCentres
                            .Select(centre => new ChecklistTableRow
                {
                    CostCode = centre.CostCode,
                    Heading  = centre.Name,
                    Columns  = settings
                               .ActivityColumns
                               .Select(pair => new ChecklistTableColumn
                    {
                        Heading        = pair.Value,
                        ActivitiyId    = pair.Key,
                        ContainsValues =
                            (ContainsValues(startDate, endDate, pair.Key,
                                            centre.CostCode))
                    })
                })
            };

            return(PartialView("_ChecklistTable", model));
        }
        public ActionResult SingleCostCodeCheckListTable(ChecklistTableSettings settings)
        {
            var startDate = new DateTime(settings.Year, settings.Month + 1, 1);
            var endDate   = startDate.AddMonths(1).AddDays(-1);
            var model     = new ChecklistTableViewModel
            {
                EndDate   = endDate,
                StartDate = startDate,
                Heading   = string.Empty,
                Rows      = new[]
                {
                    new ChecklistTableRow
                    {
                        CostCode = settings.CostCode,
                        Heading  = settings.Heading,
                        Columns  = settings
                                   .ActivityColumns
                                   .Select(pair => new ChecklistTableColumn
                        {
                            Heading        = pair.Value,
                            ActivitiyId    = pair.Key,
                            ContainsValues =
                                ContainsValues(startDate, endDate, pair.Key, settings.CostCode)
                        })
                    }
                }
            };

            return(PartialView("_ChecklistTable", model));
        }