Exemplo n.º 1
0
 private void SetSaleDetailItem(SaleDetailExtn saleDetailItemExtn, SaleDetail saleDetail)
 {
     saleDetail.Discount     = saleDetailItemExtn.Discount;
     saleDetail.PriceId      = saleDetailItemExtn.PriceId;
     saleDetail.ProductId    = saleDetailItemExtn.ProductId;
     saleDetail.Qty          = saleDetailItemExtn.Qty;
     saleDetail.SellingPrice = saleDetailItemExtn.SellingPrice;
     saleDetail.BillId       = _billSales.BillId;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        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();
            }
        }