public Garment_BudgetValidationPPICFacade(IServiceProvider serviceProvider, SalesDbContext dbContext)
 {
     this.DbContext                  = dbContext;
     this.DbSet                      = this.DbContext.Set <CostCalculationGarment>();
     this.IdentityService            = serviceProvider.GetService <IIdentityService>();
     this.RO_Garment_ValidationLogic = serviceProvider.GetService <Garment_BudgetValidationPPICLogic>();
 }
        protected Mock <IServiceProvider> GetServiceProviderMock(SalesDbContext dbContext)
        {
            var serviceProviderMock = new Mock <IServiceProvider>();

            IIdentityService identityService = new IdentityService {
                Username = "******"
            };

            CostCalculationGarmentMaterialLogic costCalculationGarmentMaterialLogic = new CostCalculationGarmentMaterialLogic(serviceProviderMock.Object, identityService, dbContext);
            CostCalculationGarmentLogic         costCalculationGarmentLogic         = new CostCalculationGarmentLogic(costCalculationGarmentMaterialLogic, serviceProviderMock.Object, identityService, dbContext);

            GarmentPreSalesContractLogic garmentPreSalesContractLogic = new GarmentPreSalesContractLogic(identityService, dbContext);

            var azureImageFacadeMock = new Mock <IAzureImageFacade>();

            azureImageFacadeMock
            .Setup(s => s.DownloadImage(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync("");

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IIdentityService)))
            .Returns(identityService);
            serviceProviderMock
            .Setup(x => x.GetService(typeof(CostCalculationGarmentLogic)))
            .Returns(costCalculationGarmentLogic);
            serviceProviderMock
            .Setup(x => x.GetService(typeof(GarmentPreSalesContractLogic)))
            .Returns(garmentPreSalesContractLogic);
            serviceProviderMock
            .Setup(x => x.GetService(typeof(IAzureImageFacade)))
            .Returns(azureImageFacadeMock.Object);

            Garment_BudgetValidationPPICLogic rOGarmentValidationLogic = new Garment_BudgetValidationPPICLogic(serviceProviderMock.Object);

            serviceProviderMock
            .Setup(x => x.GetService(typeof(Garment_BudgetValidationPPICLogic)))
            .Returns(rOGarmentValidationLogic);

            return(serviceProviderMock);
        }