Esempio n. 1
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);
        }
Esempio n. 2
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();
            }
        }