public string GetProducts() { using (ProductsContext _prodContext = new ProductsContext()) { ProductPager list = new ProductPager(_prodContext); int rowCount = 10; int firstIndex = (Convert.ToInt32(Request.Params["page"]) - 1) * rowCount; List <Product> products = list.GetPage(firstIndex, rowCount); List <Object> anonValueList = new List <Object>(); foreach (var j in products) { anonValueList.Add(new { Id = j.Id, Name = j.Name, Price = j.Price, Count = j.Count }); } string jsonResult = JsonConvert.SerializeObject(anonValueList.ToArray()); return(jsonResult); } }
/// <summary> /// This takes in productmodell / product giving it and guid id and add it to the database. /// </summary> /// <param name="ínputProduct"></param> /// <returns></returns> public async Task createProductAsync(ProductModell ínputProduct) { try { if (ínputProduct != null) { ínputProduct.productID = Guid.NewGuid(); while (await validateIDToDatabaseAsync(ínputProduct) == true) { ínputProduct.productID = Guid.NewGuid(); } ProductsContext.Products.Add(ínputProduct); await ProductsContext.SaveChangesAsync(); } else { throw new InvalidOperationException("Emty / Invalid input."); } } catch { throw; } }
public static void Main() { using (var context = new ProductsContext()) { // Create a clean database each time // Notice that indexer properties result in columns in the database, like normal properties context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var beverages = new Category { Id = 1, Name = "Beverages", Description = "Stuff to sip on" }; var foods = new Category { Id = 2, Name = "Food", Description = "Stuff to nibble on" }; var marmite = new Product { Id = 1, Name = "Marmite", ["Description"] = "Yeasty stuff", // Values set using the indexer ["Price"] = 5.99m, ["CategoryId"] = 1 }; var bovril = new Product { Id = 2, Name = "Marmite", ["Description"] = "Beefy stuff", ["Price"] = 4.99m, ["CategoryId"] = 1 }; context.AddRange(beverages, foods, marmite, bovril); context.SaveChanges(); } using (var context = new ProductsContext()) { var products = context.Products.ToList(); // Show what we loaded Console.WriteLine(); Console.WriteLine(); foreach (var product in products) { var category = context.Categories.Find(product["CategoryId"]); Console.WriteLine($"Product \"{product.Name}\" belongs to category {category.Name}"); } } }
public List <Product> GetAll() { using (productContext = new ProductsContext()) { return(productContext.Products.ToList()); } }
public RefreshProducts(IEnumerable <IProductService> productServices, ProductsContext productsContext, IMapper mapper, ILogger <RefreshProducts> logger) { _productServices = productServices; _productsContext = productsContext; _mapper = mapper; _logger = logger; }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ProductsContext productsContext) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseSerilogRequestLogging(); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Products API v1"); }); if (env.IsDevelopment()) { productsContext.KeepTryingToMigrateDatabase(); } }
public List <Product> GetProducts() { using (var db = new ProductsContext()) { return(db.Products.ToList()); } }
private static void ExportData() { using (var db = new ProductsContext()) { var productsInRange = GetPriceRange(db); string jsonProductsInRange = Export(productsInRange); File.WriteAllText(@"Exported\ProductsInRange.json", jsonProductsInRange); var succsessfulluSoldProducts = GetSoldProducts(db); string jsonSoldProducts = Export(succsessfulluSoldProducts); File.WriteAllText(@"Exported\SuccsessfullySoldProducts.json", jsonSoldProducts); var categoriesCountProducts = CountProducts(db); string jsonCount = Export(categoriesCountProducts); File.WriteAllText(@"Exported\CategoriesByPrroductsCount.json", jsonCount); var usersAndProducts = GetUsersAndProducts(db); var jsonUsersProducts = Export(usersAndProducts); File.WriteAllText(@"Exported\UsersAndProducts.json", jsonUsersProducts); } }
private static IEnumerable GetUsersAndProducts(ProductsContext db) { var users = db.Users .Where(u => u.SoldProducts.Count >= 1) .Select(u => new { u.FirstName, u.LastName, u.Age, SoldProducts = new { Count = u.SoldProducts.Count, Products = u.SoldProducts.Select(p => new { p.Name, p.Price }).ToArray() } }) .OrderByDescending(u => u.SoldProducts.Count) .ToArray(); var obj = new { UsersCount = users.Length, Users = users }; return(new[] { obj }); }
private static void CountProductsXml(ProductsContext db) { var categories = db.Categories .Select(c => new { c.Name, ProductsCount = c.CategoryProducts.Count, AveragePrice = c.CategoryProducts.Count == 0 ? 0 : c.CategoryProducts.Select(p => p.Product.Price).Average(), TotalRevenue = c.CategoryProducts.Select(p => p.Product.Price).Sum() }) .OrderBy(c => c.ProductsCount) .ToArray(); var xDoc = new XDocument(); var xElementsCategories = new List <XElement>(); foreach (var category in categories) { xElementsCategories.Add(new XElement("category", new XAttribute("name", category.Name), new XElement("products-count", category.ProductsCount), new XElement("average-price", category.AveragePrice), new XElement("total-revenue", category.TotalRevenue)) ); } xDoc.Add(new XElement("categories", xElementsCategories)); xDoc.Save(@"Exported\CategoriesByProductsCount.xml"); }
private static void ProductsInRangeXml(ProductsContext db) { var productsInRange = db.Products .Where(p => p.Price >= 1000 && p.Price <= 2000 && p.Buyer != null) .Select(x => new { x.Name, x.Price, Buyer = x.Buyer.FullName }) .OrderBy(p => p.Price) .ToArray(); var xDoc = new XDocument(); var xElements = new List <XElement>(); foreach (var product in productsInRange) { xElements.Add(new XElement("product", new XAttribute("name", product.Name), new XAttribute("price", product.Price), new XAttribute("buyer", product.Buyer) )); } xDoc.Add(new XElement("products", xElements)); xDoc.Save(@"Exported\ProductsInRnage.xml"); }
public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) .AddEnvironmentVariables(); Configuration = builder.Build(); using (var context = new ProductsContext()) { context.Database.EnsureCreated(); var product = new Product { ID = 1, Name = "Mesa", Price = 29, Stock = true }; context.Add(product); var image = new ProductImage { ID = 1, UniqueName = "Mesa1", ProductID = 1, }; context.Add(image); context.SaveChanges(); } }
ProductsContext db = null; //new ProductsContext(new MySqlConnection("Data Source=localhost;port=3306;Initial Catalog=test;user id=root;password=P@ssword!;"), true); public ProductsController() { string dbType = ""; if (System.Web.HttpContext.Current.Request.QueryString["DBType"] != null) { dbType = System.Web.HttpContext.Current.Request.QueryString["DBType"].ToLower(); } switch (dbType) { case "mysql": { this.db = new ProductsContext(new MySqlConnection("Data Source=localhost;port=3306;Initial Catalog=test;user id=root;password=P@ssword!;"), true); break; } case "mssqlserver": { this.db = new ProductsContext(new SqlConnection("Data Source=192.168.1.158;Initial Catalog=ODataTest;User ID=MES;Password=M([email protected]"), true); break; } default: { this.db = new ProductsContext(new MySqlConnection("Data Source=localhost;port=3306;Initial Catalog=test;user id=root;password=P@ssword!;"), true); break; } } }
public string EditProduct() { using (ProductsContext _prodContext = new ProductsContext()) { int id = Convert.ToInt32(Request.Params["ProductId"]); string name = Request.Params["Name"]; float price = Convert.ToSingle(Request.Params["Price"]); Product prod = _prodContext.Products.Where(i => i.Id == id).First(); prod.Name = name; prod.Price = price; _prodContext.SaveChanges(); ProductPager list = new ProductPager(_prodContext); List <Product> products = list.GetPage(10); List <Object> anonValueList = new List <Object>(); foreach (var j in products) { anonValueList.Add(new { Id = j.Id, Name = j.Name, Price = j.Price, Count = j.Count }); } string jsonResult = JsonConvert.SerializeObject(anonValueList.ToArray()); return(jsonResult); } }
// Thực hiện chèn dữ liệu mẫu, 2 sản phẩm public static async void InsertProduct() { using (var context = new ProductsContext()) { // Dùng đối tượng DbSet để thêm await context.products.AddAsync(new Product { Name = "Sản phẩm 1", Provider = "Công ty 1" }); // Dùng context để thêm await context.AddAsync(new Product() { Name = "Sản phẩm 2", Provider = "Công ty 1" }); // Thực hiện Insert vào DB các dữ liệu đã thêm. int rows = await context.SaveChangesAsync(); Console.WriteLine($"Đã lưu {rows} sản phẩm"); } }
private static void AddSellersAndBuyers(Product[] products, ProductsContext db) { var sellers = db.Users.Count(); var random = new Random(); foreach (var product in products) { product.SellerId = random.Next(1, sellers); } db.Products.AddRange(products); db.SaveChanges(); foreach (var product in db.Products) { int id = product.Id; int sellId = product.SellerId; int result = Math.Abs(id * sellId); bool isEven = result % 2 == 0; int? value = null; if (!isEven) { value = random.Next(1, sellers); } product.BuyerId = value; } db.SaveChanges(); }
public void UpdateDifDBContext_WhenCalled_ExpectDbUpdateConcurrencyException() { var logFactory = new LoggerFactory(); logFactory.AddProvider(new SqliteLoggerProvider()); var context1 = new ProductsContext(new DbContextOptionsBuilder <ProductsContext>() .UseSqlite("Data Source=products.db").UseLoggerFactory(logFactory).Options); var context2 = new ProductsContext(new DbContextOptionsBuilder <ProductsContext>() .UseSqlite("Data Source=products.db").UseLoggerFactory(logFactory).Options); context1.Database.ExecuteSqlCommand( @"UPDATE Products SET RowVersion = randomblob(8) WHERE RowVersion = null"); var productFromContext1 = context1.Products.AsNoTracking().FirstOrDefault(p => p.ProductId == 1); var productFromContext2 = context1.Products.AsNoTracking().FirstOrDefault(p => p.ProductId == 1); productFromContext1.Description = DateTime.Now.ToString(); productFromContext2.Description = DateTime.UtcNow.ToString(); try { context1.Entry(productFromContext1).State = EntityState.Modified; var count = context1.SaveChanges(); productFromContext1 = context1.Products.FirstOrDefault(p => p.ProductId == 1); context2.Entry(productFromContext2).State = EntityState.Modified; count = context2.SaveChanges(); Assert.True(false); } catch (DbUpdateConcurrencyException e) { Assert.True(true); } }
public static Guid GetId(string name) { var context = new ProductsContext(); IEnumerable <Product> productIEnum = context.Products; var products = productIEnum.Where(p => p.Name == name).ToList(); int choice = 0; bool check = false; while (!check) { System.Console.Clear(); Console.WriteLine("Выберите запись для изменений: "); for (int i = 0; i < products.Count; i++) { Console.Write($"{i + 1}) "); products[i].Show(); } check = int.TryParse(System.Console.ReadLine(), out choice); if (choice < 0 || choice > products.Count) { check = false; } } return(products[choice - 1].Id); }
public ProductService(string connectionsString) { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseNpgsql(connectionsString); Db = new ProductsContext(optionsBuilder.Options); }
// GET: Categories/Index public ActionResult Index() { ProductsContext db = new ProductsContext(); List <Category> categories = db.Categories.ToList(); return(View(categories)); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ProductsContext context) { if (Configuration.GetValue <bool>("DatabaseMigrate")) { context.Database.Migrate(); } if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
public List <Brand> Get() { ProductsContext db = new ProductsContext(); List <Brand> brands = db.Brands.ToList(); return(brands); }
public Product Get(int id) { using (productContext = new ProductsContext()) { return(productContext.Products.Find(id)); } }
//Constructor public CartController() { //Create references db = new ProductsContext(); sessionManager = new SessionManager(); cartManager = new CartManager(sessionManager, db); }
public void When_Get_Product_With_Id_2_Then_Show_Only_This_Product() { var _productOptions = new DbContextOptionsBuilder <ProductsContext>().UseInMemoryDatabase("products_detail").Options; var _productContext = new ProductsContext(_productOptions); ProductsModel productData = new ProductsModel { id = 2, name = "43 Piece dinner Set", price = (Decimal)12.95, availability = "InStock", stockAvailability = 10, age = "3_to_5", gender = "FEMALE", brand = "CoolKidz" }; _productContext.Products.Add(productData); _productContext.SaveChanges(); ProductsService productsService = new ProductsService(_productContext); var actualResult = productsService.getProductDetail(2); var expectedResult = _productContext.Products.First(); Assert.Equal(expectedResult, actualResult); }
public UnitOfWork(ProductsContext context) { _context = context; Products = new ProductRepository(context); Comments = new CommentRepository(context); }
public HomeController(UserManager <IdentityUser> um, RoleManager <IdentityRole> rm, IDemoHelper helper, ProductsContext productsContext) { _userManager = um; _roleManager = rm; _h = helper; _pc = productsContext; }
public static async void ReadProducts() { using (var context = new ProductsContext()) { // Lấy List các sản phẩm từ DB var products = await context.products.ToListAsync(); Console.WriteLine("Tất cả sản phẩm"); foreach (var product in products) { Console.WriteLine($"{product.ProductId,2} {product.Name,10} - {product.Provider}"); } Console.WriteLine(); Console.WriteLine(); //Sử dụng LINQ trên DbSet (products) products = await(from p in context.products select p).ToListAsync(); Console.WriteLine("Sản phẩm CTY A"); foreach (var product in products) { Console.WriteLine($"{product.ProductId,2} {product.Name,10} - {product.Provider}"); } } }
public UnitOfWork() { this.context = new ProductsContext(); Products = new ProductRepository(context); Suppliers = new SupplierRepository(context); Categories = new CategoryRepository(context); }
public string GetOperations() { using (UsersContext _userContext = new UsersContext()) using (ProductsContext _prodContext = new ProductsContext()) { OperationManager manager = new OperationManager(_prodContext, _userContext); int rowCount = 10; int firstIndex; int prodId; try { rowCount = Convert.ToInt32(Request.Params["rows"]); firstIndex = (Convert.ToInt32(Request.Params["page"]) - 1) * rowCount; prodId = Convert.ToInt32(Request.Params["prodId"]); } catch (Exception ex) { return(""); } List <OperationRow> resultList; resultList = manager.GetPage(firstIndex, rowCount, prodId); if (resultList == null) { return(""); } if (Request.Params["sidx"] != null) { resultList = manager.Sort(resultList, Request.Params["sidx"], Request.Params["sord"]); } string jsonResult = JsonConvert.SerializeObject(resultList.ToArray()); return(jsonResult); } }
protected void Dispose(bool disposing) { if (disposing) { if (db != null) { db.Dispose(); db = null; } } }