private void PrintonDrop(IList<UndeclaredCollectionRecord> collectionRecords, string userName)
        {
            // DataSet DeclarationPrint = CollectionExtensions.ToDataSet<UndeclaredCollectionRecord>(((IEnumerable<UndeclaredCollectionRecord>)Source), "DeclarationPrint");

            int batchNo = 0;
            int nMachineCount = 0;
            string sDropType = string.Empty;
            var lineHeader = new DataTable();
            var lineItem = new DataTable("DeclarationPrint");
            var isFirstRecord = true;
            ILiquidationDetails details = LiquidationBusinessObject.CreateInstance();
            bool bSGVIEnable = false;
            string sAutoTicketDeclare = string.Empty;

            lineHeader.Columns.Add("Date");
            lineHeader.Columns.Add("DropNo");
            lineHeader.Columns.Add("NoOfMachine");
            lineHeader.Columns.Add("user");

            lineHeader.Columns.Add("Bills");
            lineHeader.Columns.Add("CoinsIn");
            lineHeader.Columns.Add("TicketsIn");
            lineHeader.Columns.Add("EFTIn");
            lineHeader.Columns.Add("TotalCashIn");

            lineHeader.Columns.Add("TicketsOut");
            lineHeader.Columns.Add("EFTOut");
            lineHeader.Columns.Add("CancelledCredits");
            lineHeader.Columns.Add("Jackpots");
            lineHeader.Columns.Add("CoinsOut");
            lineHeader.Columns.Add("TotalCashOut");


            lineHeader.Columns.Add("Asset");
            lineHeader.Columns.Add("Pos");
            //lineHeader.Columns.Add("NetWin");

            lineItem.Columns.Add("Asset", typeof(string));
            lineItem.Columns.Add("Pos", typeof(string));

            lineItem.Columns.Add("Bills", typeof(decimal));
            lineItem.Columns.Add("CoinsIn", typeof(decimal));
            lineItem.Columns.Add("TicketsIn", typeof(decimal));
            lineItem.Columns.Add("EFTIn", typeof(decimal));
            lineItem.Columns.Add("TotalCashIn", typeof(decimal));


            lineItem.Columns.Add("TicketsOut");
            //lineItem.Columns.Add("EFTOut");
            lineItem.Columns.Add("CancelledCredits", typeof(decimal));
            //lineItem.Columns.Add("Jackpots");
            //lineItem.Columns.Add("CoinsOut"); 
            //lineItem.Columns.Add("TotalCashOut");

            //lineItem.Columns.Add("NetWin");

            try
            {
                batchNo = _batchnumberfordropPrint;
                nMachineCount = collectionRecords.Count - 1;
                bSGVIEnable = (Convert.ToBoolean(details.GetSetting("SGVI_Enabled")) && (details.GetSetting("Client") == "SGVI"));
                sAutoTicketDeclare = Convert.ToString(details.GetSetting("TicketDeclarationMethod"));

                foreach (var collectionRecord in collectionRecords)
                {
                    //var dr = isFirstRecord ? lineHeader.NewRow() : lineItem.NewRow();
                    //if (isFirstRecord) { isFirstRecord = false; 

                    //                     continue;
                    //}
                    var dr = lineItem.NewRow();
                    sDropType = collectionRecord.Type == "defloat" ? "Final" : "Standard";
                    dr["Bills"] = collectionRecord.TotalBillValue;
                    dr["CoinsIn"] = collectionRecord.TotalCoinsValue;
                    dr["TicketsIn"] = collectionRecord.TicketsInValue;
                    dr["EFTIn"] = collectionRecord.EFTInValue;
                    dr["TotalCashIn"] = (collectionRecord.TotalBillValue + collectionRecord.TotalCoinsValue + collectionRecord.TicketsInValue);
                    //dr["TotalCashIn"] = (collectionRecord.TotalBillValue + collectionRecord.TotalCoinsValue + collectionRecord.TicketsInValue)+ collectionRecord.EFTInValue);


                    if (bSGVIEnable)
                    {
                        dr["TicketsOut"] = collectionRecord.TicketsOutValue;// + collectionRecord.ShortPayValue);
                        dr["CancelledCredits"] = collectionRecord.AttendantPayValue;
                    }
                    else
                    {
                        if (sAutoTicketDeclare.ToUpper() == "AUTO")
                            dr["TicketsOut"] = collectionRecord.TicketsOutValue;
                        else
                            dr["TicketsOut"] = (collectionRecord.TicketsOutValue + collectionRecord.ShortPayValue);
                        dr["CancelledCredits"] = collectionRecord.AttendantPayValue + collectionRecord.JackpotValue;
                    }
                    //dr["Jackpots"] = collectionRecord.Jackpot;
                    //dr["CoinsOut"] = ((decimal)collectionRecord.CoinOutValue).GetUniversalCurrencyFormatWithSymbol(); 
                    //dr["EFTOut"] = ((decimal)0).GetUniversalCurrencyFormatWithSymbol();
                    //dr["TotalCashOut"] = (collectionRecord.TicketsOutValue + collectionRecord.ShortPayValue + collectionRecord.HandpayValue + collectionRecord.JackpotValue + collectionRecord.CoinOutValue).GetUniversalCurrencyFormatWithSymbol();

                    //dr["NetWin"] = ((collectionRecord.TotalBillValue + collectionRecord.TotalCoinsValue + collectionRecord.TicketsInValue + collectionRecord.EFTInValue)
                    //    - (collectionRecord.TicketsOutValue + collectionRecord.HandpayValue + collectionRecord.JackpotValue + collectionRecord.ShortPayValue + collectionRecord.CoinOutValue)).GetUniversalCurrencyFormatWithSymbol();

                    //if (isFirstRecord)
                    //{
                    //    dr["Date"] = DateTime.Now.GetUniversalDateFormat();

                    //    dr["DropNo"] = collectionRecords[1].CollectionBatchNo == 0
                    //                       ? (object)"Interm Collection"
                    //                       : collectionRecords[1].CollectionBatchNo;

                    //    dr["NoOfMachine"] = collectionRecords.Count - 1;
                    //    dr["user"] = userName;
                    //    lineHeader.Rows.Add(dr);
                    //}
                    //else
                    //{
                    dr["Asset"] = collectionRecord.AssetNo;
                    dr["Pos"] = collectionRecord.Position;
                    lineItem.Rows.Add(dr);
                    // }
                    isFirstRecord = false;

                }

                DataSet DSDeclaration = new DataSet("DeclarationPrint");
                DSDeclaration.Tables.Add(lineItem);

                IReports objReports = ReportsBusinessObject.CreateInstance();

                if (DSDeclaration.Tables[0].Rows.Count == 0)
                {
                    MessageBox.ShowBox("MessageID261", BMC_Icon.Information);
                    return;
                }

                using (CReportViewer cReportViewer = new CReportViewer())
                {
                    cReportViewer.DropSummaryReport(DSDeclaration, userName, batchNo, nMachineCount, sDropType);
                    cReportViewer.SetOwner(Window.GetWindow(this));
                    cReportViewer.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                MessageBox.ShowBox("MessageID262", BMC_Icon.Error);
            }

        }