Exemple #1
0
        private void setItemAsDemo()
        {
            Data.SalesTransactionItemDetails Details;

            int iRow = dgItems.CurrentRowIndex;

            if (iRow >= 0)
            {
                if (dgItems[iRow, 8].ToString() != "VOID")
                {
                    if (dgItems[iRow, 8].ToString().IndexOf("RETURN") == -1 
                        && dgItems[iRow, 8].ToString().IndexOf("DEMO") == -1)
                    {
                        DialogResult loginresult = GetWriteAccessAndLogin(mclsSalesTransactionDetails.CashierID, AccessTypes.SetItemAsDemo);

                        if (loginresult == DialogResult.OK)
                        {
                            if (MessageBox.Show("Are you sure you want to set this item DEMO?", "RetailPlus", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                            {
                                return;
                            }

                            Details = getCurrentRowItemDetails();
                            clsEvent.AddEvent("[" + lblCashier.Text + "] Setting demo item no. " + Details.ItemNo + "".PadRight(15) + ":" + Details.Description + ".");
                            try
                            {
                                // override the transaction item status
                                TransactionItemStatus _previousTransactionItemStatus = Details.TransactionItemStatus;

                                Details.TransactionItemStatus = TransactionItemStatus.Demo;

                                Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction);
                                mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction;

                                clsSalesTransactions.setItemAsDemo(Details.TransactionItemsID, mclsSalesTransactionDetails.TransactionDate);
                                clsEvent.AddEventLn("Setting demo item #: " + Details.ItemNo + "".PadRight(15) + ":" + Details.Description + ".", true);

                                // 21May2015 :Shouldn't have an effect in the inventory.
                                // it's already punched
                                //ReservedAndCommitItem(Details, _previousTransactionItemStatus);
                                
                                clsSalesTransactions.CommitAndDispose();

                                InsertAuditLog(AccessTypes.VoidItem, "Voiding item #: " + Details.ItemNo + "".PadRight(15) + ":" + Details.Description + "." + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode);

                                dgItems[iRow, 8] = Details.Quantity.ToString("#,##0.##") + " - DEMO";
                                dgItems[iRow, 9] = "0.00";  
                                dgItems[iRow, 10] = "0.00";
                                dgItems[iRow, 11] = "0.00";
                                dgItems[iRow, 13] = "0.00";
                                dgItems[iRow, 14] = "0.00";
                                dgItems[iRow, 15] = "0.00";
                                dgItems[iRow, 16] = "0.00"; 
                                dgItems[iRow, 21] = TransactionItemStatus.Demo.ToString("d");
                                dgItems[iRow, 31] = "0.00"; //PromoApplied
                                dgItems[iRow, 32] = "0.00"; //PurchasePrice
                                dgItems[iRow, 33] = "0.00"; //PurchaseAmount
                                
                                dgItems[iRow, 43] = "0.00"; //PercentageCommision
                                dgItems[iRow, 44] = "0.00"; //Commision
                                dgItems[iRow, 45] = "0.00"; //RewardPoints
                                
                                SetItemDetails();

                                clsEvent.AddEventLn("Done!", true);

                                ComputeSubTotal(); setTotalDetails();

                                try
                                {
                                    DisplayItemToTurretDelegate DisplayItemToTurretDel = new DisplayItemToTurretDelegate(DisplayItemToTurret);
                                    DisplayItemToTurretDel.BeginInvoke("DEMO-" + Details.ProductCode, Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, null, null);
                                }
                                catch { }
                                if (mclsTerminalDetails.AutoPrint == PrintingPreference.Auto)
                                {
                                    PrintItemDelegate PrintItemDel = new PrintItemDelegate(PrintItem);
                                    PrintItemDel.BeginInvoke(Details.ItemNo, Details.ProductCode + " - DEMO ", Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, Details.DiscountCode, Details.ItemDiscountType, null, null);
                                    //PrintItemDel.BeginInvoke(Details.ProductCode + " - VOID ", Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, null, null);
                                }

                            }
                            catch (Exception ex)
                            {
                                InsertErrorLogToFile(ex, "ERROR!!! Setting demo item." + Details.ItemNo + "".PadRight(15) + ":" + Details.Description);
                            }
                        }
                    }
                }
            }
        }