public ActionResult OverviewAjax(IDataTablesRequest request, int companyID, int?currencyID)
        {
            var data = companyFinanceSummaryRepository.Where(s => s.CompanyID == companyID);

            if (currencyID.HasValue)
            {
                data = data.Where(s => s.CurrencyID == currencyID);
            }
            var dataCount = data.Count();

            var dataFilteredCount = data.Count();

            if (request.Columns.First()?.Sort?.Direction == SortDirection.Ascending)
            {
                data = data.OrderBy(o => o.Day);
            }
            else
            {
                data = data.OrderByDescending(o => o.Day);
            }


            data = data.Skip(request.Start).Take(request.Length);

            var dataPage = data.ToList().Select(s => new
            {
                day            = s.Day,
                currencySymbol = s.Currency.Symbol,
                total          = new CompanyFinance(s).Total
            });

            // Response creation. To create your response you need to reference your request, to avoid
            // request/response tampering and to ensure response will be correctly created.
            var response = DataTablesResponse.Create(request, dataCount, dataFilteredCount, dataPage);

            // Easier way is to return a new 'DataTablesJsonResult', which will automatically convert your
            // response to a json-compatible content, so DataTables can read it when received.
            return(new DataTablesJsonResult(response, JsonRequestBehavior.DenyGet));
        }