public void TestToDictionaryWhenDuplicateKeysException() { var productList = new ProductsList().GetProducts(); var prodToAdd = new ProductsList.Product { ID = 6, Name = "Deodorant", Price = 6, Ingredients = new List <ProductsList.Ingredient> { new ProductsList.Ingredient { Name = "Fresh" }, new ProductsList.Ingredient { Name = "Parfum4" } } }; productList.Add(prodToAdd); Func <ProductsList.Product, int> myKeyFunc = (x) => x.ID; Func <ProductsList.Product, string> myElementFunc = (x) => x.Name; var dictionary = Assert.Throws <ArgumentException>(() => LinqFunctions.ToDictionary(productList, p => myKeyFunc(p), z => myElementFunc(z))); Assert.Equal("An item with the same key has already been added. Key: 6", dictionary.Message); }
public async Task Init() { if (ProductTypesList.Count == 0) { var productTypesList = await _productTypesService.Get <List <ProductTypes> >(null); ProductTypesList.Add(new ProductTypes("All")); foreach (var item in productTypesList) { ProductTypesList.Add(item); } } if (SelectedProductTypes != null) { ProductsSearchRequest searchRequest = new ProductsSearchRequest(); if (SelectedProductTypes.Name == "All") { searchRequest = null; } else { searchRequest.ProductTypeId = SelectedProductTypes.Id; } var list = await _service.Get <IEnumerable <Products> >(searchRequest); ProductsList.Clear(); foreach (var item in list) { ProductsList.Add(item); } } }
public static bool LoadProducts() { try { ProductsList.Clear(); using (var sr = new StreamReader(FilePath)) { var deSerializer = new XmlSerializer(typeof(ObservableCollection<Product>)); var tmpCollection = (ObservableCollection<Product>) deSerializer.Deserialize(sr); foreach (var item in tmpCollection) { ProductsList.Add(item); } return true; } } catch (Exception ex) { if (ex is FileNotFoundException) { var sw = new StreamWriter(FilePath); } MessageBox.Show(ex.Message); return false; } }
public async Task RefresProductsAsync() { var data = await ProductService.GetProductsAsync(); ProductsList.Clear(); foreach (var item in data) { ProductsList.Add(item); } }
public Offer(Product NewProduct, User <string> User) { productsList = new List <Product>(); ProductsList.Add(NewProduct); Random rnd = new Random(); offerNumber = rnd.Next(); state = OfferState.New; this.user = User; }
public async Task SearchedProducts(string serachBar) { ProductsSearchRequest request = new ProductsSearchRequest { ProductName = serachBar }; ProductsList.Clear(); var list = await _service.Get <IEnumerable <Model.Products> >(request); foreach (var item in list) { ProductsList.Add(item); } }
public async Task ListProducts() { APIResponse response = await GetProducts.ExecuteStrategy(null); if (response.IsSuccess) { var jsonSerializerSettings = new JsonSerializerSettings(); jsonSerializerSettings.MissingMemberHandling = MissingMemberHandling.Ignore; Products = JsonConvert.DeserializeObject <List <ProductModel> >(response.Response, jsonSerializerSettings); foreach (var p in Products) { p.UnitPriceString = p.UnitPrice.ToString("N0"); ProductsList.Add(p); } } else { Exception e; } }
private void InAddClick() { ProductsList.Add(new Meal { Name = NewMeal.Name, Kcal = NewMeal.Kcal, Proteins = NewMeal.Proteins, Fat = NewMeal.Fat, Carbs = NewMeal.Carbs }); OnPropertyChanged(nameof(ProductsList)); NewMeal.Name = ""; NewMeal.Kcal = 0; NewMeal.Proteins = 0; NewMeal.Fat = 0; NewMeal.Carbs = 0; IfAddProduct = false; }
public async Task ListProducts() { var savedList = new List <Tuple <long, int> >(Settings.listProductsCart); List <long> ids = new List <long>(); foreach (var idItem in savedList) { ids.Add(idItem.Item1); } ShoppingCartModel productsIds = new ShoppingCartModel() { IdProducts = ids }; APIResponse response = await PostList.ExecuteStrategy(productsIds); if (response.IsSuccess) { Products = JsonConvert.DeserializeObject <List <ShoppingCartShowModel> >(response.Response); savedList = new List <Tuple <long, int> >(savedList.OrderBy(x => x.Item1)); int cnt = 0; foreach (var product in Products) { var items = savedList.ElementAt(cnt); product.QuantitySelected = items.Item2; product.UnitPriceString = product.UnitPrice.ToString("N0"); ProductsList.Add(product); Total += (items.Item2 * product.UnitPrice); cnt += 1; } TotalString = Total.ToString("N0"); //await ShowProductsOfCart(); } else { Exception e; } }
public void InsertProduct(Product product, string productType, string CategoryName) { bool isAdded = false; for (int i = 0; i < Categories.Count; i++) { if (Categories[i].CategoryName.Equals(CategoryName)) { isAdded = true; Categories[i].Insert(product, productType); ProductsList.Add(product); } } if (!isAdded) { CategoryBST category = new CategoryBST(); category.CategoryName = CategoryName; category.Insert(product, productType); Categories.Add(category); ProductsList.Add(product); } }
public async Task Init() { var user = await _usersService.GetById <Model.Users>(User.Id); UserAddress = await _userAddresssesService.GetById <Model.UserAddresses>(user.UserAddressId); Country = UserAddress.Country; City = UserAddress.City; AddressName = UserAddress.AddressName; ProductsList.Clear(); foreach (var item in CartService.Cart) { ProductsList.Add(item.Value); } foreach (var item in ProductsList) { Total += item.Product.Price * item.Quantity; Discount += item.Quantity; } if (Discount > 100) { Discount = 50; } if (Discount < 20) { Discount = 0; } else { Discount /= 2; } TotalNoPDV = Total; Total -= (Discount / 100 * Total); Total += 5; }
public static void AddProduct(Product newProduct) { ProductsList.Add(newProduct); SaveProducts(); }
public void AddProduct(Product product) { ProductsList.Add(product); NumberOfProducts = ProductsList.Count; }
public MainViewModel() { //自宅PCかどうか確認して string machineName = Environment.MachineName; if (machineName == "NAOTAB") { for (int i = 0; i < 10; i++) { var product = new Product() { ProductNo = "sam-ple-" + i, ProductName = "これはサンプルです" + i, StockQTY = i * 10, ModDate = DateTime.Today.ToString("yyyy/MM/dd"), ModTime = DateTime.Now.ToString("HH:mm:ss") }; ProductsList.Add(product); } return; } DBManager dBManager = new DBManager(); var sqlstr = @"select * from TEST.T_STOCK;"; try { SqlDataReader dr = dBManager.ExecuteQuery(sqlstr); if (dr.HasRows) { while (dr.Read()) { var product = new Product() { ProductNo = dr["CODE"].ToString(), ProductName = dr["Name"].ToString(), StockQTY = (int)dr["QTY"], ModDate = DateTime.Today.ToString("yyyy/MM/dd"), ModTime = DateTime.Now.ToString("HH:mm:ss"), }; ProductsList.Add(product); } } dr.Close(); } catch (Exception exc) { Debug.WriteLine(exc.Message); } finally { dBManager.Close(); } //var db = new AppDbContext(); //var http = new System.Net.Http.HttpClient(); ////フィードを適当なサイトから取得 //foreach (var targetUrl in // new[] { // "http://www3.asahi.com/rss/index.rdf", // "http://rss.rssad.jp/rss/codezine/new/20/index.xml", // }) //{ // //フィードxmlをDL & Parse // //xmlは名前空間で面倒が生じないよう名前空間情報を除染 // var rssTxt = http.GetStringAsync(targetUrl).Result; // var rss = System.Xml.Linq.XElement.Parse(rssTxt); // foreach (var item in rss.Descendants()) // item.Name = item.Name.LocalName; // //フィードの記事をModelオブジェクトへ移し替える // var articles = rss // .Descendants("item") // .Select(item => // new Article() // { // Title = item.Element("title").Value, // LinkUrl = item.Element("link").Value, // Description = item.Element("description").Value, // ChannelTitle = rss.Element("channel").Element("title").Value, // }); // //DBに未追加の記事をDBへ保存する // foreach (var item in articles) // { // if (db.Article.Any(_ => _.LinkUrl == item.LinkUrl)) // continue; // Console.WriteLine(item.Title); // db.Article.Add(item); // } // //DBへの保存を確定 // db.SaveChanges(); // Console.WriteLine("終了"); // Console.Read(); //} }
private void AddBtn_Click(object sender, RoutedEventArgs e) { try { CheckoutProductViewModel viewModel; var textBoxContent = CodeAndQuantityTxt.Text; //Добавяне на продукт if (Regex.Match(textBoxContent, @"^\d+\*{1}\d+$").Success&& textBoxContent != "*+") { var splittedText = textBoxContent.Split('*').ToList(); bool n = false; foreach (var text in splittedText) { if (String.IsNullOrEmpty(text)) { n = true; } } if (!n) { var itemIdOrBarcode = 0; int length = (int)(Math.Log10(int.MaxValue) + 1); if (splittedText[1].Length < length) { itemIdOrBarcode = int.Parse(splittedText[1]); } var item = dBContext.Products.AsNoTracking().FirstOrDefault(p => p.Id == itemIdOrBarcode || p.Barcode == splittedText[1]); if (item == null || item.IsDeleted) { SystemSounds.Hand.Play(); MessageBox.Show($"Няма такъв продукт с id/barcode {itemIdOrBarcode}!"); throw new Exception($"Няма такъв продукт с id/barcode {itemIdOrBarcode}!"); } var itemQuantity = decimal.Parse(splittedText[0]); totalPrice = item.Price * itemQuantity; viewModel = new CheckoutProductViewModel() { Barcode = item.Barcode, Id = item.Id, Measure = item.Measure, Name = item.Name, Price = item.Price, Quantity = itemQuantity, TotalPrice = totalPrice }; Products.Add(item); ProductsList.Add(viewModel); ProductsListGrid.ItemsSource = ProductsList; totalPrice = ProductsList.Sum(x => x.TotalPrice); TotalPriceTxt.Text = totalPrice.ToString(); log.Info($"Product {viewModel.Name} with quantity {viewModel.Quantity} added to the bill."); } else { SystemSounds.Hand.Play(); } } //Изтриване на последен добавен продукт else if (textBoxContent == "--") { var newEventArgs = new RoutedEventArgs(Button.ClickEvent); ClearLastBtn.RaiseEvent(newEventArgs); } //Завършване на продажба else if (textBoxContent == "*+") { var newEventArgs = new RoutedEventArgs(Button.ClickEvent); FinishBtn.RaiseEvent(newEventArgs); } //Дневен отчет else if (textBoxContent == "/////") { DailyFile.SaveDailyFile(); } else if (textBoxContent == "*+*") { var newEventArgs = new RoutedEventArgs(Button.ClickEvent); BillBtn.RaiseEvent(newEventArgs); } else { SystemSounds.Hand.Play(); } } catch (Exception ex) { log.Error(ex.InnerException); } finally { CodeAndQuantityTxt.Text = string.Empty; } }
public void Add(Product NewProduct) { ProductsList.Add(NewProduct); }