public DataTable GetIssuesByReceivingUnit(int storeId, int routeId, int type, DateTime sdate, DateTime edate,int storeid)
        {
            //This function does not look efficient.
            var rus = new Institution();
            rus.LoadAll();
            rus.GetAllUnderRoute(routeId);

            string theFrom = "";
            int i = 0;
            while (!rus.EOF)
            {
                theFrom += HCMIS.Repository.Queries.Item.GetFromClauseFor_GetIssueByReceivingUnitsFilterByDateRange(rus.ID, i,sdate,edate, storeid);
                i++;
                rus.MoveNext();
            }
            string select = "";
            rus.Rewind();
            for (int j = 0; j < i; j++)
            {
                select = HCMIS.Repository.Queries.Item.GetSelectClauseFor_GetIssueByReceivingUnits(select, rus.Name, j);
                rus.MoveNext();
            }
            var query = HCMIS.Repository.Queries.Item.SelectGetIssuesByReceivingUnit(type, select, theFrom);
            Item ite =new Item();
            ite.LoadFromRawSql(query);
            return ite.DataTable;
        }