public Pricelist[] GetPricelistsByIdAsync(string[] ids) { var pricingRepositoryImpl = new PricingRepositoryImpl(); Pricelist[] priceList = null; VirtoCommerce.Domain.Pricing.Model.Pricelist[] result = null; if (ids != null) { using (var repository = new PricingModuleCoreContext()) { var pricelistEntities = pricingRepositoryImpl.GetPricelistByIds(ids); result = pricelistEntities.Select(x => x.ToModel(AbstractTypeFactory <Pricelist> .TryCreateInstance())).ToArray(); List <Pricelist> list = result.OfType <Pricelist>().ToList(); priceList = list.Cast <Pricelist>().ToArray(); foreach (var res in priceList) { res.Vendors = repository.GetVendorAssigned(res.Id); } return(priceList); } } return(priceList); }
public void DeletePriceList(string[] priceListsid) { if (priceListsid == null) { throw new ArgumentNullException(nameof(priceListsid)); } var pricingRepositoryImpl = new PricingRepositoryImpl(); if (priceListsid == null) { throw new ArgumentNullException("priceListsid is null"); } using (var repository = new PricingModuleCoreContext()) { var priceDetailList = repository.GetPriceListDetails(priceListsid); foreach (var result in priceDetailList) { repository.Remove(result); CommitChanges(repository); } } pricingRepositoryImpl.DeletePricelists(priceListsid); }
public override void SetupDatabase() { using (var context = new PricingRepositoryImpl(_connectionString, _container.Resolve <AuditableInterceptor>())) { var initializer = new SetupDatabaseInitializer <PricingRepositoryImpl, Data.Migrations.Configuration>(); initializer.InitializeDatabase(context); } }
public override void SetupDatabase() { using (var context = new PricingRepositoryImpl("VirtoCommerce")) { var initializer = new SetupDatabaseInitializer <PricingRepositoryImpl, Data.Migrations.Configuration>(); initializer.InitializeDatabase(context); } }
private IPricingRepository GetPricingRepository() { var dbContextFactory = new DesignTimeDbContextFactory(); var dbContext = dbContextFactory.CreateDbContext(new string[0]); var result = new PricingRepositoryImpl(dbContext); return(result); }
public virtual async Task SavePricelistsAsync(Pricelist[] priceLists) { if (priceLists == null) { throw new ArgumentNullException(nameof(priceLists)); } var pkMap = new PrimaryKeyResolvingMap(); var pricingRepositoryImpl = new PricingRepositoryImpl(); using (var repository = new PricingModuleCoreContext()) { using (var changeTracker = GetChangeTracker(repository)) { bool saveFailed; var pricelistsIds = priceLists.Select(x => x.Id).Where(x => x != null).Distinct().ToArray(); var alreadyExistEntities = GetPricelistsByIdAsync(pricelistsIds); foreach (var pricelist in priceLists) { var sourceEntity = AbstractTypeFactory <PricelistExEntity> .TryCreateInstance().FromModel(pricelist, pkMap); var targetEntityAlreadyExist = alreadyExistEntities.FirstOrDefault(x => x.Id == pricelist.Id); if (targetEntityAlreadyExist != null) { var targetEntity = AbstractTypeFactory <PricelistExEntity> .TryCreateInstance().ToModel(targetEntityAlreadyExist); repository.Attach(targetEntity); sourceEntity.Patch(targetEntity); } else { repository.Add(sourceEntity); } } do { saveFailed = false; try { CommitChanges(repository); pkMap.ResolvePrimaryKeys(); } catch (DbUpdateConcurrencyException ex) { var entry = ex.Entries.Single(); entry.OriginalValues.SetValues(entry.GetDatabaseValues()); } } while (saveFailed); } } }
public override void SetupDatabase(SampleDataLevel sampleDataLevel) { using (var context = new PricingRepositoryImpl("VirtoCommerce")) { IDatabaseInitializer <PricingRepositoryImpl> initializer; switch (sampleDataLevel) { case SampleDataLevel.Full: case SampleDataLevel.Reduced: initializer = new PricingSampleDatabaseInitializer(); break; default: initializer = new SetupDatabaseInitializer <PricingRepositoryImpl, Data.Migrations.Configuration>(); break; } initializer.InitializeDatabase(context); } }
private static IPricingRepository GetPricingRepository() { var result = new PricingRepositoryImpl("VirtoCommerce", new EntityPrimaryKeyGeneratorInterceptor(), new AuditableInterceptor(null)); return(result); }