예제 #1
0
        public void ImportCompanyProductBarcodes()
        {
            Logger.LogInformation($"Web job started.");

            var inputFilePath = Config["InputFilePath"];

            var files = Directory.GetFiles(inputFilePath, "barcodes*.csv");

            foreach (var file in files)
            {
                var companyCode = file.Replace("barcodes", "").Replace(inputFilePath, "").Replace(".csv", "");
                using FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
                CompanyProductBarcodeService.ImportCompanyProductBarcodesFromFileStream(new ImportCompanyProductBarcodeRequest()
                {
                    FileStream = fs, CompanyCode = companyCode
                });
            }
            Logger.LogInformation($"Web job completed.");
        }
        public BaseCompanyProductBarcodeTests()
        {
            UoW    = new Mock <IUnitOfWork>();
            Logger = new Mock <ILogger <ICompanyProductBarcodeService> >();
            ImportCompanyProductBarcodeCsvService = new Mock <ICsvService <ImportCompanyProductBarcodeDto> >();
            CompanyService        = new Mock <ICompanyService>();
            CompanyProductService = new Mock <ICompanyProductService>();
            SupplierService       = new Mock <ISupplierService>();
            Subject = new CompanyProductBarcodeService(UoW.Object, Logger.Object, ImportCompanyProductBarcodeCsvService.Object, CompanyProductService.Object, SupplierService.Object, CompanyService.Object);

            var companyA = new Company
            {
                CompanyCode = TestData.CompanyCodeA,
                CompanyName = "Company A"
            };

            var companyB = new Company
            {
                CompanyCode = TestData.CompanyCodeB,
                CompanyName = "Company A"
            };

            CompanyService.Setup(m => m.GetCompany(TestData.CompanyCodeA)).Returns(companyA);
            CompanyService.Setup(m => m.GetCompany(TestData.CompanyCodeB)).Returns(companyB);
            CompanyService.Setup(m => m.ValidateCompanyExist(It.IsAny <string>())).Returns(new List <Error>());

            var supplier = new Supplier
            {
                SupplierCode = TestData.SupplierCode,
                SupplierName = "SupplierName2",
                Company      = companyA
            };

            SupplierService.Setup(m => m.GetSupplier(TestData.SupplierCode, TestData.CompanyCodeA)).Returns(supplier);
            SupplierService.Setup(m => m.ValidateSupplierExist(TestData.SupplierCode, TestData.CompanyCodeA)).Returns(new List <Error>());

            var companyProductProductCompanyA = new CompanyProduct
            {
                ProductSku  = TestData.ProductSkuCompanyCodeA,
                ProductName = "ProductName1",
                Company     = companyA
            };

            var companyProductProductCompanyB = new CompanyProduct
            {
                ProductSku  = TestData.ProductSkuCompanyCodeB,
                ProductName = "ProductName2",
                Company     = companyB
            };

            CompanyProductService.Setup(m => m.GetCompanyProduct(TestData.ProductSkuCompanyCodeA, TestData.CompanyCodeA)).Returns(companyProductProductCompanyA);
            CompanyProductService.Setup(m => m.ValidateCompanyProductExist(TestData.ProductSkuCompanyCodeA, TestData.CompanyCodeA)).Returns(new List <Error>());

            CompanyProductService.Setup(m => m.GetCompanyProduct(TestData.ProductSkuCompanyCodeB, TestData.CompanyCodeB)).Returns(companyProductProductCompanyB);
            CompanyProductService.Setup(m => m.ValidateCompanyProductExist(TestData.ProductSkuCompanyCodeB, TestData.CompanyCodeB)).Returns(new List <Error>());

            var companyProductBarcode1 = new CompanyProductBarcode
            {
                Barcode        = TestData.BarcodeProductSkuCompanyCodeA,
                CompanyProduct = companyProductProductCompanyA,
                Supplier       = supplier
            };

            UoW.Setup(m => m.CompanyProductBarcodes.GetAll()).Returns(new List <CompanyProductBarcode>
            {
                companyProductBarcode1
            }.AsQueryable());
        }