public async Task <byte[]> GetReport(string Type, string basepath, CustomClearanceBIZSearchDTO arg)
        {
            var helper     = new ReportHelper();
            var datasource = new Telerik.Reporting.ObjectDataSource();

            arg.gmsDashboardSearchFilter.pageNo = 0;
            datasource.DataSource = helper.GetGMSReleaseReportData(arg);
            Telerik.Reporting.Report instanceReport;
            var settings = new System.Xml.XmlReaderSettings();

            settings.IgnoreWhitespace = true;
            var path = basepath + "/Report/GMSStatusReport.trdx";

            using (System.Xml.XmlReader xmlReader = System.Xml.XmlReader.Create(path, settings))
            {
                var xmlSerializer = new Telerik.Reporting.XmlSerialization.ReportXmlSerializer();
                instanceReport = (Telerik.Reporting.Report)xmlSerializer.Deserialize(xmlReader);
            }
            Telerik.Reporting.Table tbl = instanceReport.Items.Find("table1", true)[0] as Telerik.Reporting.Table;
            tbl.DataSource = datasource;
            DateTime frmdate;

            if (DateTime.TryParseExact(arg.gmsDashboardSearchFilter.fromDT,
                                       "yyyy-MM-dd HH:mm:ss",
                                       System.Globalization.CultureInfo.InvariantCulture,
                                       System.Globalization.DateTimeStyles.None,
                                       out frmdate))
            {
                instanceReport.ReportParameters["FromDate"].Value = frmdate.ToString("dd/MM/yyyy");
            }
            else
            {
                instanceReport.ReportParameters["FromDate"].Value = string.Empty;
            }

            DateTime todate;

            if (DateTime.TryParseExact(arg.gmsDashboardSearchFilter.toDT,
                                       "yyyy-MM-dd HH:mm:ss",
                                       System.Globalization.CultureInfo.InvariantCulture,
                                       System.Globalization.DateTimeStyles.None,
                                       out todate))
            {
                instanceReport.ReportParameters["ToDate"].Value = todate.ToString("dd/MM/yyyy");
            }
            else
            {
                instanceReport.ReportParameters["ToDate"].Value = string.Empty;
            }

            //instanceReport.ReportParameters.Add("ToDate", parameters[1]);
            Telerik.Reporting.Processing.ReportProcessor reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
            Telerik.Reporting.Processing.RenderingResult result          = reportProcessor.RenderReport(Type, new InstanceReportSource {
                ReportDocument = instanceReport
            }, null);
            byte[] contents = result.DocumentBytes;
            return(contents);
        }
        //public List<GMSContainerStatusResponse> GetGMSReleaseReportData(string x)
        public List <GMSContainerStatusResponse> GetGMSReleaseReportData(CustomClearanceBIZSearchDTO arg)
        {
            ITokenContainer     tokenContainer = new TokenContainer();
            string              urls           = string.Empty;
            GMSStatRootResponse responseFromWS = new GMSStatRootResponse();

            try
            {
                string reference = "api/Customs/Dashboard/SearchContainerReleaseReport";
                string url       = InternetService_URLS + reference;
                //CustomClearanceBIZSearchDTO arg = new CustomClearanceBIZSearchDTO();
                //arg.gmsDashboardSearchFilter = new GMSDashboardSearchFilter();
                //arg.gmsDashboardSearchFilter.pageNo = 1;
                //arg.gmsDashboardSearchFilter.pageSize = 100;
                //arg.gmsDashboardSearchFilter.toDT = "2018-11-02 00:00:00";

                //urls = url + "?centerCode=" + centerCode + "&jobNumber=" + jobNumber + "&eLACode=" + eLACode;
                HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
                webRequest.ContentType = "application/json";
                webRequest.Method      = "POST";
                webRequest.Headers.Add("Authorization", "Bearer " + tokenContainer.ApiToken);
                webRequest.Accept = "application/json";
                using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
                {
                    string json = JsonConvert.SerializeObject(arg);

                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();
                }
                using (WebResponse response = webRequest.GetResponse())
                {
                    using (StreamReader rd = new StreamReader(response.GetResponseStream()))
                    {
                        var obj = rd.ReadToEnd();
                        responseFromWS = JsonConvert.DeserializeObject <GMSStatRootResponse>(obj);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            List <GMSContainerStatusResponse> result = new List <GMSContainerStatusResponse>(responseFromWS.ServiceResponse.Content);

            //List<Exemptions> Exemptionss = new List<Exemptions>(responseFromWS.FirstOrDefault().Data);
            //Exemptionss.Add(Exemptions.FirstOrDefault());
            return(result);
        }