private System.Data.DataRow setCurrentRowItemDetails(System.Data.DataRow dr, Data.SalesTransactionItemDetails Details) { try { //21Jul2013 Add Parking rate if parking if (mclsTerminalDetails.IsParkingTerminal) { Data.ParkingRates clsParkingRate = new Data.ParkingRates(mConnection, mTransaction); mConnection = clsParkingRate.Connection; mTransaction = clsParkingRate.Transaction; Data.ParkingRateDetails clsParkingRateDetails = clsParkingRate.Details(Details.ProductID, mclsSalesTransactionDetails.TransactionDate.ToString("dddd")); if (clsParkingRateDetails.ParkingRateID != 0) { //compute the parking rate Int32 intTotalNoOfMinutes = mclsSalesTransactionDetails.DateResumed == DateTime.MinValue ? 0 : (Int32)(mclsSalesTransactionDetails.DateResumed - mclsSalesTransactionDetails.TransactionDate).TotalMinutes; decimal decParkingPrice = Details.Price; if (intTotalNoOfMinutes <= clsParkingRateDetails.MinimumStayInMin) { Details.Price = clsParkingRateDetails.MinimumStayPrice; Details.Description += Environment.NewLine + "TotalNoOfMinutes".PadRight(15) + ":" + intTotalNoOfMinutes.ToString("#,##0") + " @ " + clsParkingRateDetails.MinimumStayPrice.ToString("#,##0.#0") + " / " + clsParkingRateDetails.MinimumStayInMin.ToString("#,##0"); } else { decParkingPrice = clsParkingRateDetails.MinimumStayPrice + (intTotalNoOfMinutes - clsParkingRateDetails.MinimumStayInMin) / clsParkingRateDetails.NoOfUnitperMin * clsParkingRateDetails.PerUnitPrice; Details.Description += Environment.NewLine + "TotalNoOfMinutes".PadRight(15) + ":" + intTotalNoOfMinutes.ToString("#,##0") + " First " + clsParkingRateDetails.MinimumStayInMin.ToString("#,##0") + " @ " + clsParkingRateDetails.MinimumStayPrice.ToString("#,##0.#0") + " SuccNoOfUnit: " + (intTotalNoOfMinutes - clsParkingRateDetails.MinimumStayInMin).ToString("#,##0") + "/" + clsParkingRateDetails.NoOfUnitperMin.ToString("#,##0") + " * " + clsParkingRateDetails.PerUnitPrice.ToString("#,##0.#0"); } Details.Price = decParkingPrice; Details.Amount = decParkingPrice; } } if (Details.DiscountCode == mclsTerminalDetails.SeniorCitizenDiscountCode && Details.ItemDiscountType == DiscountTypes.Percentage) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + "% " + Details.DiscountCode; } else if (Details.DiscountCode == mclsTerminalDetails.SeniorCitizenDiscountCode && Details.ItemDiscountType == DiscountTypes.FixedValue) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + " " + Details.DiscountCode; } else if (Details.DiscountCode == Constants.C_DISCOUNT_CODE_FREE && Details.ItemDiscountType == DiscountTypes.FixedValue) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + " FREE"; } else if (Details.DiscountCode == Constants.C_DISCOUNT_CODE_FREE && Details.ItemDiscountType == DiscountTypes.Percentage) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + "% FREE"; } else if (Details.ItemDiscountType == DiscountTypes.FixedValue) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + " disc"; } else if (Details.ItemDiscountType == DiscountTypes.Percentage) { Details.Description = Details.Description + Environment.NewLine + "@ " + Details.ItemDiscount.ToString("###,##0.#0") + " % disc"; } if (Details.PromoApplied != 0) { if (Details.PromoType == PromoTypes.PercentOffAfterQtyReached) Details.Description = Details.Description + Environment.NewLine + "@ (" + Details.PromoValue.ToString("##0") + "%) " + Details.PromoApplied.ToString("###,##0.#0") + " promo"; else Details.Description = Details.Description + Environment.NewLine + "@ " + Details.PromoApplied.ToString("###,##0.#0") + " promo"; } if (ItemDataTable.Rows.Count + 1 > 8) dgStyle.GridColumnStyles["Amount"].Width = 85; else dgStyle.GridColumnStyles["Amount"].Width = 95; dr["TransactionItemsID"] = Details.TransactionItemsID; dr["ItemNo"] = Details.ItemNo; dr["ProductID"] = Details.ProductID; dr["ProductCode"] = Details.ProductCode; dr["BarCode"] = Details.BarCode; dr["Description"] = Details.Description; dr["ProductUnitID"] = Details.ProductUnitID; dr["ProductUnitCode"] = Details.ProductUnitCode; dr["Quantity"] = Details.Quantity.ToString("###,##0.##"); //8 dr["Price"] = Details.Price.ToString("###,##0.#0"); //9 dr["Discount"] = Details.Discount.ToString("###,##0.#0"); //10 dr["ItemDiscount"] = Details.ItemDiscount.ToString("###,##0.#0");//11 dr["ItemDiscountType"] = Details.ItemDiscountType.ToString("d");//12 dr["Amount"] = Details.Amount.ToString("###,##0.#0"); //13 dr["VAT"] = Details.VAT.ToString("###,##0.#0"); //14 dr["EVAT"] = Details.EVAT.ToString("###,##0.#0"); //15 dr["LocalTax"] = Details.LocalTax.ToString("###,##0.#0"); //16 dr["VariationsMatrixID"] = Details.VariationsMatrixID; //17 dr["MatrixDescription"] = Details.MatrixDescription; //18 dr["ProductGroup"] = Details.ProductGroup; //19 dr["ProductSubGroup"] = Details.ProductSubGroup; //20 dr["TransactionItemStat"] = Details.TransactionItemStatus.ToString("d"); //21 dr["DiscountCode"] = Details.DiscountCode; //22 dr["DiscountRemarks"] = Details.DiscountRemarks; //23 dr["ProductPackageID"] = Details.ProductPackageID; //24 dr["MatrixPackageID"] = Details.MatrixPackageID; //25 dr["PackageQuantity"] = Details.PackageQuantity; //26 dr["PromoQuantity"] = Details.PromoQuantity; //27 dr["PromoValue"] = Details.PromoValue; //28 dr["PromoInPercent"] = Details.PromoInPercent; //29 dr["PromoType"] = Details.PromoType; //30 dr["PromoApplied"] = Details.PromoApplied; //31 dr["PurchasePrice"] = Details.PurchasePrice; //32 dr["PurchaseAmount"] = Details.PurchaseAmount; //33 dr["IncludeInSubtotalDiscount"] = Details.IncludeInSubtotalDiscount; //34 dr["IsCreditChargeExcluded"] = Details.IsCreditChargeExcluded; //35 dr["OrderSlipPrinter1"] = Details.OrderSlipPrinter1; //36 dr["OrderSlipPrinter2"] = Details.OrderSlipPrinter2; //37 dr["OrderSlipPrinter3"] = Details.OrderSlipPrinter3; //38 dr["OrderSlipPrinter4"] = Details.OrderSlipPrinter4; //39 dr["OrderSlipPrinter5"] = Details.OrderSlipPrinter5; //40 dr["OrderSlipPrinted"] = Details.OrderSlipPrinted.ToString(); //41 dr["PercentageCommision"] = Details.PercentageCommision; //42 dr["Commision"] = Details.Amount * (Details.PercentageCommision / 100); //43 dr["RewardPoints"] = Details.RewardPoints; //44 dr["ItemRemarks"] = Details.ItemRemarks; //45 dr["PaxNo"] = Details.PaxNo; //46 dr["ReturnTransactionItemsID"] = Details.ReturnTransactionItemsID; //47 dr["SupplierID"] = Details.SupplierID; //48 dr["SupplierCode"] = Details.SupplierCode; //49 dr["SupplierName"] = Details.SupplierName; //50 // 21May2015 : do an override for 3 digits wighted if (mclsSysConfigDetails.WeightMeasurement.IndexOf(Details.ProductUnitCode.ToUpper()) > -1) dr["Quantity"] = Details.Quantity.ToString("###,##0.###"); //8 if (Details.TransactionItemStatus == TransactionItemStatus.Void) { dr["Quantity"] = "VOID"; dr["Price"] = "0.00"; dr["Discount"] = "0.00"; dr["Amount"] = "0.00"; dr["VAT"] = "0.00"; dr["EVAT"] = "0.00"; dr["LocalTax"] = "0.00"; dr["PromoApplied"] = "0.00"; dr["PercentageCommision"] = "0.00"; dr["Commision"] = "0.00"; dr["RewardPoints"] = "0.00"; } else if (Details.TransactionItemStatus == TransactionItemStatus.Return) { dr["Quantity"] = Details.Quantity.ToString("#,##0.##") + " - RETURN"; if (Details.Amount < 0) { dr["Amount"] = Convert.ToDecimal(-Details.Amount).ToString("###,##0.#0"); dr["PercentageCommision"] = -Details.PercentageCommision; dr["Commision"] = Convert.ToDecimal(Convert.ToDecimal(dr["Commision"]) * -1).ToString("###,##0.#0"); dr["RewardPoints"] = Convert.ToDecimal(Convert.ToDecimal(dr["RewardPoints"]) * -1).ToString("###,##0.#0"); } // 21May2015 : do an override for 3 digits wighted if (mclsSysConfigDetails.WeightMeasurement.IndexOf(Details.ProductUnitCode.ToUpper()) > -1) dr["Quantity"] = Details.Quantity.ToString("#,##0.###") + " - RETURN"; } else if (Details.TransactionItemStatus == TransactionItemStatus.Demo) { dr["Quantity"] = Details.Quantity.ToString("#,##0.##") + " - DEMO"; dr["Price"] = "0.00"; dr["Discount"] = "0.00"; dr["Amount"] = "0.00"; dr["VAT"] = "0.00"; dr["EVAT"] = "0.00"; dr["LocalTax"] = "0.00"; dr["PromoApplied"] = "0.00"; dr["PercentageCommision"] = "0.00"; dr["Commision"] = "0.00"; dr["RewardPoints"] = "0.00"; // 21May2015 : do an override for 3 digits wighted if (mclsSysConfigDetails.WeightMeasurement.IndexOf(Details.ProductUnitCode.ToUpper()) > -1) dr["Quantity"] = Details.Quantity.ToString("#,##0.###") + " - DEMO"; } if (ItemDataTable.Rows.Count + 1 > 8) dgStyle.GridColumnStyles["Amount"].Width = 80; else dgStyle.GridColumnStyles["Amount"].Width = 90; return dr; } catch (Exception ex) { InsertErrorLogToFile(ex, "ERROR!!! Setting current row item details. TRACE: "); return dr; } }
private void ReadBarCode() { DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.CreateTransaction); if (loginresult == DialogResult.OK) { if (!string.IsNullOrEmpty(txtBarCode.Text.Trim())) { string stBarcode = txtBarCode.Text.Trim(); decimal decQuantity = 1; // 21Jul2013 : Check if parking ticket and has already an item. if (mclsTerminalDetails.IsParkingTerminal && ItemDataTable.Rows.Count > 1) { txtBarCode.Text = ""; MessageBox.Show("Sorry you can only park 1 vehicle per transaction. ", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // 18Feb2016 : Do not allow consignment if items > 1 and AllowMoreThan1ItemIfConsignment is FALSE if (mclsSalesTransactionDetails.isConsignment && !mclsSysConfigDetails.AllowMoreThan1ItemIfConsignment && ItemDataTable.Rows.Count >= 1) { txtBarCode.Text = ""; MessageBox.Show("Sorry you cannot tag this transaction is CONSIGNMENT. You are only allowed to consign 1 item, per transaction.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (stBarcode.EndsWith("*")) { MessageBox.Show("Sorry please scan the item after the quantity before you press the enter key.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (stBarcode.IndexOf("*") > -1) { try { decQuantity = Convert.ToDecimal(stBarcode.Substring(0, stBarcode.IndexOf("*")).Trim()); stBarcode = stBarcode.Substring(stBarcode.IndexOf("*") + 1, stBarcode.Length - (stBarcode.IndexOf("*") + 1)); } catch { MessageBox.Show("Sorry the quantity you entered is not valid. Please enter a valid quantity to purchase.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } Data.ProductPackage clsProductPackage = new Data.ProductPackage(mConnection, mTransaction); mConnection = clsProductPackage.Connection; mTransaction = clsProductPackage.Transaction; Data.Products clsProduct = new Data.Products(mConnection, mTransaction); mConnection = clsProduct.Connection; mTransaction = clsProduct.Transaction; Data.ProductPackageDetails clsProductPackageDetails = new Data.ProductPackageDetails(); Data.ProductDetails clsProductDetails = new Data.ProductDetails(); if (ProductModel.PackageID != 0) //PackageID is not zero if selection is used. { clsProductPackageDetails = clsProductPackage.Details(ProductModel.PackageID); clsProductDetails = clsProduct.Details(clsProductPackageDetails.ProductID, clsProductPackageDetails.MatrixID, mclsTerminalDetails.BranchID); } else //PackageID is zero if selection is not used. { // check if the product exist and with quantity clsProductDetails = clsProduct.Details(mclsTerminalDetails.BranchID, stBarcode, mclsTerminalDetails.ShowItemMoreThanZeroQty, decQuantity); // check if the product exist and zero quantity if (clsProductDetails.ProductID == 0) clsProductDetails = clsProduct.Details(stBarcode, mclsTerminalDetails.BranchID); // check if the product is weighted if (clsProductDetails.ProductID == 0) { if (stBarcode.Length == 12) stBarcode = "0" + stBarcode; if (stBarcode.Length > Data.Products.DEFAULT_WEIGHTED_BARCODE_CHARACTER_COUNT + 1) { clsProductDetails = clsProduct.Details(mclsTerminalDetails.BranchID, stBarcode.Remove(Data.Products.DEFAULT_WEIGHTED_BARCODE_CHARACTER_COUNT)); if (clsProductDetails.ProductID != 0) { decQuantity = (decimal.Parse(stBarcode.Remove(stBarcode.Length - 1).Remove(1, Data.Products.DEFAULT_WEIGHTED_BARCODE_CHARACTER_COUNT)) / 100) / clsProductDetails.Price; } } } // 16Apr2015 : Add a new logic for the new weighing machine // if (stBarcode.Length == 11) stBarcode = stBarcode.Remove(stBarcode.Length - 1); // get the package details if (clsProductDetails.ProductID != 0) clsProductPackageDetails = clsProductPackage.Details(clsProductDetails.PackageID); } txtBarCode.Text = ""; ProductModel.Clear(); if (clsProductDetails.ProductID != 0) { // 06Mar2015 : Override the price base on the Price Level if (mclsSysConfigDetails.EnablePriceLevel) { switch (mclsContactDetails.PriceLevel) { case PriceLevel.SRP: clsProductDetails.Price = clsProductPackageDetails.Price; break; case PriceLevel.One: clsProductDetails.Price = clsProductPackageDetails.Price1 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price1; break; case PriceLevel.Two: clsProductDetails.Price = clsProductPackageDetails.Price2 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price2; break; case PriceLevel.Three: clsProductDetails.Price = clsProductPackageDetails.Price3 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price3; break; case PriceLevel.Four: clsProductDetails.Price = clsProductPackageDetails.Price4 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price4; break; case PriceLevel.Five: clsProductDetails.Price = clsProductPackageDetails.Price5 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price5; break; case PriceLevel.WSPrice: clsProductDetails.Price = clsProductPackageDetails.WSPrice == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.WSPrice; break; default: clsProductDetails.Price = clsProductPackageDetails.Price; break; } } // 21Jul2013 Include getting of rates for parking if (mclsTerminalDetails.IsParkingTerminal) { Data.ParkingRates clsParkingRate = new Data.ParkingRates(mConnection, mTransaction); mConnection = clsParkingRate.Connection; mTransaction = clsParkingRate.Transaction; Data.ParkingRateDetails clsParkingRateDetails = clsParkingRate.Details(clsProductDetails.ProductID, DateTime.Now.ToString("dddd")); if (clsParkingRateDetails.ParkingRateID != 0) { clsProductDetails.Price = clsParkingRateDetails.MinimumStayPrice; } } if (lblCustomer.Text.Trim().ToUpper() != Constants.C_RETAILPLUS_ORDER_SLIP_CUSTOMER && !mboIsRefund && clsProductDetails.Quantity - clsProductDetails.ReservedQuantity < decQuantity && mclsTerminalDetails.ShowItemMoreThanZeroQty && clsProductDetails.BarCode != Data.Products.DEFAULT_CREDIT_PAYMENT_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_ADVANTAGE_CARD_MEMBERSHIP_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_ADVANTAGE_CARD_RENEWAL_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_ADVANTAGE_CARD_REPLACEMENT_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_CREDIT_CARD_MEMBERSHIP_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_CREDIT_CARD_RENEWAL_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_SUPER_CARD_MEMBERSHIP_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_SUPER_CARD_RENEWAL_FEE_BARCODE && clsProductDetails.BarCode != Data.Products.DEFAULT_SUPER_CARD_REPLACEMENT_FEE_BARCODE) { if (clsProductDetails.Quantity >= decQuantity) { clsProductPackage.CommitAndDispose(); MessageBox.Show("Sorry the quantity you entered is already reserved. Current Stock: " + clsProductDetails.Quantity.ToString("#,##0.#0") + " Reserved Stock: " + clsProductDetails.ReservedQuantity.ToString("#,##0.#0"), "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { clsProductPackage.CommitAndDispose(); MessageBox.Show("Sorry the quantity you entered is greater than the current stock. " + Environment.NewLine + "Current Stock: " + clsProductDetails.Quantity.ToString("#,##0.#0"), "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (clsProductDetails.IsLock) { clsProductPackage.CommitAndDispose(); MessageBox.Show("Sorry this product is currently LOCKED for inventory. Please advise the inventory officer if you really want to sell this product.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Data.SalesTransactionItemDetails clsItemDetails = new Data.SalesTransactionItemDetails(); clsItemDetails.ProductID = clsProductDetails.ProductID; clsItemDetails.ProductCode = clsProductDetails.ProductCode; clsItemDetails.BarCode = clsProductDetails.BarCode; clsItemDetails.Description = clsProductDetails.ProductDesc; clsItemDetails.ProductGroupID = clsProductDetails.ProductGroupID; clsItemDetails.ProductSubGroupID = clsProductDetails.ProductSubGroupID; clsItemDetails.ProductGroup = clsProductDetails.ProductGroupName; clsItemDetails.ProductSubGroup = clsProductDetails.ProductSubGroupName; clsItemDetails.TransactionItemStatus = TransactionItemStatus.Valid; clsItemDetails.ProductUnitID = clsProductDetails.BaseUnitID; clsItemDetails.ProductUnitCode = clsProductDetails.BaseUnitCode; clsItemDetails.Quantity = decQuantity; clsItemDetails.Price = clsProductDetails.Price; clsItemDetails.Discount = 0; clsItemDetails.ItemDiscount = 0; clsItemDetails.ItemDiscountType = DiscountTypes.NotApplicable; clsItemDetails.Amount = (clsItemDetails.Quantity * clsItemDetails.Price) - (clsItemDetails.Quantity * clsItemDetails.Discount); clsItemDetails.VAT = clsProductDetails.VAT; clsItemDetails.EVAT = clsProductDetails.EVAT; clsItemDetails.LocalTax = clsProductDetails.LocalTax; clsItemDetails.TransactionItemStatus = TransactionItemStatus.Valid; clsItemDetails.PurchasePrice = clsProductDetails.PurchasePrice; clsItemDetails.PurchaseAmount = clsItemDetails.Quantity * clsItemDetails.PurchasePrice; clsItemDetails.IncludeInSubtotalDiscount = clsProductDetails.IncludeInSubtotalDiscount; clsItemDetails.IsCreditChargeExcluded = clsProductDetails.IsCreditChargeExcluded; clsItemDetails.OrderSlipPrinter1 = clsProductDetails.OrderSlipPrinter1; clsItemDetails.OrderSlipPrinter2 = clsProductDetails.OrderSlipPrinter2; clsItemDetails.OrderSlipPrinter3 = clsProductDetails.OrderSlipPrinter3; clsItemDetails.OrderSlipPrinter4 = clsProductDetails.OrderSlipPrinter4; clsItemDetails.OrderSlipPrinter5 = clsProductDetails.OrderSlipPrinter5; clsItemDetails.OrderSlipPrinted = false; clsItemDetails.PercentageCommision = clsProductDetails.PercentageCommision; clsItemDetails.Commision = clsItemDetails.Amount * (clsItemDetails.PercentageCommision / 100); clsItemDetails.RewardPoints = clsProductDetails.RewardPoints; clsItemDetails.ItemRemarks = ""; clsItemDetails.ReturnTransactionItemsID = 0; clsItemDetails.SupplierID = clsProductDetails.SupplierID; clsItemDetails.SupplierCode = clsProductDetails.SupplierCode; clsItemDetails.SupplierName = clsProductDetails.SupplierName; clsItemDetails.ProductPackageID = clsProductPackageDetails.PackageID; clsItemDetails.ProductUnitID = clsProductPackageDetails.UnitID; clsItemDetails.ProductUnitCode = clsProductPackageDetails.UnitCode; if (!mclsTerminalDetails.IsParkingTerminal) { // 06Mar2015 : Override the price base on the Price Level if (mclsSysConfigDetails.EnablePriceLevel) { switch (mclsContactDetails.PriceLevel) { case PriceLevel.SRP: clsItemDetails.Price = clsProductPackageDetails.Price; break; case PriceLevel.One: clsItemDetails.Price = clsProductPackageDetails.Price1 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price1; break; case PriceLevel.Two: clsItemDetails.Price = clsProductPackageDetails.Price2 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price2; break; case PriceLevel.Three: clsItemDetails.Price = clsProductPackageDetails.Price3 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price3; break; case PriceLevel.Four: clsItemDetails.Price = clsProductPackageDetails.Price4 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price4; break; case PriceLevel.Five: clsItemDetails.Price = clsProductPackageDetails.Price5 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price5; break; case PriceLevel.WSPrice: clsItemDetails.Price = clsProductPackageDetails.WSPrice == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.WSPrice; break; default: clsItemDetails.Price = clsProductPackageDetails.Price; break; } if (mclsContactDetails.PriceLevel != PriceLevel.SRP) { InsertAuditLog(AccessTypes.ChangePrice, "Barcode: " + clsItemDetails.BarCode + " ... Product Code:" + clsItemDetails.ProductCode + " ... Price Level:" + mclsContactDetails.PriceLevel.ToString("G") + "... SRP: " + clsProductPackageDetails.Price.ToString("#,###.#0") + " NewPrice: " + clsItemDetails.Price.ToString("#,###.#0")); } } clsItemDetails.PackageQuantity = clsProductPackageDetails.Quantity; clsItemDetails.Amount = (clsItemDetails.Quantity * clsItemDetails.Price) - (clsItemDetails.Quantity * clsItemDetails.Discount); clsItemDetails.Commision = clsItemDetails.Amount * (clsItemDetails.PercentageCommision / 100); } clsItemDetails.MatrixPackageID = clsProductPackageDetails.MatrixID; clsItemDetails.VariationsMatrixID = clsProductDetails.MatrixID; clsItemDetails.MatrixDescription = clsProductDetails.MatrixDescription; clsItemDetails = ComputeItemTotal(clsItemDetails); // set the grossales, vat, discounts, etc.(Details); if (!mboIsInTransaction) { lblTransDate.Text = DateTime.Now.ToString("MMM. dd, yyyy hh:mm:ss tt"); if (!this.CreateTransaction()) { clsProductPackage.CommitAndDispose(); return; } } AddItem(clsItemDetails); } else { MessageBox.Show("Sorry the item is not yet entered in the system. Please select the generic code for this item.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning); } clsProductPackage.CommitAndDispose(); } } }