public ActionResult <IDataPacker> SalesReportByMonth(
            int subCategoryId, string salesYear, string halfYear)
        {
            var packer = new DataPacker();

            var fromDate = DateTime.Parse(halfYear == "first" ?
                                          salesYear + "-01-01" : salesYear + "-07-01");
            var toDate = DateTime.Parse(halfYear == "first" ?
                                        salesYear + "-06-30" : salesYear + "-12-31");

            object[] yearMonth = new object[7];

            yearMonth[0] = subCategoryId;
            for (int month = 1; month < 7; month++)
            {
                yearMonth[month] = halfYear == "first" ?
                                   salesYear + string.Format("{0:00}", month)
                    : salesYear + string.Format("{0:00}", (month + 6));
            }

            var SalesReport   = _reportService.RetrieveSubCategorySalesReport(yearMonth);
            var ProductReport = _reportService.Retrieve("d_productsalesreport",
                                                        subCategoryId, fromDate, toDate);

            if (ProductReport.RowCount == 0)
            {
                return(NotFound());
            }

            packer.AddDataStore("SalesReport", SalesReport);
            packer.AddDataStore("ProductReport", ProductReport);

            return(packer);
        }