private ProductUniqueEnum CheckUnique(Product product) { ProductUniqueEnum result = ProductUniqueEnum.success; using (Entities db = new Entities()) { Products findProduct = db.Products.Where(p => p.Code == product.Code || p.Name == product.Name || (p.Barcode != null && p.Barcode == product.Barcode)).FirstOrDefault(); if (findProduct != null) { if (findProduct.Code == product.Code) { result = ProductUniqueEnum.codeNotUnique; } if (findProduct.Name == product.Name) { result = ProductUniqueEnum.nameNotUnique; } if (product.Barcode != null && findProduct.Barcode == product.Barcode) { result = ProductUniqueEnum.barcodeNotUnique; } } } return(result); }
public void GenerateProduct() { DeleteAll(); int num = 0; while (num <= 50000) { Product product = new Product { Code = GenerateCode(), Name = GenerateName(), Price = GeneratePrice(), Barcode = GenerateBarcode(num) }; ProductUniqueEnum status = CheckUnique(product); while (status != ProductUniqueEnum.success) { switch (status) { case ProductUniqueEnum.codeNotUnique: { product.Code = GenerateCode(); } break; case ProductUniqueEnum.nameNotUnique: { product.Name = GenerateName(); } break; case ProductUniqueEnum.barcodeNotUnique: { product.Barcode = GenerateBarcode(num); } break; } status = CheckUnique(product); } AddProduct(product); num++; } }