public CalculatorPage(SaleProduct selectedprp) { InitializeComponent(); FlowDirectionPage(); check = true; this.selectedprp = selectedprp; }
public override Product GetById(int id) { var sql = @" SELECT * FROM products as p LEFT JOIN sale_product AS sp ON sp.product_id = p.id LEFT JOIN sales AS s ON s.id = sp.sale_id WHERE p.id = @ProductId"; var list = _connection.Query <Product, Sale, Product>(sql , map: (product, sale) => { var salesProducts = new SaleProduct() { ProductId = product.Id, Product = product, SaleId = sale.Id, Sale = sale }; product.Sales.Add(salesProducts); return(product); }, new { ProductId = id } ); return(list.AsList().FirstOrDefault()); }
public void EditSaleProduct(int saleId, SaleProduct saleProduct) { Sale sale = GetSaleById(saleId); SaleProduct oldSaleProduct = GetSaleProductById(saleProduct.Id); oldSaleProduct.Name = saleProduct.Name; oldSaleProduct.ProductId = saleProduct.ProductId; oldSaleProduct.Price = saleProduct.Price; oldSaleProduct.IsPaidByCreditCard = saleProduct.IsPaidByCreditCard; oldSaleProduct.IsPrivate = saleProduct.IsPrivate; oldSaleProduct.IsForGuest = saleProduct.IsForGuest; oldSaleProduct.Deduction = saleProduct.Deduction; oldSaleProduct.SellPrice = saleProduct.SellPrice; SaleDataSet.SaleProductRow row = saleDataSet.SaleProduct.FindById(saleProduct.Id); row.Name = saleProduct.Name; row.ProductId = saleProduct.ProductId; row.Price = saleProduct.Price; row.IsPaidByCreditCard = saleProduct.IsPaidByCreditCard; row.IsPrivate = saleProduct.IsPrivate; row.IsForGuest = saleProduct.IsForGuest; row.Deduction = saleProduct.Deduction; row.SellPrice = saleProduct.SellPrice; saleDataSet.AcceptChanges(); Notify(); }
private void AddProduct(Product product) { if (true)//(StockCheckRequired) { var count = CheckStock(product.ProductId, Convert.ToDecimal(product.PricesList[0].PurchasePrice)); if (count < GetConvertedQuantity()) { RaiseNotification("Alert", "Not enough stock available for his item"); return; } } var saleProduct = new SaleProduct(); saleProduct.UoM = product.ProductUoM; saleProduct.ProductDescription = product.ProductDescription; saleProduct.PriceList = product.PriceList; saleProduct.ProductId = product.ProductId; saleProduct.ProductTax = product.ProductTax; saleProduct.SellingPrice = Convert.ToDecimal(product.PriceList[0]); saleProduct.PurchasePrice = Convert.ToDecimal(product.PricesList[0].PurchasePrice); saleProduct.Quantity = GetConvertedQuantity(); _saleTransaction.AddItem(saleProduct); UpdateTransaction(); }
public void AddSalesToStoreAndDecrementStockProducts(SaleDto saleDto) { var newSale = new Sale() { SellingDate = saleDto.SellingDate, StoreId = saleDto.StoreId }; _shoesDataEntities.Sales.Add(newSale); foreach (var saleProductDto in saleDto.SalesProducts) { var currentProduct = _productServices.FindProduct( saleProductDto.ModelId, saleProductDto.ColorId, saleProductDto.Size); var newSaleProduct = new SaleProduct { ProductId = currentProduct.Id, SaleId = newSale.Id, Quantity = saleProductDto.Quantity, SellingPrice = saleProductDto.Price }; _shoesDataEntities.SaleProducts.Add(newSaleProduct); var lastStockRoom = _storeStockRoomDataServices.GetLastStoreStockRoomByProductId(saleDto.StoreId.Value, currentProduct.Id); var newStoreStockRoom = new StoreStockRoom() { ProductId = currentProduct.Id, StockValue = lastStockRoom.StockValue - saleProductDto.Quantity, EntryValue = -saleProductDto.Quantity, EntryDate = saleDto.SellingDate, StoreId = saleDto.StoreId.Value, OperationType = OperationType.OUT.ToString() }; _shoesDataEntities.StoreStockRooms.Add(newStoreStockRoom); SaveChanges(); } }
private void AddSaleProduct(List <QtProduct> productlst) { try { m_saleProducts.Clear(); foreach (var p in productlst) { SaleProduct sp = new SaleProduct(); sp.sd = new T_saledetail(); sp.sd.productid = p.qp.productid; sp.sd.producttotalprice = p.qp.totalprice; sp.productCode = p.productCode; sp.productName = p.productName; sp.productSpec = p.productSpec; sp.pUnitPrice = p.qp.unitprice; sp.pModelPrice = p.qp.modelprice; //sp.sd.plandeliverydate= m_saleProducts.Add(sp); } gcSaledetail.RefreshDataSource(); } catch (Exception ex) { XtraMessageBox.Show(ex.Message); } }
public string addSale() { var responseBody = Request.Content.ReadAsStringAsync(); var obj = JsonConvert.DeserializeObject <AddSaleModel>(responseBody.Result); Sale s = new Sale() { Date = DateTime.Now, TotalBill = obj.TotalBill, }; _db.Sales.Add(s); _db.SaveChanges(); SaleProduct sp = new SaleProduct() { ProductId = obj.productId, SaleId = _db.Sales.ToList().FirstOrDefault().Id, Quantity = obj.QuantityId, SellingPrice = obj.SellingPrice }; _db.SaleProducts.Add(sp); var saleProduct = _db.products.Where(x => x.Id == obj.productId).FirstOrDefault(); saleProduct.Quantity -= obj.QuantityId; _db.SaveChanges(); return("Sale Successfully Done!!!"); }
public async Task <IActionResult> PutSaleProduct(int id, SaleProduct saleProdct) { var result = new Result <string>(); Type saleProdType = typeof(SaleProduct); var updateSaleProd = await _context.SaleProducts.Where(x => x.SaleProdId == id).FirstOrDefaultAsync(); if (updateSaleProd == null) { return(NotFound(DataNotFound(result))); } UpdateTable(saleProdct, saleProdType, updateSaleProd); try { await _context.SaveChangesAsync(); } catch (Exception e) { result.ErrorMessage = e.Message; result.IsSuccess = false; return(BadRequest(result)); } return(Ok(result)); }
public SaleProductView(SaleProduct sale) { ProductID = sale.ProductID; Product = sale.Product; Quantity = sale.Quantity; Price = sale.Price; }
/// <summary> /// Creates a sale record /// </summary> /// <param name="saleDto">saleDto</param> public void Create(SaleDto saleDto) { lock (lockObject) { Sale sale = new Sale() { InvoiceNumber = Guid.NewGuid(), SaleDate = DateTime.Now, Discount = saleDto.Discount, VATAmount = saleDto.VATAmount, TotalAmount = saleDto.TotalAmount }; var user = _unitOfWork.UserRepository.GetById(saleDto.UserId) ?? throw new CustomException(HttpStatusCode.NotFound, Constants.ErrorUserNotFound); sale.UserId = user.Id; foreach (var saleItem in saleDto.SaleItems) { var product = _unitOfWork.ProductRepository.GetById(saleItem.ProductId) ?? throw new CustomException(HttpStatusCode.NotFound, Constants.ErrorProductNotFound); if (product.AvailableQuantity < saleItem.Quantity) { throw new CustomException(HttpStatusCode.NotAcceptable, Constants.InvalidProductQuantity); } product.AvailableQuantity -= saleItem.Quantity; SaleProduct saleProduct = new SaleProduct { InvoiceNumber = sale.InvoiceNumber.ToString(), ProductId = saleItem.ProductId, Quantity = saleItem.Quantity }; _unitOfWork.SaleProductRepository.Insert(saleProduct); } _unitOfWork.SaleRepository.Insert(sale); _unitOfWork.Commit(); } }
private void SetCashSale(object sender, RoutedEventArgs e) { MenuItem menuItem = e.Source as MenuItem; SaleProduct saleProduct = menuItem.CommandParameter as SaleProduct; viewModel.SetIsPaidByCreditCardToSaleProduct(false, saleProduct); }
public void DeleteSaleProduct(SaleProduct saleProduct) { dataAccess.RemoveSaleProduct(saleToday.Id, saleProduct.Id); OnPropertyChanged("Sales"); OnPropertyChanged("SaleToday"); }
private void SetSellerSale(object sender, RoutedEventArgs e) { MenuItem menuItem = e.Source as MenuItem; SaleProduct saleProduct = menuItem.CommandParameter as SaleProduct; viewModel.SetIsForGuestToSaleProduct(false, saleProduct); }
private void SetPrivateSale(object sender, RoutedEventArgs e) { MenuItem menuItem = e.Source as MenuItem; SaleProduct saleProduct = menuItem.CommandParameter as SaleProduct; viewModel.SetIsPrivateToSaleProduct(true, saleProduct); }
public static List <SaleProduct> ReturnSaleProducts(string[] productsInCookie, int companyId, int saleId) { if (productsInCookie == null || productsInCookie.Length == 0) { return(null); } else { Context db = new Context(); List <SaleProduct> saleProducts = new List <SaleProduct>(); for (int i = 0; i < productsInCookie.Length; i++) { if (!String.IsNullOrEmpty(productsInCookie[i])) { string[] products = productsInCookie[i].Split(','); int idProd = Convert.ToInt32(products[0]); Product prod = db.Product.Where(x => x.CompanyId == companyId && x.IdProduct == idProd).FirstOrDefault(); SaleProduct saleProduct = new SaleProduct { ProductId = prod.IdProduct, SaleId = saleId, Amount = Convert.ToInt32(products[3]) }; saleProducts.Add(saleProduct); } } return(saleProducts); } }
private bool HandleSettingsBarcode(string barcode) { IList <BarcodeSetting> settings = dataAccess.BarcodeSettings; foreach (var setting in settings) { if (setting.Barcode.Equals(barcode)) { if (invokers.Count > 0) { Invoker invoker = invokers.Last(); SaleProduct saleProduct = (invoker.Command as AddSaleProductCommand).SaleProduct; saleProduct.Deduction = setting.Name; if (setting.IsFixPrice) { saleProduct.Price = setting.Value; } else { saleProduct.Price = Math.Round(10 * ((1 - setting.Value) * saleProduct.Price), MidpointRounding.AwayFromZero) / 10; } OnPropertyChanged("BasketTotal"); OnPropertyChanged("Invokers"); } return(true); } } return(false); }
public async Task <IActionResult> BasketSale() { if (User.Identity.IsAuthenticated) { AppUser appUser = await _userManager.FindByNameAsync(User.Identity.Name); Sale sale = new Sale { Date = DateTime.Now, AppUserId = appUser.Id, }; List <BasketVM> basketProducts = JsonConvert.DeserializeObject <List <BasketVM> >(Request.Cookies["basket"]); foreach (BasketVM item in basketProducts) { var dbPro = await _db.Products.FindAsync(item.Id); if (item.Count > dbPro.Count) { return(Content("Get qumla oyna")); } } List <SaleProduct> saleProducts = new List <SaleProduct>(); double total = 0; foreach (BasketVM basketProduct in basketProducts) { if (basketProduct.UserName == User.Identity.Name) { Product dbProduct = await _db.Products.FindAsync(basketProduct.Id); await DecreaseProductCount(dbProduct, basketProduct); SaleProduct saleProduct = new SaleProduct { Price = dbProduct.Price, Count = basketProduct.Count, ProductId = basketProduct.Id, SaleId = sale.Id }; total += saleProduct.Price * saleProduct.Count; saleProducts.Add(saleProduct); } } sale.Total = total; sale.SaleProducts = saleProducts; await _db.Sales.AddAsync(sale); await _db.SaveChangesAsync(); TempData["success"] = "Alish-verishiniz ugurla yerine yetirildi"; return(RedirectToAction("Basket")); } else { return(RedirectToAction("Login", "Account")); } }
public void SetIsForGuestToSaleProduct(bool isForGuest, SaleProduct saleProduct) { saleProduct.IsForGuest = isForGuest; saleProduct.IsPaidByCreditCard = false; saleProduct.IsPrivate = false; dataAccess.EditSaleProduct(saleToday.Id, saleProduct); OnPropertyChanged("Sales"); OnPropertyChanged("SaleToday"); }
private double GetBasketTotal() { double total = 0; foreach (var basketItem in basketItems) { SaleProduct saleProduct = basketItem.SaleProduct; total += saleProduct.SellPrice; } return(total); }
public void AddSaleProduct(SaleProduct saleProduct) { if (ProductId == saleProduct.ProductId && SellPrice == saleProduct.SellPrice) { Count++; TotalCash += ((!saleProduct.IsPaidByCreditCard && !saleProduct.IsPrivate) ? saleProduct.SellPrice : 0d); TotalCreditCard += ((saleProduct.IsPaidByCreditCard && !saleProduct.IsPrivate) ? saleProduct.SellPrice : 0d); TotalPrivate += ((saleProduct.IsPrivate) ? saleProduct.SellPrice : 0d); Total += ((!saleProduct.IsPrivate) ? saleProduct.SellPrice : 0d); } }
public RedirectToRouteResult RemoveFromCart(Cart cart, int id, string returnUrl) { SaleProduct saleProduct = applicationDataContext.SaleProducts.Where(x => x.Id == id).FirstOrDefault(); if (saleProduct != null) { cart.RemoveLine(saleProduct); } return(RedirectToAction("Index", new { returnUrl })); }
private void DeleteSaleProduct(object sender, RoutedEventArgs e) { MenuItem menuItem = e.Source as MenuItem; SaleProduct saleProduct = menuItem.CommandParameter as SaleProduct; MessageBoxResult result = MessageBox.Show("Wollen Sie das Produkt \"" + saleProduct.Name + "\" wirklich aus dem Verkauf entfernen?", "Produkt entfernen", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { viewModel.DeleteSaleProduct(saleProduct); MessageBox.Show("Produkt \"" + saleProduct.Name + "\" erfolgreich entfernt. Bitte passen Sie die Mengen in Ihrem Vorrat an.", "Produkt entfernen", MessageBoxButton.OK); } }
/// <summary> /// Добавить. /// </summary> /// <param name="saleId"></param> /// <param name="productId"></param> /// <param name="amount"></param> /// <param name="sum"></param> public static void Insert(int saleId, int productId, int amount, double sum) { SaleProduct saleProduct = new SaleProduct { SaleId = saleId, ProductId = productId, Amount = amount, Sum = sum }; myDbContext.SaleProducts.Add(saleProduct); myDbContext.SaveChanges(); }
public SaleProduct getSalesProduct(Branch branch, string name) { using (MySqlConnection connection = getConnection()) { string query = "select * from saleproducts where branch_id=@branch_id and name=@name"; SaleProduct SaleProduct = connection.QuerySingleOrDefault <SaleProduct>(query, new { branch_id = branch.id, name = name }); if (SaleProduct != null) { return(SaleProduct); } return(null); } }
public TotalSaleProduct(SaleProduct saleProduct) { this.ProductId = saleProduct.ProductId; this.Name = saleProduct.Name; this.Count = 1; this.Price = saleProduct.Price; this.Deduction = saleProduct.Deduction; this.SellPrice = saleProduct.SellPrice; this.TotalCash = ((!saleProduct.IsPaidByCreditCard && !saleProduct.IsPrivate && !saleProduct.IsForGuest) ? saleProduct.SellPrice : 0d); this.TotalCreditCard = ((saleProduct.IsPaidByCreditCard) ? saleProduct.SellPrice : 0d); this.TotalPrivate = ((saleProduct.IsPrivate) ? saleProduct.SellPrice : 0d); this.TotalForGuest = ((saleProduct.IsForGuest) ? saleProduct.SellPrice : 0d); this.Total = ((!saleProduct.IsPrivate && !saleProduct.IsForGuest) ? saleProduct.SellPrice : 0d); }
public void RemoveSaleProduct(int saleId, int saleProductId) { Sale sale = GetSaleById(saleId); SaleProduct saleProuct = GetSaleProductById(saleProductId); sale.SaleProducts.Remove(saleProuct); SaleDataSet.SaleProductRow row = saleDataSet.SaleProduct.FindById(saleProductId); if (row != null) { saleDataSet.SaleProduct.RemoveSaleProductRow(row); } saleDataSet.AcceptChanges(); Notify(); }
public void AddSaleProductToBasket(Product product, SaleProduct saleProduct) { Command command = new AddSaleProductCommand(this, product.Id, saleProduct); Invoker invoker = new Invoker(); invoker.Command = command; invokers.Add(invoker); //DecrementConsignment(product.Id); shoppingBasket.Add(saleProduct); OnPropertyChanged("BasketTotal"); OnPropertyChanged("Invokers"); }
public override string TakeProduct(int quantity) { if (Quantity < quantity) { return($"No se puede retirar esta cantidad solo hay: {Quantity}."); } Quantity -= quantity; SaleProduct.Add(new Sale() { Product = this, QuantitySale = quantity, TotalCost = (CostProduct * quantity), TotalSale = (PriceProduct * quantity) }); return($"Se vendieron {quantity} de: {Name}"); }
public ActionResult FetchProductIndexList() { string query = HotelCloud.Common.HCRequest.GetString("query").TrimEnd(); string select = HotelCloud.Common.HCRequest.GetString("select").TrimEnd(); int page = HotelCloud.Common.HCRequest.GetInt("page", 1); if (page < 1) { page = 1; } int pagesize = 2; int count = 0; int pagesum = 0; string key = HotelCloud.Common.HCRequest.GetString("key"); string hotelweixinId = key.Split('@')[0]; string userweixinId = key.Split('@')[1]; ProductEntityList list_products = new ProductEntityList(); string cacheName = string.Format("{0}_{1}", hotelweixinId.ToLower(), "productindex"); if (cache[cacheName] != null) { list_products = (ProductEntityList)cache[cacheName]; count = list_products.Count; } else { list_products.ProductEntity_List = SaleProduct.GetSaleProductsListIndex(hotelweixinId, out count, page, pagesize, "", ""); list_products.Count = count; cache.Insert(cacheName, list_products, null, DateTime.Now.AddMinutes(30), TimeSpan.Zero); } pagesum = (count % pagesize == 0) ? count / pagesize : count / pagesize + 1; return(Json(new { data = list_products.ProductEntity_List, count = count, page = page, pagesum = pagesum }, JsonRequestBehavior.AllowGet)); }
private void saveReceipt(ReceiptDto receiptDto, List <SaleProductOutDto> products, decimal totalPrice, string userid) { Receipt receipt = new Receipt() { CodeReceipt = receiptDto.CodeReceipt, CustomerId = db.Customers.FirstOrDefault(a => a.IdentificationNumber == receiptDto.IdentificationNumber).Id, IVA = receiptDto.IVA, TotalPrice = (totalPrice * receiptDto.IVA / 100) + totalPrice, UserId = userid, CreationTime = DateTime.Now }; db.Receipts.Add(receipt); foreach (var pro in products) { SaleProduct product = new SaleProduct() { Amount = pro.Amount, ProductId = pro.ProductId, ReceiptId = receipt.Id, UnitPrice = pro.UnitPrice, TotalPrice = pro.TotalPrice, IsLoading = true, CreationTime = DateTime.Now }; db.SaleProducts.Add(product); var wareHouse = db.WareHouses.FirstOrDefault(a => a.ProductId == pro.ProductId); if (wareHouse.AmountWareHouse - pro.Amount < 0) { var response = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("not enough units available amount: " + wareHouse.AmountWareHouse), StatusCode = HttpStatusCode.NotFound }; throw new HttpResponseException(response); } wareHouse.AmountWareHouse -= pro.Amount; } db.SaveChanges(); }