public async Task <IActionResult> ExportAdvancePaymentShipment(AdvancePaymentCriteria advancePaymentCriteria)
        {
            var accessToken        = Request.Headers["Authorization"].ToString();
            var advancePaymentsAPI = await HttpServiceExtension.PostAPI(advancePaymentCriteria, aPis.AccountingAPI + Urls.Accounting.AdvancePaymentUrl, accessToken);

            var           advancePayments = advancePaymentsAPI.Content.ReadAsAsync <List <AdvancePaymentModel> >();
            List <string> codes           = new List <string>();

            foreach (var item in advancePayments.Result)
            {
                codes.Add(item.AdvanceNo);
            }
            var responseFromApi = await HttpServiceExtension.PostAPI(codes, aPis.AccountingAPI + Urls.Accounting.GetGroupRequestsByAdvanceNoList, accessToken);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <AdvancePaymentRequestModel> >();

            var stream = new AccountingHelper().GenerateAdvancePaymentShipmentExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Advance Payment List Shipment.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportDepartment(CatDepartmentCriteria catDepartmentCriteria)
        {
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.GetDataFromApi(catDepartmentCriteria, aPis.HostStaging + Urls.System.DepartmentUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatDepartmentModel> >();  //Make sure to add a reference to System.Net.Http.Formatting.dll
            var stream      = helper.CreateDepartmentExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.DepartmentName));
        }
        public async Task <IActionResult> ExportCommodityGroup(CatCommodityGroupCriteria catCommodityGroupCriteria)
        {
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.GetDataFromApi(catCommodityGroupCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatCommodityGroupUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatCommodityGroup> >();
            var stream      = helper.CreateCommoditygroupExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.CommodityGroupList));
        }
        public async Task <IActionResult> ExportCustomClearance(CustomsDeclarationCriteria customsDeclarationCriteria)
        {
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.GetDataFromApi(customsDeclarationCriteria, aPis.HostStaging + Urls.CustomClearance.CustomClearanceUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CustomsDeclaration> >();  //Make sure to add a reference to System.Net.Http.Formatting.dll

            var stream = helper.CreateCustomClearanceExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.CustomClearanceName));
        }
        public async Task <IActionResult> ExportCurrency(CatCurrrencyCriteria catCurrrencyCriteria)
        {
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.GetDataFromApi(catCurrrencyCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatCurrencyUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatCurrency> >();  //Make sure to add a reference to System.Net.Http.Formatting.dll

            var stream = helper.CreateCurrencyExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.CurrencyName));
        }
        public async Task <IActionResult> ExportPartner(CatPartnerCriteria catPartnerCriteria)
        {
            var    accessToken     = Request.Headers["Authorization"].ToString();
            Helper helper          = new Helper();
            var    responseFromApi = await HttpServiceExtension.PostAPI(catPartnerCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatPartnerUrl, accessToken);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatPartner> >();

            var stream = helper.CreatePartnerExcelFile(dataObjects.Result, catPartnerCriteria.PartnerType, catPartnerCriteria.Author);

            return(new FileHelper().ExportExcel(stream, FilesNames.PartnerData));
        }
        public async Task <IActionResult> ExportWareHouse(CatPlaceCriteria catPlaceCriteria)
        {
            var    accessToken = Request.Headers["Authorization"].ToString();
            Helper helper      = new Helper();

            var responseFromApi = await HttpServiceExtension.PostAPI(catPlaceCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatplaceUrl, accessToken);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatWareHouse> >();

            var stream = helper.CreateWareHourseExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.WareHouse));
        }
        public async Task <IActionResult> ExportCharge(CatChargeCriteria catChargeCriteria)
        {
            Helper helper      = new Helper();
            var    accessToken = Request.Headers["Authorization"].ToString();

            var responseFromApi = await HttpServiceExtension.PostAPI(catChargeCriteria, aPis.CatalogueAPI + Urls.Catelogue.CatchargeUrl, accessToken);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <CatCharge> >();  //Make sure to add a reference to System.Net.Http.Formatting.dll

            var stream = helper.CreateChargeExcelFile(dataObjects.Result);

            return(new FileHelper().ExportExcel(stream, FilesNames.ChargeName));
        }
        public async Task <IActionResult> ExportUser(SysUserCriteria sysUserCriteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(sysUserCriteria, aPis.HostStaging + Urls.System.UserUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <SysUserModel> >();
            var stream      = new Helper().GenerateUserExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, FilesNames.UserName);

            return(fileContent);
        }
        public async Task <IActionResult> ExportEManifest(Guid hblid)
        {
            var accessToken     = Request.Headers["Authorization"].ToString();
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.HostStaging + Urls.Documentation.HouseBillDetailUrl + hblid, accessToken);

            var dataObject = responseFromApi.Content.ReadAsAsync <CsTransactionDetailModel>();
            var stream     = new DocumentationHelper().CreateEManifestExcelFile(dataObject.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "E-Manifest.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportAdvancePayment(AdvancePaymentCriteria advancePaymentCriteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(advancePaymentCriteria, aPis.AccountingAPI + Urls.Accounting.AdvancePaymentUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <AdvancePaymentModel> >();

            var stream = new AccountingHelper().GenerateAdvancePaymentExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Advance Payment List.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportDetailSettlementPayment(Guid settlementId, string language)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.AccountingAPI + Urls.Accounting.DetailSettlementPaymentExportUrl + "?settlementId=" + settlementId);

            var dataObjects = responseFromApi.Content.ReadAsAsync <SettlementExport>();

            var stream = new AccountingHelper().GenerateDetailSettlementPaymentExcel(dataObjects.Result, language);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Settlement Form - eFMS.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportBravoSOA(string soaNo)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.AccountingAPI + Urls.Accounting.GetDataBravoSOAUrl + soaNo);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <ExportBravoSOAModel> >();

            var stream = new AccountingHelper().GenerateBravoSOAExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "SOA Bravo List.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportOffice(SysOfficeCriteria sysOfficeCriteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(sysOfficeCriteria, aPis.HostStaging + Urls.System.OfficeUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <SysOfficeModel> >();

            var stream = new Helper().GenerateOfficeExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Company List.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportDetailSOA(string soaNo, string currency)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.AccountingAPI + Urls.Accounting.DetailSOAExportUrl + soaNo + "&&currencyLocal=" + currency);

            var dataObjects = responseFromApi.Content.ReadAsAsync <DetailSOAModel>();

            var stream = new AccountingHelper().GenerateDetailSOAExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            string            fileName    = "Export SOA " + soaNo + ".xlsx";
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, fileName);

            return(fileContent);
        }
        public async Task <IActionResult> ExportSOAOPS(string soaNo)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.AccountingAPI + Urls.Accounting.GetDataSOAOPSUrl + soaNo);

            var dataObjects = responseFromApi.Content.ReadAsAsync <SOAOPSModel>();

            var stream = new AccountingHelper().GenerateSOAOPSExcel(dataObjects.Result);

            if (dataObjects.Result.exportSOAOPs.Count == 0)
            {
                return(Ok());
            }
            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "SOA OPS.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportTCSAirExport(string jobId)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.HostStaging + Urls.Documentation.AirwayBillExportUrl + jobId);

            var dataObject = responseFromApi.Content.ReadAsAsync <AirwayBillExportResult>();

            if (dataObject.Result == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }

            var stream = new DocumentationHelper().GenerateTCSAirExportExcel(dataObject.Result);

            if (stream == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Air Export - Phiếu Cân TCS.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportSOAAirfreight(string soaNo, string officeId)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.AccountingAPI + Urls.Accounting.GetDataSOAAirfreightExportUrl + soaNo + "&&officeId=" + officeId);

            var dataObjects = responseFromApi.Content.ReadAsAsync <ExportSOAAirfreightModel>();

            if (dataObjects.Result.HawbAirFrieghts == null)
            {
                return(Ok());
            }
            var stream = new AccountingHelper().GenerateSOAAirfreightExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            string            fileName    = "Export SOA Air Freight " + soaNo + ".xlsx";
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, fileName);

            return(fileContent);
        }
        public async Task <IActionResult> ExportHAWBAirExport(string hblid, string officeId)
        {
            var responseFromApi = await HttpServiceExtension.GetApi(aPis.HostStaging + Urls.Documentation.NeutralHawbExportUrl + "?housebillId=" + hblid + "&officeId=" + officeId);

            var dataObject = responseFromApi.Content.ReadAsAsync <AirwayBillExportResult>();

            if (dataObject.Result == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }

            var stream = new DocumentationHelper().GenerateHAWBAirExportExcel(dataObject.Result);

            if (stream == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Air Export - NEUTRAL HAWB.xlsx");

            return(fileContent);
        }
        public async Task <IActionResult> ExportShipmentOverview(GeneralReportCriteria criteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(criteria, aPis.HostStaging + Urls.Documentation.GetDataShipmentOverviewUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <ExportShipmentOverview> >();

            if (dataObjects.Result == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }

            var stream = new DocumentationHelper().GenerateShipmentOverviewExcel(dataObjects.Result, criteria, null);

            if (stream == null)
            {
                return(new FileHelper().ExportExcel(new MemoryStream(), ""));
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, "Shipment Overview.xlsx");

            return(fileContent);
        }