public CustomerService(ICommerceDatabase db, IRepository<Customer> customerRepository, IRepository<Address> addressRepository, IRepository<CustomerCustomField> customerCustomFieldRepository) { _db = db; _customerRepository = customerRepository; _addressRepository = addressRepository; _customerCustomFieldRepository = customerCustomFieldRepository; }
// Passing in ICommerceDatabase instead of CommerceDatabase is because, // in IoC container the service type is ICommerceDatabase. // If we ask for CommerceDatabase here, the IoC container will not be able to provide the CommerceDatabase instance. public CommerceRepository(ICommerceDatabase database) { Require.NotNull(database, "database"); Require.That(database is CommerceDatabase, "Requires type " + typeof(CommerceDatabase) + "."); _database = (CommerceDatabase)database; }
public IPagedList<OrderQueryModel> Query(IEnumerable<ExtendedQueryParameter> parameters, ICommerceDatabase db, int pageIndex, int pageSize) { if (pageIndex <= 1) pageIndex = 1; int num = 10; var numPara = parameters.FirstOrDefault(o => o.Name == "Num"); if (numPara != null && numPara.Value != null && !string.IsNullOrEmpty(numPara.Value.ToString())) num = Convert.ToInt32(numPara.Value); decimal totalPrice = 100.0m; var totalPara = parameters.FirstOrDefault(o => o.Name == "TotalPrice"); if (totalPara != null && totalPara.Value != null && !string.IsNullOrEmpty(totalPara.Value.ToString())) totalPrice = Convert.ToDecimal(totalPara.Value); var customerQuery = db.GetRepository<Customer>().Query(); IQueryable<OrderQueryModel> query = db.GetRepository<Order>().Query() .Join(customerQuery, order => order.CustomerId, customer => customer.Id, (order, customer) => new { Order = order, Customer = customer }) .Select(o => new OrderQueryModel() { Customer = o.Customer, Order = o.Order }) .Where(o => o.Order.Total > totalPrice) .OrderByDescending(o => o.Order.Total); var total = query.Count(); var data = query.Skip(0).Take(num).ToArray(); return new PagedList<OrderQueryModel>(data, pageIndex, pageSize, total); }
public ProductService(ICommerceDatabase db, IRepository<Product> repoProduct, IRepository<ProductPrice> repoProductPrice, IRepository<ProductPriceVariantValue> repoProductPriceVariants, IRepository<CustomField> repoCustomField) { _db = db; _repoProduct = repoProduct; _repoProductPrice = repoProductPrice; _repoProductPriceVariants = repoProductPriceVariants; _repoCustomField = repoCustomField; }
public static void Transactional(this ICommerceDatabase database, Action action) { using (var tx = database.BeginTransaction()) { action(); tx.Commit(); } }
public CustomerController(ICommerceDatabase db, ICustomerService customerService, ICountryService countryService, IOrderService orderService, IExtendedQueryManager extendedQueryManager) { _db = db; _customerService = customerService; _countryService = countryService; _orderService = orderService; _extendedQueryManager = extendedQueryManager; }
private void AddLanguageChildItems(MenuItem parent, Language lang, ICommerceDatabase database) { var culture = CultureInfo.GetCultureInfo(lang.Name); AddLanguageChildItem <Brand>(parent, culture, "Brands", "Brand", database.Repository <Brand>().Query()); AddLanguageChildItem <Category>(parent, culture, "Categories", "Category", database.Repository <Category>().Query()); AddLanguageChildItem <Product>(parent, culture, "Products", "Product", database.Repository <Product>().Query()); AddLanguageChildItem <ProductType>(parent, culture, "Product types", "ProductType", database.Repository <ProductType>().Query()); }
public void CreateDatabase(ICommerceDatabase database) { Require.NotNull(database, "database"); // TODO: Ugly cast? Maybe better to directly expose entity framework DbContext as a property? var dbContext = ((CommerceDatabase)database).DbContext; var objectContext = ToObjectContext(dbContext); var script = objectContext.CreateDatabaseScript(); dbContext.Database.ExecuteSqlCommand(script); }
public void DeleteDatabase(ICommerceDatabase database) { Require.NotNull(database, "database"); var dbContext = ((CommerceDatabase)database).DbContext; var objectContext = ToObjectContext(dbContext); var storeItemCollection = (StoreItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.SSpace); var script = SqlScripts.DropObjects(storeItemCollection); dbContext.Database.ExecuteSqlCommand(script); }
public OrderController(ICommerceDatabase db, IOrderService orderService, ICustomerService customerService, IProductService productService, ICountryService countryService, IPaymentMethodService paymentMethodService, IExtendedQueryManager extendedQueryManager) { _db = db; _orderService = orderService; _customerService = customerService; _productService = productService; _countryService = countryService; _paymentMethodService = paymentMethodService; _extendedQueryManager = extendedQueryManager; }
public static T Transactional <T>(this ICommerceDatabase database, Func <T> action) { T result; using (var tx = database.BeginTransaction()) { result = action(); tx.Commit(); } return(result); }
public ProductController( ICommerceDatabase db, ISettingService settingService, IProductService productService, IProductTypeService productTypeService, IBrandService brandService, ICategoryService categoryService, IExtendedQueryManager extendedQueryManager) { _db = db; _settingService = settingService; _productService = productService; _productTypeService = productTypeService; _brandService = brandService; _categoryService = categoryService; _extendedQueryManager = extendedQueryManager; }
public IPagedList<CustomerQueryModel> Query(IEnumerable<ExtendedQueryParameter> parameters, ICommerceDatabase db, int pageIndex, int pageSize) { if (pageIndex <= 1) pageIndex = 1; int num = 10; var numPara = parameters.FirstOrDefault(o => o.Name == "Num"); if (numPara != null && numPara.Value != null && !string.IsNullOrEmpty(numPara.Value.ToString())) num = Convert.ToInt32(numPara.Value); var orderQuery = db.GetRepository<Order>().Query(); IQueryable<CustomerQueryModel> query = db.GetRepository<Customer>().Query() .GroupJoin(orderQuery, customer => customer.Id, order => order.CustomerId, (customer, orders) => new { Customer = customer, Orders = orders.Count() }) .Select(o => new CustomerQueryModel() { Customer = o.Customer, OrdersCount = o.Orders }) .OrderByDescending(o => o.OrdersCount); var total = query.Count(); var data = query.Skip(0).Take(num).ToArray(); return new PagedList<CustomerQueryModel>(data, pageIndex, pageSize, total); }
public IPagedList<CustomerQueryModel> Query(IEnumerable<ExtendedQueryParameter> parameters, ICommerceDatabase db, int pageIndex, int pageSize) { if (pageIndex <= 1) pageIndex = 1; int days = 7; var para = parameters.FirstOrDefault(o => o.Name == "Days"); if (para != null && para.Value != null) days = Convert.ToInt32(para.Value); DateTime lastDate = DateTime.Today.AddDays(-1 * days); var orderQuery = db.GetRepository<Order>().Query() .Where(o => o.CreatedAtUtc > lastDate); IQueryable<CustomerQueryModel> query = db.GetRepository<Customer>().Query() .GroupJoin(orderQuery, customer => customer.Id, order => order.CustomerId, (customer, orders) => new { Customer = customer, Orders = orders.Count() }) .Select(o => new CustomerQueryModel() { Customer = o.Customer, OrdersCount = o.Orders }) .OrderByDescending(o => o.Customer.Id); var total = query.Count(); var data = query.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToArray(); return new PagedList<CustomerQueryModel>(data, pageIndex, pageSize, total); }
public static IQueryable <T> Query <T>(this ICommerceDatabase database) where T : class { return(database.Repository <T>().Query()); }
public static T Find <T>(this ICommerceDatabase database, params object[] ids) where T : class { return(database.Repository <T>().Find(ids)); }
public PromotionService(ICommerceDatabase db) { _db = db; }
public ChangeSavingPointsActivity(ICommerceDatabase database) { _database = database; }
public PredefinedCustomFieldService(ICommerceDatabase database) { _repository = database.Repository <CustomFieldDefinition>(); }
public ProductService(CommerceInstance instance) { _instance = instance; _database = instance.Database; }
public CategoryService(ICommerceDatabase db, IRepository<Category> categoryRepository, IRepository<CategoryCustomField> categoryCustomFieldRepository) { _db = db; _categoryRepository = categoryRepository; _categoryCustomFieldRepository = categoryCustomFieldRepository; }
public PredefinedCustomFieldService(ICommerceDatabase database) { _repository = database.Repository<CustomFieldDefinition>(); }
public CountryService(ICommerceDatabase database) { _countryRepository = database.Repository <Country>(); }
public BrandService(ICommerceDatabase db, IRepository<Brand> brandRepository, IRepository<BrandCustomField> brandCustomFieldRepository) { _db = db; _brandRepository = brandRepository; _brandCustomFieldRepository = brandCustomFieldRepository; }
public CountryService(ICommerceDatabase database) { _countryRepository = database.Repository<Country>(); }
public static void Insert <T>(this ICommerceDatabase database, T entity) where T : class { database.Repository <T>().Insert(entity); }
public static void Delete <T>(this ICommerceDatabase database, T entity) where T : class { database.Repository <T>().Delete(entity); }
public SettingService(ICommerceDatabase database) { _repository = database.Repository <SettingItem>(); }