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 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 async Task RefresProductsAsync() { var data = await ProductService.GetProductsAsync(); ProductsList.Clear(); foreach (var item in data) { ProductsList.Add(item); } }
private async void LoadProducts() { ProductsList.Clear(); List <ProductInventoryModel> products = null; await Task.Run(() => { products = serviceRepository.LoadProductInventory(); }); ProductsList.AddRange(products); }
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 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 async Task SaveOrder() { await AddressLenght(); await CityLenght(); await StateLenght(); var user = await _usersService.GetById <Model.Users>(User.Id); UserAddress = await _userAddresssesService.GetById <Model.UserAddresses>(user.UserAddressId); UserAddressesUpsertRequest userAddressesUpserRequest = new UserAddressesUpsertRequest { AddressName = AddressName, City = City, Country = Country, Id = UserAddress.Id }; await _userAddresssesService.Update <Model.UserAddresses>(UserAddress.Id, userAddressesUpserRequest); OrdersUpsertRequest ordersUpsertRequest = new OrdersUpsertRequest { Date = DateTime.Now, Cancel = false, OrderNumber = Helper.GenerateString(19), Status = OrderStatusTypes.Created.ToString(), UserId = User.Id }; try { var order = await _ordersService.Insert <Model.Orders>(ordersUpsertRequest); OutputsUpsertRequest outputsUpsertRequest = new OutputsUpsertRequest { Date = DateTime.Now, UserId = User.Id, Finished = false, OrderId = order.Id, ReceiveNumber = Helper.GenerateString(19), ValueWithoutPdv = TotalNoPDV, ValueWithPdv = Total }; var outputs = await _outputsService.Insert <Model.Outputs>(outputsUpsertRequest); foreach (var item in ProductsList) { OutputProductsUpsertRequest request = new OutputProductsUpsertRequest { ProductId = item.Product.Id, Price = item.Product.Price, OutputId = outputs.Id, Quantity = (int)item.Quantity, Discount = (item.Quantity / 2) }; if (request.Quantity > 100) { request.Discount = 50; } if (request.Quantity < 20) { request.Discount = 0; } await _outputProductsService.Insert <Model.OutputProducts>(request); } ProductsList.Clear(); CartService.Cart.Clear(); await Application.Current.MainPage.DisplayAlert("Success", "Order is sent!", "OK"); } catch { await Application.Current.MainPage.DisplayAlert("Error", "", "OK"); } }
private void FinishBtn_Click(object sender, RoutedEventArgs e) { sale = new Sale(); try { sale = new Sale() { DateCreated = DateTime.Now, TotalPrice = totalPrice }; dBContext.Sales.Add(sale); dBContext.SaveChanges(); sale = dBContext.Sales.ToList().Last(); var salesProducts = new List <SaleProduct>(); for (int i = 0; i < Products.Count; i++) { var product = dBContext.Products.FirstOrDefault(x => x.Id == Products[i].Id); if (salesProducts.Count == 0) { if (product.Quantity >= ProductsList[i].Quantity) { var saleProduct = new SaleProduct() { ProductId = Products[i].Id, SaleId = sale.Id, Quantity = ProductsList[i].Quantity }; salesProducts.Add(saleProduct); } else { MessageBox.Show($"Няма такова количество от {product.Name} налично!"); throw new Exception($"Няма такова количество от {product.Name} налично!"); } } else { var isItemAdded = salesProducts.Any(sp => sp.ProductId == Products[i].Id); if (isItemAdded) { var saleProduct = salesProducts.First(sp => sp.ProductId == Products[i].Id); var productQuantity = saleProduct.Quantity + ProductsList[i].Quantity; if (product.Quantity >= productQuantity) { salesProducts.Remove(saleProduct); saleProduct.Quantity += ProductsList[i].Quantity; salesProducts.Add(saleProduct); } else { MessageBox.Show($"Няма такова количество от {product.Name} налично!"); throw new Exception($"Няма такова количество от {product.Name} налично!"); } } else { if (product.Quantity >= ProductsList[i].Quantity) { var saleProduct = new SaleProduct() { ProductId = Products[i].Id, SaleId = sale.Id, Quantity = ProductsList[i].Quantity }; salesProducts.Add(saleProduct); } else { MessageBox.Show($"Няма такова количество от {product.Name} налично!"); throw new Exception($"Няма такова количество от {product.Name} налично!"); } } } } foreach (var item in salesProducts) { var product = dBContext.Products.FirstOrDefault(x => x.Id == item.ProductId); product.Quantity -= item.Quantity; dBContext.Update(product); } dBContext.SaleProducts.AddRange(salesProducts); this.TotalPriceTxt.Text = "0.00"; } catch (Exception ex) { SystemSounds.Hand.Play(); var newSale = dBContext.Sales.First(s => s.Id == sale.Id); newSale.IsDeleted = true; newSale.DateDeleted = DateTime.Now; dBContext.Update(newSale); dBContext.SaveChanges(); log.Error(ex.Message + ex.InnerException); } finally { dBContext.SaveChanges(); ProductsForBill = new ObservableCollection <CheckoutProductViewModel>(); foreach (var item in ProductsList) { ProductsForBill.Add(item); } Products.Clear(); ProductsList.Clear(); } }