public void PrintCommonReceipt(bool isVoidedTransaction, string Type, string Treasury, IUser autherizedUser)
        {
            CommonUtilities CommonUtilitiesObject = new CommonUtilities();
            CommonUtilitiesObject.currentUser = autherizedUser;
            try
            { 
                switch (Type.ToUpper())
                {
                    case "PROG":
                        Type = "Progressive";
                        break;
                    case "REFILL":
                        Type = "Refills";
                        break;
                    case "REFUND":
                        Type = "Refunds";
                        break;
                    default:
                        break;
                }
                BMC.Common.LogManagement.LogManager.WriteLog("Called PrintCommonReceipt type:treasury" + Type.ToString() + " : " + Treasury.ToString()
                , BMC.Common.LogManagement.LogManager.enumLogLevel.Debug);
                CommonUtilitiesObject.GetCommonValues(isVoidedTransaction, Type, Treasury);

            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }

        }
        public void PrintCommonReceipt(OfflineTicket OfflineTicket, int treasuryNo)
        {
            CommonUtilities CommonUtilitiesObject = new CommonUtilities();

            try
            {
                CommonUtilitiesObject.GetCommonValues(OfflineTicket, treasuryNo);
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
        }
        public void PrintCommonReceipt(Voucher voucher)
        {
            CommonUtilities CommonUtilitiesObject = new CommonUtilities();

            try
            {
                CommonUtilitiesObject.GetCommonValues(voucher);
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
        }
        public void PrintSlip(DataRow drFillDetails, string strFillType)
        {
            ValuetoWords objWords = new ValuetoWords();
            VaultSlipXml xml      = null;

            try
            {
                filename = "Print.txt";
                filepath = System.Windows.Forms.Application.StartupPath + "\\" + filename;
                if (File.Exists(filepath))
                {
                    File.Delete(filepath);
                }
                outputfile = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write);
                writer     = new StreamWriter(outputfile);
                writer.BaseStream.Seek(0, SeekOrigin.End);

                xml = new VaultSlipXml(writer);
                xml.ParseXmlFile();

                ModuleName module = ModuleName.AttendantPay;
                string     Type   = string.Empty;



                //         Header=0,
                //PrintedDate,
                //SiteName,

                //Vault_Name,
                //SerialNo,
                //Manufacturer,
                //Type,
                //Fill_User,
                //FillDate,
                //Initial_Balance,
                //Fill_Amount,
                //CurrentBalance,
                //Signature



                // required values for xml
                string sVersion = CommonDataAccess.GetVersion();
                Double dAmount  = Double.Parse(drFillDetails["FillAmount"].ToString());
                if (dAmount < 0)
                {
                    dAmount = dAmount * -1;
                }
                string AmtInWords = objWords.ConvertValueToWords(dAmount,
                                                                 CommonDataAccess.GetSettingValue("Region") == "US" ? "en-US" :
                                                                 CommonDataAccess.GetSettingValue("Region") == "UK" ? "en-GB" :
                                                                 CommonDataAccess.GetSettingValue("Region") == "IT" ? "it-IT" : "en-US");

                // fill the values
                //xml[VaultSlipXmlFields.Header].Value = "Fill slip";
                xml[VaultSlipXmlFields.PrintedDate].Value = DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss");
                xml[VaultSlipXmlFields.SiteName].Value    = Settings.SiteName;

                xml[VaultSlipXmlFields.Vault_Name].Value   = drFillDetails["Name"].ToString();
                xml[VaultSlipXmlFields.SerialNo].Value     = drFillDetails["Serial_NO"].ToString();
                xml[VaultSlipXmlFields.Manufacturer].Value = drFillDetails["Manufacturer_Name"].ToString();
                xml[VaultSlipXmlFields.Type].Value         = drFillDetails["Type_Prefix"].ToString();

                xml[VaultSlipXmlFields.Fill_User].Value   = SecurityHelper.CurrentUser.DisplayName;
                xml[VaultSlipXmlFields.FillDate].Value    = DateTime.Parse(drFillDetails["CreatedDate"].ToString()).ToString("dd-MMM-yyyy HH:mm:ss");
                xml[VaultSlipXmlFields.Fill_Amount].Value = CommonUtilities.GetCurrency(double.Parse(drFillDetails["FillAmount"].ToString()));

                if (strFillType != string.Empty)
                {
                    xml[VaultSlipXmlFields.Fill_Type].Value = strFillType;
                }

                xml[VaultSlipXmlFields.Initial_Balance].Value = CommonUtilities.GetCurrency(double.Parse(drFillDetails["TotalAmountOnFill"].ToString()));
                xml[VaultSlipXmlFields.CurrentBalance].Value  = CommonUtilities.GetCurrency(double.Parse(drFillDetails["CurrentBalance"].ToString()));
                xml[VaultSlipXmlFields.Signature].Value       = string.Empty;


                xml.Write();
                writer.Close();
                _textSettings = xml.TextSettings;
                PrintSlippage(xml.TextSettings);
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
            finally
            {
                if (xml != null)
                {
                    xml.Dispose();
                    xml = null;
                }
            }
        }
        public void PrintSlip(jackpotProcessInfoDTO jackpot)
        {
            filename = "Print.txt";
            filepath = System.Windows.Forms.Application.StartupPath + "\\" + filename;
            if (File.Exists(filepath))
            {
                File.Delete(filepath);
            }
            outputfile = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write);
            writer     = new StreamWriter(outputfile);
            writer.BaseStream.Seek(0, SeekOrigin.End);

            string Type = string.Empty;

            switch (jackpot.jackpotTypeId)
            {
            case 1:
                Type = "AttendantPay Credit";
                break;

            case 2:
                Type = "AttendantPay Jackpot";
                break;

            case 3:
                Type = "Progressive";
                break;

            case 4:
                Type = "MANUAL CREDIT";
                break;

            case 5:
                Type = "MANUAL JACKPOT";
                break;

            case 6:
                Type = "MANUAL PROGRESSIVE";
                break;

            default:
                Type = "Handpay";
                break;
            }

            dynTableHeader = "";

            string sVersion = CommonDataAccess.GetVersion();

            DoWrite(" Site Name : " + jackpot.siteNo + "                            BMC Version : " + sVersion);

            //   DoWrite(dynTableHeader);
            DoWrite("<LN>");

            //DoWrite(" TYPE OF JACKPOT ");
            //   DoWrite(dynTableHeader);

            DoWrite("");

            DoWrite(" JP TYPE : " + Type);
            //   DoWrite(dynTableHeader);

            DoWrite(" SLOT :" + jackpot.Slot);
            //   DoWrite(dynTableHeader);

            DoWrite(" STAND : " + jackpot.assetConfigNumber);
            //   DoWrite(dynTableHeader);

            DoWrite(" TRANSACTION DATE : " + jackpot.TransactionDate);
            //   DoWrite(dynTableHeader);

            DoWrite(" EMPLOYEE ID : " + jackpot.UserID);
            //   DoWrite(dynTableHeader);

            DoWrite(" EMPLOYEE NAME : " + jackpot.UserName);
            //   DoWrite(dynTableHeader);


            DoWrite(" SITE ID : " + jackpot.siteId);
            //   DoWrite(dynTableHeader);


            DoWrite(" DENOM : " + jackpot.Denom);
            //   DoWrite(dynTableHeader);
            double JAmt = Double.Parse(jackpot.hpjpAmount.ToString()) / 100;

            DoWrite(" ORIGINAL AMT : " + CommonUtilities.GetCurrency(JAmt));
            //   DoWrite(dynTableHeader);

            DoWrite(" ACTUAL AMT : " + CommonUtilities.GetCurrency(JAmt));
            //   DoWrite(dynTableHeader);

            DoWrite(" HP JP AMT : " + CommonUtilities.GetCurrency(JAmt));
            //   DoWrite(dynTableHeader);

            DoWrite(" TOTAL TAX AMT : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" TOTAL JACKPOT AMT : " + CommonUtilities.GetCurrency(JAmt));
            //   DoWrite(dynTableHeader);

            DoWrite(" AMT IN WRITING : " +
                    objWords.ConvertValueToWords(JAmt, CommonDataAccess.GetSettingValue("Region") == "US" ? "en-US" :
                                                 CommonDataAccess.GetSettingValue("Region") == "UK" ? "en-GB" :
                                                 CommonDataAccess.GetSettingValue("Region") == "IT" ? "it-IT" : "en-US"));
            //   DoWrite(dynTableHeader);

            DoWrite(" SHIFT: DAY ");
            //   DoWrite(dynTableHeader);

            DoWrite(" PAYLINE : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" COINS PLAYED : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" WINNING COMBO : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" WINDOW : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" PLAYER CARD : 0000000000 ");
            //   DoWrite(dynTableHeader);

            DoWrite(" PLAYER NAME : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" TOP : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" MIDDLE : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" BOTTOM : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" IN-MTR : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" RESET : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" REEL SYMBOLS : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" KIOSK : " + Environment.MachineName);
            //   DoWrite(dynTableHeader);

            DoWrite(" GAMING DAY : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" AREA : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" SLOT ATTN ID : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" SLOT ATTN NAME : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" FIRST AUTH EMP ID : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" FIRST AUTH EMP NAME : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" SECOND AUTH EMP ID : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" SECOND AUTH EMP NAME : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" PRINTER : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" REGULATORY ID :  ------------------------- ");
            //   DoWrite(dynTableHeader);


            DoWrite(" JP DESCRIPTION : -------------------------");
            //   DoWrite(dynTableHeader);


            DoWrite(" FLOOR PERSON : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" CHANGE PERSON : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" PREPARER : -------------------------");
            //   DoWrite(dynTableHeader);

            DoWrite(" PRINTED DATE : " + DateTime.Now.GetUniversalDateTimeFormat());
            //   DoWrite(dynTableHeader);

            DoWrite(" SEQUENCE NO : " + jackpot.sequenceNumber.ToString());
            //  //   DoWrite(dynTableHeader);
            DoWrite("<LN>");

            writer.Close();
            PrintSlippage();
        }
        public void PrintSlip(jackpotProcessInfoDTO jackpot)
        {
            JackpotXml xml = null;

            try
            {
                filename = "Print.txt";
                filepath = System.Windows.Forms.Application.StartupPath + "\\" + filename;
                if (File.Exists(filepath))
                {
                    File.Delete(filepath);
                }
                outputfile = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write);
                writer     = new StreamWriter(outputfile);
                writer.BaseStream.Seek(0, SeekOrigin.End);

                xml = new JackpotXml(writer);
                xml.ParseXmlFile();

                ModuleName module     = ModuleName.AttendantPay;
                string     Type       = string.Empty;
                string     screenName = Settings.CAGE_ENABLED ? "PrintCageSlip|" : "";
                switch (jackpot.jackpotTypeId)
                {
                case 1:
                    Type        = "AttendantPay Credit";
                    screenName += "AttendantPay Credit";
                    break;

                case 2:
                    Type        = "AttendantPay Jackpot";
                    screenName += "AttendantPay Jackpot";
                    break;

                case 3:
                    Type        = "Progressive";
                    screenName += "Progressive";
                    break;

                case 4:
                    Type        = "MANUAL CREDIT";
                    module      = ModuleName.ManualAttendantPay;
                    screenName += "MANUAL CREDIT";
                    break;

                case 5:
                    Type        = "MANUAL JACKPOT";
                    module      = ModuleName.ManualAttendantPay;
                    screenName += "MANUAL JACKPOT";
                    break;

                case 6:
                    Type        = "MANUAL PROGRESSIVE";
                    module      = ModuleName.ManualAttendantPay;
                    screenName += "MANUAL PROGRESSIVE";
                    break;

                default:
                    Type        = "Handpay";
                    screenName += "Handpay";
                    break;
                }

                // Modified by A.Vinod Kumar at 3:40 PM 17/01/12
                // required values for xml
                string sVersion   = CommonDataAccess.GetVersion();
                double JAmt       = Double.Parse(jackpot.hpjpAmount.ToString()) / 100;
                double jActualAmt = JAmt;
                if (JAmt < 0)
                {
                    jActualAmt = (-1 * JAmt);
                }
                string JAmtInWords = objWords.ConvertValueToWords(jActualAmt,
                                                                  CommonDataAccess.GetSettingValue("Region") == "US" ? "en-US" :
                                                                  CommonDataAccess.GetSettingValue("Region") == "UK" ? "en-GB" :
                                                                  CommonDataAccess.GetSettingValue("Region") == "IT" ? "it-IT" : "en-US");

                // fill the values
                xml[JackpotXmlFields.SiteName].Value            = jackpot.siteNo;                                 // Site Name
                xml[JackpotXmlFields.BMCVersion].Value          = sVersion;                                       // BMC Version
                xml[JackpotXmlFields.Type].Value                = Type;                                           // Type
                xml[JackpotXmlFields.Amount].Value              = CommonUtilities.GetCurrency(JAmt);              // Amount
                xml[JackpotXmlFields.AmountInWords].Value       = JAmtInWords;                                    // Amount in Words
                xml[JackpotXmlFields.TransactionDateTime].Value = jackpot.TransactionDate;                        // Transaction Date/Time
                xml[JackpotXmlFields.BarPosition].Value         = jackpot.assetConfigNumber + "/" + jackpot.Slot; // Bar Position
                xml[JackpotXmlFields.SlotDenom].Value           = jackpot.Denom.ToString();                       // Slot Denomination
                xml[JackpotXmlFields.SiteID].Value              = jackpot.siteId.ToString();                      // Site Id
                xml[JackpotXmlFields.PrintedDate].Value         = DateTime.Now.GetUniversalDateTimeFormat();      // Printed Date/Time
                xml[JackpotXmlFields.SequenceNo].Value          = jackpot.sequenceNumber.ToString();              // Sequence No

                xml.Write();
                writer.Close();
                _textSettings = xml.TextSettings;
                PrintSlippage(xml.TextSettings);

                AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                {
                    AuditModuleName    = module,
                    Audit_Screen_Name  = screenName,
                    Audit_Desc         = Type,
                    AuditOperationType = OperationType.ADD,
                    Audit_Field        = "Amount",
                    Audit_New_Vl       = xml[JackpotXmlFields.Amount].Value.ToString(),
                    Audit_Slot         = xml[JackpotXmlFields.BarPosition].Value
                });
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
            finally
            {
                if (xml != null)
                {
                    xml.Dispose();
                    xml = null;
                }
            }
        }
 public Reports(string ExchangeConnectionString, string TicketingConnectionString)
 {
     reportsDataAccess = new ReportsDataAccess(CommonUtilities.SiteConnectionString(ExchangeConnectionString), CommonUtilities.TicketingConnectionString(TicketingConnectionString));
 }
        /// <summary>
        /// For offline Ticket Check-Durga
        /// </summary>
        /// <param name="TicketDetail"></param>
        /// <returns></returns>
        public RTOnlineTicketDetail CheckTicket(RTOnlineTicketDetail TicketDetail)
        {

            string LocalTicketorSiteCode;
            string sURL;
            int Installation_No = 0;
            int ValidationLength = 0;
            bool OfflineTicketRedemption = false;
            bool isTISPrintedTicket = VoucherHelper.IsTISPrintedTicket(TicketDetail.TicketString);

            if (!isTISPrintedTicket)
            {
                LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(TicketDetail.TicketString);
                foreach (var item in InstallationTicket)
                {
                    Installation_No = item.installation_no.Value;
                }
                DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, Installation_No, false, false);
                if (InstallationDetails.Rows.Count > 0)
                {
                    try
                    {
                        int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                        if (ValidationLength == 0) ValidationLength = CONST_DEFAULT_TICKET_LENGTH;
                    }
                    catch { ValidationLength = CONST_DEFAULT_TICKET_LENGTH; }
                }
                if (ValidationLength == CONST_DEFAULT_TICKET_LENGTH)
                {
                    ValidateSiteCode(TicketDetail.TicketString, out LocalTicketorSiteCode, out sURL);

                    if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site
                    {
                        TicketDetail.TicketStatus = "MessageID312";
                        TicketDetail.TicketStatusCode = -99;
                        TicketDetail.ValidTicket = false;
                        return TicketDetail;
                    }
                    else if (sURL.StartsWith("http")) // WebService Call in case of Different Site Code 
                    {
                        EndpointAddress objEndpoint = new EndpointAddress(sURL);
                        TicketingServiceClient objClient = new TicketingServiceClient(objEndpoint, LocalTicketorSiteCode);

                        //EndpointAddress objEndpoint = new EndpointAddress("http://10.2.108.29/TicketingWCFService/TicketingService.svc"); //sURL
                        //TicketingServiceClient objClient = new TicketingServiceClient(objEndpoint, "1001"); //LocalTicketorSiteCode);
                        return objClient.RedeemOnlineTicket(TicketDetail);

                    }
                }
            }
            else
            {
                if (!VoucherHelper.IsEffectiveDateActivated(TicketDetail.TicketString))
                {
                    TicketDetail.TicketStatus = "MessageID876";
                    TicketDetail.ValidTicket = false;
                    return TicketDetail;
                }
                //else if (VoucherHelper.IsCardRequired(TicketDetail.TicketString))
                //{
                //    TicketDetail.TicketStatus = "MessageID878";
                //    TicketDetail.ValidTicket = false;
                //    return TicketDetail;
                //}
            }

            // Local Site Code (Default)

            int Return = 0;

            bool isValidTicket = false;

            string TicketStatus = "";
            string TicketString = TicketDetail.TicketString;

            //HFXVH.Ticket HFXVHTicket = new HFXVH.Ticket();
            RTOnlineWageredDropDetail WageredDropDetail = new RTOnlineWageredDropDetail();


            TicketDetail.ShowOfflineTicketScreen = false;
            try
            {

                //Return = HFXVHTicket.TicketIsValid(ref TicketString, ref ReturnValue);
                Return = TicketIsValid(TicketString, isTISPrintedTicket, ref TicketDetail);
                //TicketDetail.TicketValue = ReturnValue;

                if (Return > -1)
                {
                    TicketStatus = "MessageID210";

                    //                        "VALID VOUCHER"+
                    //Application.Current.FindResource("MessageID210") as string 
                    //                  "(" + CommonUtilities.GetCurrency(Convert.ToDouble(TicketDetail.TicketValue / 100)) + ")";
                    isValidTicket = true;
                }
                else
                {
                    switch (Return)
                    {
                        case -1:
                            TicketStatus = "MessageID211";// Application.Current.FindResource("MessageID211") as string;
                            break;
                        case -2:
                            TicketStatus = "MessageID212";// Application.Current.FindResource("MessageID212") as string;  
                            break;
                        case -3:
                            TicketStatus = "MessageID213";// Application.Current.FindResource("MessageID213") as string; 

                            if (CheckOfflineRedeemEnabled())
                            {
                                if (OfflineTicket(ref TicketDetail))
                                {
                                    TicketStatus = "MessageID214";// Application.Current.FindResource("MessageID214") as string;  
                                    TicketDetail.EnableTickerPrintDetails = true;
                                }
                                else
                                {
                                    TicketDetail.ShowOfflineTicketScreen = true;
                                }
                            }
                            break;
                        case -4:
                            TicketStatus = "MessageID215";// Application.Current.FindResource("MessageID215") as string;  
                            TicketDetail.EnableTickerPrintDetails = true;

                            GetTicketDetails(ref TicketDetail);

                            //if (HFXVHTicket.GetTicketDetails(ref TicketString))
                            //{
                            //    TicketDetail.RedeemedMachine = HFXVHTicket.PrintedMachine;
                            //    TicketDetail.RedeemedDevice = HFXVHTicket.RedeemedMachine;
                            //    TicketDetail.RedeemedDate = HFXVHTicket.RedeemedDate;                              
                            //    TicketDetail.RedeemedAmount = CommonUtilities.GetCurrency((Convert.ToDouble(HFXVHTicket.Value) / 100));
                            //}
                            //else
                            //{
                            //    TicketDetail.RedeemedMachine = "";
                            //    TicketDetail.RedeemedDevice = "";
                            //    TicketDetail.RedeemedDate = "";
                            //    TicketDetail.RedeemedAmount = "";
                            //}

                            break;
                        case -5:
                            TicketStatus = "MessageID216";// Application.Current.FindResource("MessageID216") as string;  
                            break;
                        case -6:
                            TicketStatus = "MessageID217";// Application.Current.FindResource("MessageID217") as string;  
                            break;
                        case -7:
                            TicketStatus = "MessageID218";// Application.Current.FindResource("MessageID218") as string; 
                            break;
                        case -8:
                            TicketStatus = "MessageID219";// Application.Current.FindResource("MessageID219") as string; 
                            break;
                        case -9:
                            TicketStatus = "MessageID220";// Application.Current.FindResource("MessageID220") as string; 
                            break;
                        case -10:
                            TicketStatus = "MessageID221";// Application.Current.FindResource("MessageID221") as string;  
                            break;
                        case -11:
                            TicketStatus = "MessageID222";// Application.Current.FindResource("MessageID222") as string; 
                            break;
                        case -12:
                            TicketStatus = "MessageID223"; //Application.Current.FindResource("MessageID223") as string;   
                            break;
                        case -13:
                            TicketStatus = "MessageID306";// Application.Current.FindResource("MessageID306") as string;
                            break;
                        case -14:
                            TicketStatus = "MessageID312";// Application.Current.FindResource("MessageID312") as string;
                            break;
                        case -98:
                            CheckTicket(TicketDetail);
                            TicketStatus = "MessageID214";// Application.Current.FindResource("MessageID214") as string;
                            break;
                        default:
                            TicketStatus = "MessageID224";// Application.Current.FindResource("MessageID224") as string; 
                            break;
                    }
                }
                TicketDetail.TicketStatus = TicketStatus;

                if (isValidTicket || Return == -4)
                {
                    TicketDetail.ValidTicket = true;

                    GetTicketDetails(ref TicketDetail);

                    //if (HFXVHTicket.GetTicketDetails(ref TicketString))
                    //{
                    //    TicketDetail.RedeemedMachine = HFXVHTicket.PrintedMachine;
                    //    TicketDetail.RedeemedAmount = CommonUtilities.GetCurrency((Convert.ToDouble(HFXVHTicket.Value) / 100));
                    //}
                    //else
                    //{
                    //    TicketDetail.RedeemedMachine = "";
                    //    TicketDetail.RedeemedAmount = "";
                    //}

                    // Check laundering limits, if amount wagered is not enough of credits in, show warning
                    if (Settings.EnableLaundering)
                    {
                        double Wagered = 0;
                        double Drop = 0;
                        WageredDropDetail.WageredAmount = 0;
                        WageredDropDetail.DropAmount = 0;
                        WageredDropDetail.TicketString = TicketString;

                        bool isSuccess = GetWageredAndDrop(ref WageredDropDetail);

                        if (isSuccess)
                        {
                            Wagered = WageredDropDetail.WageredAmount;
                            Drop = WageredDropDetail.DropAmount;
                        }

                        if (Drop > 0)
                        {
                            if ((100 - (((Drop - Wagered) * 100) / Drop)) <= GetAmberCreditsWageredtoCashIn())
                                TicketDetail.TicketWarning = "Suspect Voucher..";
                        }
                    }

                    if (CheckTicketValidateVoucherEnabled() && isValidTicket)
                    {
                        //Check for Offline
                        if (OfflineTicket(ref TicketDetail))
                            OfflineTicketRedemption = true;


                        BMC.Common.LogManagement.LogManager.WriteLog("Started RTOnlineReceiptDetail", BMC.Common.LogManagement.LogManager.enumLogLevel.Debug);
                        RTOnlineReceiptDetail ReceiptDetail = new RTOnlineReceiptDetail();
                        TicketRedemptionReceiptCreate((TicketDetail.TicketValue / 100), "", TicketString, 0, ref ReceiptDetail);//HFXVHTicket.CurrentPayoutID);                        
                        CommonUtilities oCommonUtilities = new CommonUtilities();
                        if (OfflineTicketRedemption)
                            oCommonUtilities.GetCommonValues(TicketDetail, ReceiptDetail, "OFFLINE VOUCHER REDEMPTION");
                        else
                            oCommonUtilities.GetCommonValues(TicketDetail, ReceiptDetail);
                        BMC.Common.LogManagement.LogManager.WriteLog("Done RTOnlineReceiptDetail", BMC.Common.LogManagement.LogManager.enumLogLevel.Debug);
                    }

                }
                return TicketDetail;
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                return TicketDetail;
            }
        }