/// <summary> /// 查看商品图片 /// </summary> private void OnImageView(int?salesOrderDetailId) { var salesDetail = SaleDetailList.First(salesOrderDetail => salesOrderDetail.Id == salesOrderDetailId.Value); var viewModel = new ProductImageViewModel { Title = "商品图片", ImageUrl = salesDetail.ProductImageUrl }; ViewProductImageRequest.Raise(viewModel); }
private void GetTempDataFromDB(string guid) { var tempData = RMSEntitiesHelper.Instance.RMSEntities.SaleTemps.Where(st => st.Guid == guid); var tempDataFirst = RMSEntitiesHelper.Instance.RMSEntities.SaleTemps.Where(st => st.Guid == guid).FirstOrDefault(); //var tempDataFirst SelectedCustomer = RMSEntitiesHelper.Instance.RMSEntities.Customers.FirstOrDefault(c => c.Id == tempDataFirst.CustomerId.Value); _categoryId = RMSEntitiesHelper.Instance.RMSEntities.Categories.FirstOrDefault(c => c.Id == SelectedCustomer.CustomerTypeId).Id; SelectedCustomerText = SelectedCustomer.Name; _selectedPaymentMode = new PaymentMode(); SelectedPaymentId = char.Parse(tempDataFirst.PaymentMode); RaisePropertyChanged("SelectedCustomer"); //RaisePropertyChanged("SelectedPaymentMode"); OrderNo = tempDataFirst.OrderNo; TranscationDate = tempDataFirst.SaleDate.Value; _guid = guid; var tempTotalAmount = 0.0M; foreach (var saleDetailItem in tempData) { var productPrice = _productsPriceList.Where(p => p.PriceId == saleDetailItem.PriceId).FirstOrDefault(); var saleDetailExtn = new SaleDetailExtn() { Discount = saleDetailItem.DiscountAmount, DiscountPercentage = saleDetailItem.DiscountPercentage.Value, PriceId = saleDetailItem.PriceId.Value, ProductId = saleDetailItem.ProductId.Value, Qty = saleDetailItem.Quantity, OriginalQty = saleDetailItem.Quantity, SellingPrice = saleDetailItem.SellingPrice, CostPrice = productPrice.Price, AvailableStock = productPrice.Quantity, Amount = productPrice.SellingPrice * saleDetailItem.Quantity.Value }; SaleDetailList.Add(saleDetailExtn); SetSaleDetailExtn(productPrice, saleDetailExtn, 0); tempTotalAmount += productPrice.SellingPrice * saleDetailItem.Quantity.Value; } TotalAmount = tempTotalAmount; Title = "Unsaved data "; RMSEntitiesHelper.Instance.AddNotifier(this); RMSEntitiesHelper.Instance.SelectRunningBillNo(_categoryId); }
public void SetProductDetails(ProductPrice productPrice, int selectedIndex) { if (productPrice == null) { return; } var saleItem = SaleDetailList.FirstOrDefault(s => s.ProductId == productPrice.ProductId && s.PriceId == productPrice.PriceId); var selRowSaleDetailExtn = SaleDetailList[selectedIndex]; //if (saleItem !=null) //{ // Utility.ShowWarningBox("Item is already added"); // selRowSaleDetailExtn.ProductId = 0; // return; //} SetSaleDetailExtn(productPrice, selRowSaleDetailExtn, selectedIndex); }
private void SetSaleDetailExtn(ProductPrice productPrice, SaleDetailExtn SaleDetailExtn, int selectedIndex) { if (SaleDetailExtn != null) { SaleDetailExtn.SellingPrice = productPrice.SellingPrice; SaleDetailExtn.CostPrice = productPrice.Price; SaleDetailExtn.PriceId = productPrice.PriceId; SaleDetailExtn.AvailableStock = productPrice.Quantity; SaleDetailExtn.SerialNo = selectedIndex; //var customerSales = RMSEntitiesHelper.Instance.RMSEntities.Sales.Where(s => s.CustomerId == _selectedCustomer.Id);//.OrderByDescending(d => d.ModifiedOn); var lastSoldPrice = RMSEntitiesHelper.Instance.GetLastSoldPrice(productPrice.ProductId, _selectedCustomer.Id); if (lastSoldPrice != null) { //var lastSaleDetail = customerSales. SaleDetails.Where(p => p.ProductId == productPrice.ProductId).OrderByDescending(d => d.ModifiedOn); //var lastSaleDetail1 = customerSales.SaleDetails.Where(p => p.ProductId == productPrice.ProductId); ////var lastSoldPrice = lastSaleDetail != null ? lastSaleDetail.SellingPrice : 0; SaleDetailExtn.LastSoldPrice = lastSoldPrice; } //if (lastSoldDateByCustomer.Any()) //{ // var lastSaleDetail = lastSoldDateByCustomer.FirstOrDefault().SaleDetails.Where(sd => sd.ProductId == productPrice.ProductId).FirstOrDefault(); // var lastSoldPrice = lastSaleDetail != null ? lastSaleDetail.SellingPrice : 0; // SaleDetailExtn.LastSoldPrice = lastSoldPrice; //} SaleDetailExtn.PropertyChanged += (sender, e) => { var prop = e.PropertyName; if (prop == Constants.AMOUNT) { TotalAmount = SaleDetailList.Sum(a => a.Amount); return; } var amount = SaleDetailExtn.SellingPrice * SaleDetailExtn.Qty; var discountAmount = SaleDetailExtn.DiscountPercentage != 0 ? amount - (amount * (SaleDetailExtn.DiscountPercentage / 100)) : SaleDetailExtn.DiscountAmount != 0 ? amount - SaleDetailExtn.DiscountAmount : 0; if (discountAmount != 0) { SaleDetailExtn.Amount = discountAmount; SaleDetailExtn.Discount = amount - discountAmount; return; } SaleDetailExtn.Amount = amount; SaleDetailExtn.Discount = 0; }; //&& SaleDetailExtn.AvailableStock > //SaleDetailExtn.Qty.Value SaleDetailExtn.Qty = SaleDetailExtn.Qty.HasValue ? SaleDetailExtn.Qty.Value : 1; } }
private void OnEditBill(int?billNo) { if (billNo == null) { throw new ArgumentNullException("Please enter a bill no"); } var runningBillNo = billNo.Value; _billSales = RMSEntitiesHelper.Instance.RMSEntities.Sales.Where(b => b.RunningBillNo == runningBillNo && b.CustomerId == _salesParams.CustomerId).FirstOrDefault(); SelectedCustomer = _billSales.Customer; SelectedCustomerText = SelectedCustomer.Name; TranscationDate = _billSales.AddedOn.Value; SelectedPaymentId = char.Parse(_billSales.PaymentMode); OrderNo = _billSales.CustomerOrderNo; TotalDiscountAmount = _billSales.Discount; //var transport = _billSales.TransportCharges; //_extensions.SetValues var saleDetailsForBill = RMSEntitiesHelper.Instance.RMSEntities.SaleDetails.Where(b => b.BillId == _billSales.BillId); var tempTotalAmount = 0.0M; var priceIdParam = new MySql.Data.MySqlClient.MySqlParameter("priceId", MySql.Data.MySqlClient.MySqlDbType.Int32); foreach (var saleDetailItem in saleDetailsForBill.ToList()) { priceIdParam.Value = saleDetailItem.PriceId; //var productPrice = RMSEntitiesHelper.Instance.RMSEntities.Database.SqlQuery<ProductPrice> // ("CALL GetProductPriceForPriceId(@priceId)", priceIdParam).FirstOrDefault(); var productPrice = _productsPriceList.FirstOrDefault(p => p.PriceId == saleDetailItem.PriceId); var discount = saleDetailItem.Discount.HasValue ? saleDetailItem.Discount.Value : 0.00M; var saleDetailExtn = new SaleDetailExtn() { DiscountAmount = discount, PriceId = saleDetailItem.PriceId, ProductId = saleDetailItem.ProductId, Qty = saleDetailItem.Qty, OriginalQty = saleDetailItem.Qty, SellingPrice = saleDetailItem.SellingPrice, BillId = saleDetailItem.BillId, CostPrice = productPrice.Price, AvailableStock = productPrice.Quantity, Amount = (productPrice.SellingPrice * saleDetailItem.Qty) - discount }; SaleDetailList.Add(saleDetailExtn); SetSaleDetailExtn(productPrice, saleDetailExtn, 0); tempTotalAmount += productPrice.SellingPrice * saleDetailItem.Qty.Value; } TotalAmount = tempTotalAmount; RunningBillNo = runningBillNo; _isEditMode = true; if (_deletedItems == null) { _deletedItems = new List <SaleDetailExtn>(); } else { _deletedItems.Clear(); } }