Beispiel #1
0
        public CashierHistory GetCashierTransactionsData(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No)
        {
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
            CashierHistory            cdo     = new CashierHistory();
            var Result = objLinq.GetCashierTransactionsSummary_New(startDate, endDate, UserNo, iRoute_No);

            //cdo.Details = Result.GetResult<rsp_CDM_GetCashierTransactionsDetails_Details>().ToList();
            cdo.Summary = Result.ToList();
            return(cdo);
        }
        public ISingleResult <VoucherInformation> GetVoucherInfo(string BarCode)
        {
            LinqDataAccessDataContext context = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);

            try
            {
                return(context.GetVoucherDetails(BarCode));
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("GetVoucherDetails : " + ex.Message, LogManager.enumLogLevel.Error);
                return(null);
            }
        }
        public IEnumerable<ActiveSessionInstallations> GetInstallationForActiveSession()
        {
            LinqDataAccessDataContext linq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                return linq.GetInstallationForActiveSession();
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return null;
            }
        }
        public void ValidateSiteCode(string ticketString, out string LocalTicketorSiteCode, out string sURL)
        {
            LocalTicketorSiteCode = string.Empty;
            sURL = string.Empty;

            string sTicketSiteCode            = ticketString.Substring(0, 4);
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            foreach (var item in objLinq.ValidateSiteCode(sTicketSiteCode))
            {
                LocalTicketorSiteCode = item.SiteCode;
                sURL = item.URL;
            }
        }
        public IEnumerable <SessionGamePlayDetails> GetSessionGamePlayDetails()
        {
            LinqDataAccessDataContext linq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                return(linq.GetSessionGamePlayDetails());
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return(null);
            }
        }
        public IEnumerable <ActiveSessionInstallations> GetInstallationForActiveSession()
        {
            LinqDataAccessDataContext linq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                return(linq.GetInstallationForActiveSession());
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return(null);
            }
        }
        public IEnumerable<SessionGamePlayDetails> GetSessionGamePlayDetails()
        {
            LinqDataAccessDataContext linq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                return linq.GetSessionGamePlayDetails();
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return null;
            }
        }
Beispiel #8
0
        public ISingleResult <CashierTransactionsDetails> GetCashierTransactionsDetails(
            bool?isCDMPaid, bool?isCDMPrinted, bool?isHandPay, bool?isShortpay, bool?isVoidVoucher, bool?isJackpot, bool?isProgressive, bool?isVoid,
            bool?isMachinePaid, bool?isMachinePrinted,
            bool?isActive, bool?isVoidCancel, bool?isExpired, bool?isException, bool?isLiability, bool?isPromo,
            bool?isNonCashableIN, bool?isNonCashableOut,
            DateTime startDate, DateTime endDate, int UserNo, int iRoute_No, bool?chkOfflinevoucher)
        {
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);

            return(objLinq.GetCashierTransactionsDetails(isCDMPaid, isCDMPrinted, isHandPay, isShortpay, isVoidVoucher, isJackpot, isProgressive, isVoid,
                                                         isMachinePaid, isMachinePrinted,
                                                         isActive, isVoidCancel, isExpired, isException, isLiability, isPromo,
                                                         isNonCashableIN, isNonCashableOut,
                                                         startDate, endDate, UserNo, iRoute_No, chkOfflinevoucher));
        }
Beispiel #9
0
        public List <rsp_CDM_GetCashierTransactionsDetails_New> rsp_CDM_GetCashierTransactionsDetails_New(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No,
                                                                                                          bool isCDMPaid,
                                                                                                          bool isCDMPrinted,
                                                                                                          bool isHandPay,
                                                                                                          bool isShortpay,
                                                                                                          bool isVoidVoucher,
                                                                                                          bool isJackpot,
                                                                                                          bool isProgressive,
                                                                                                          bool isVoid,
                                                                                                          bool isMachinePaid,
                                                                                                          bool isMachinePrinted,
                                                                                                          bool isActive,
                                                                                                          bool isVoidCancel,
                                                                                                          bool isExpired,
                                                                                                          bool isException,
                                                                                                          bool isLiability,
                                                                                                          bool isPromo,
                                                                                                          bool isNonCashableIN,
                                                                                                          bool isNonCashableOut,
                                                                                                          bool isOffline,
                                                                                                          bool isOutstandingHandpays)
        {
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);

            var Result = objLinq.rsp_CDM_GetCashierTransactionsDetails_New(startDate, endDate, UserNo, iRoute_No,
                                                                           isCDMPaid,
                                                                           isCDMPrinted,
                                                                           isHandPay,
                                                                           isShortpay,
                                                                           isVoidVoucher,
                                                                           isJackpot,
                                                                           isProgressive,
                                                                           isVoid,
                                                                           isMachinePaid,
                                                                           isMachinePrinted,
                                                                           isActive,
                                                                           isVoidCancel,
                                                                           isExpired,
                                                                           isException,
                                                                           isLiability,
                                                                           isPromo,
                                                                           isNonCashableIN,
                                                                           isNonCashableOut, isOffline,
                                                                           isOutstandingHandpays);

            //cdo.Details = Result.GetResult<rsp_CDM_GetCashierTransactionsDetails_Details>().ToList();
            return(Result.ToList());
        }
        public List<BarPositions> getBarPositions()
        {
            LinqDataAccessDataContext context = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
            return context.GetBarPositions().ToList<BarPositions>();

        }
        public ISingleResult<VoucherInformation> GetVoucherInfo(string BarCode)
        {
            LinqDataAccessDataContext context = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
            try
            {
                return context.GetVoucherDetails(BarCode);
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("GetVoucherDetails : " + ex.Message, LogManager.enumLogLevel.Error);
                return null;
            }

        }
        public ISingleResult<CashierTransactionsDetails> GetCashierTransactionsDetails(
           bool? isCDMPaid, bool? isCDMPrinted, bool? isHandPay, bool? isShortpay, bool? isVoidVoucher, bool? isJackpot, bool? isProgressive, bool? isVoid,
           bool? isMachinePaid, bool? isMachinePrinted,
            bool? isActive, bool? isVoidCancel, bool? isExpired, bool? isException, bool? isLiability, bool? isPromo,
            bool? isNonCashableIN, bool? isNonCashableOut,
           DateTime startDate, DateTime endDate, int UserNo, int iRoute_No,bool? chkOfflinevoucher)
        {
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);

            return objLinq.GetCashierTransactionsDetails(isCDMPaid, isCDMPrinted, isHandPay, isShortpay, isVoidVoucher,isJackpot, isProgressive, isVoid,
                                                          isMachinePaid, isMachinePrinted, 
                                                           isActive, isVoidCancel, isExpired, isException, isLiability, isPromo,
                                                          isNonCashableIN, isNonCashableOut,
                                                          startDate, endDate, UserNo, iRoute_No,chkOfflinevoucher);
        }
 public ISingleResult<CashierTransactions> GetCashierTransactions(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No)
 {
     LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
     return objLinq.GetCashierTransactions(startDate, endDate, UserNo, iRoute_No);
 }
        /// <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;
            }
        }
 public List<rsp_CDM_GetCashierTransactionsDetails_New> rsp_CDM_GetCashierTransactionsDetails_New(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No,
    bool isCDMPaid,
    bool isCDMPrinted,
    bool isHandPay,
    bool isShortpay,
    bool isVoidVoucher,
    bool isJackpot,
    bool isProgressive,
    bool isVoid,
    bool isMachinePaid,
    bool isMachinePrinted,
    bool isActive,
    bool isVoidCancel,
    bool isExpired,
    bool isException,
    bool isLiability,
    bool isPromo,
    bool isNonCashableIN,
    bool isNonCashableOut,
    bool isOffline,
    bool isOutstandingHandpays)
 {
     LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
 
     var Result = objLinq.rsp_CDM_GetCashierTransactionsDetails_New(startDate, endDate, UserNo, iRoute_No,
          isCDMPaid,
          isCDMPrinted,
          isHandPay,
          isShortpay,
          isVoidVoucher,
          isJackpot,
          isProgressive,
          isVoid,
          isMachinePaid,
          isMachinePrinted,
          isActive,
          isVoidCancel,
          isExpired,
          isException,
          isLiability,
          isPromo,
          isNonCashableIN,
          isNonCashableOut,isOffline,
          isOutstandingHandpays);
         //cdo.Details = Result.GetResult<rsp_CDM_GetCashierTransactionsDetails_Details>().ToList();
     return  Result.ToList();
 }
        public int CheckSDGTicketCage(string TicketString)
        {
            int? ReturnValue = 99;
            int Installation_No = 0;
            int? Validation_Length = 0;
            string BarCode = string.Empty;

            try
            {


                string LocalTicketorSiteCode;
                string sURL;
                ValidateSiteCode(TicketString, out LocalTicketorSiteCode, out sURL);

                if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site
                {
                    return -99;
                    //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.CheckSDGTicket(TicketString);
                }

                // Current site--
                LinqDataAccessDataContext linqDB = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                IEnumerable<InstallationFromTicket> InstallationTicket = linqDB.GetInstallationNumber(TicketString.Trim());

                foreach (var item in InstallationTicket)
                {
                    Installation_No = item.installation_no.Value;
                    BarCode = item.strbarcode.Trim();
                }

                if (Installation_No > 0)
                {
                    linqDB.GetValidationLength(Installation_No, ref Validation_Length);

                    if (Validation_Length.Value != 0)
                    {
                        if (TicketString.Length != Validation_Length.Value)
                            return -2;
                        else
                            TicketString = BarCode;
                    }
                }

                LinqDataAccessDataContext linqTic = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
                linqTic.CheckSDGTicket(TicketString, System.Environment.MachineName, ref ReturnValue);
                return ReturnValue.Value;

            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return -99;
            }
        }
        private void btnGetVoucherInfo_Click(object sender, RoutedEventArgs e)
        {
            string strBarCode = ucValueCalc.txtDisplay.Text.Trim();
            int InstallationNumber = 0;
            int ValidationLength = 0;
            int CurrLength = strBarCode.Trim().Length;
            try
            {
                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    if (strBarCode.Length < 4)
                    {
                        MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                        return;
                    }
                    if (strBarCode.Length != 18)
                    {
                        LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(strBarCode);

                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                strBarCode = item.strbarcode;
                               
                            }

                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                               
                                    int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                    if (ValidationLength != CurrLength)
                                    {
                                        MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                        return;
                                    }

                            }
                        }
                        else
                        {
                            MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                            return;
                        }
                        
                    }
                   
                    VoucherDetails objVoucherDetails = new VoucherDetails(strBarCode);
                    
                    if (objVoucherDetails.IsVoucherFound)
                    {
                       // Window owner = Window.GetWindow(this);
                        objVoucherDetails.ShowDialogEx(this);
                    }
                    else
                    {
                        MessageBox.ShowBox("MessageID213", BMC_Icon.Information);  //Voucher Not Found
                    }
                }
                else
                {
                     MessageBox.ShowBox("MessageID264", BMC_Icon.Information);  //Enter Valid Voucher Bar code
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
        public int CheckSDGTicket(string TicketString)
        {
            int? ReturnValue = 99;
            int Installation_No = 0;
            int? Validation_Length = 0;
            string BarCode = string.Empty;

            try
            {
                LinqDataAccessDataContext linqDB = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                IEnumerable<InstallationFromTicket> InstallationTicket = linqDB.GetInstallationNumber(TicketString.Trim());

                foreach (var item in InstallationTicket)
                {
                    Installation_No = item.installation_no.Value;
                    BarCode = item.strbarcode.Trim();
                }

                if (Installation_No > 0)
                {
                    linqDB.GetValidationLength(Installation_No, ref Validation_Length);

                    if (Validation_Length.Value != 0)
                    {
                        if (TicketString.Length != Validation_Length.Value)
                            return -2;
                        else
                            TicketString = BarCode;
                    }
                }

                LinqDataAccessDataContext linqTic = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
                linqTic.CheckSDGTicket(TicketString, System.Environment.MachineName, ref ReturnValue);
                return ReturnValue.Value;

            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return -99;
            }
        }
        public void GetTicketDetails(ref RTOnlineTicketDetail TicketDetail)
        {
            LinqDataAccessDataContext linqDB = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
            DateTime? dtPaid = DateTime.Now;
            int? Amount = 0;
            string payDevice = string.Empty, printDevice = string.Empty;

            try
            {
                linqDB.GetTicketDetails(TicketDetail.TicketString, ref printDevice, ref payDevice, ref dtPaid, ref Amount);

                TicketDetail.RedeemedDate = (DateTime)dtPaid;
                TicketDetail.RedeemedDevice = payDevice;
                TicketDetail.RedeemedMachine = printDevice;
                TicketDetail.RedeemedAmount = (Convert.ToDecimal(Amount.Value) / 100);


            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
        }
        public int TicketIsValidCage(string TicketString, ref RTOnlineTicketDetail TicketDetail)
        {
            int Return = 0;
            int Installation_No = 0;
            int? Validation_Length = 0;
            int? IsPromotional = 0;
            int PayTicket = 0;
            string BarCode = string.Empty;
            LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(TicketDetail.TicketString);

                foreach (var item in InstallationTicket)
                {
                    Installation_No = item.installation_no.Value;
                    BarCode = item.strbarcode.Trim();
                    //TicketString = item.strbarcode.Trim();
                }

                if (Installation_No > 0)
                {
                    linqDBExchange.GetValidationLength(Installation_No, ref Validation_Length);

                    if (Validation_Length.Value != 0)
                    {
                        if (TicketString.Length != Validation_Length.Value)
                            return -3;
                        else
                            TicketString = BarCode;
                    }
                }

                linqDBExchange.CheckPromotionalTicket(TicketString, ref IsPromotional);

                if (IsPromotional.Value == -1)
                    IsPromotional = 1;

                if (IsPromotional.Value == 0)
                    return -11;
                else if (IsPromotional.Value < 0)
                    return -99;

                PayTicket = redeemTicketDB.PaySDGTicketCage(TicketString, Settings.RedeemExpiredTicket, ref TicketDetail);

                switch (PayTicket)
                {
                    case 0:
                        redeemTicketDB.pCloseSDGTicketCage(TicketString);
                        Return = 0;
                        break;
                    case -1:
                        if (redeemTicketDB.CheckforTicketException(TicketString))
                            Return = -10;
                        else
                            Return = -4;
                        break;
                    case -2:
                        if (redeemTicketDB.CheckforTicketException(TicketString))
                        {
                            bool IsFailed = false;
                            int? result = 0;

                            try
                            {
                                linqDBExchange.CreateTicketComplete(TicketString, Security.SecurityHelper.CurrentUser.User_No.ToString(), Security.SecurityHelper.CurrentUser.User_No.ToString(), ref result);

                                if (result.Value != 0)
                                    IsFailed = true;

                                if (!IsFailed)
                                    linqDBExchange.InsertException(Installation_No, 205,
                                        "Voucher (" + TicketString + ") Activated via Ticketing application when claiming",
                                        TicketString, Security.SecurityHelper.CurrentUser.UserName);

                                //Return = -10;

                                TicketIsValid(TicketString, false, ref TicketDetail);
                            }
                            catch (System.Data.SqlClient.SqlException sqlEx)
                            {
                                ExceptionManager.Publish(sqlEx);
                                Return = -98;
                            }
                        }
                        else
                            Return = -3;
                        break;
                    case -3:
                        Return = -8;
                        break;
                    case -4:
                        Return = -9;
                        break;
                    case -5:
                        Return = -9;
                        break;
                    //case -12:
                    //    Return = -12;
                    //    break;
                    case -15:
                        redeemTicketDB.pCloseSDGTicketCage(TicketString);
                        Return = 0;
                        break;
                    default:
                        Return = PayTicket;
                        break;
                }
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                Return = -99;
            }
            return Return;
        }
 public bool ValidateClientSiteCode(string sClientSiteCode)
 {
     LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
     return Convert.ToBoolean(objLinq.ValidateClientSiteCode(sClientSiteCode));
 }
        public void ValidateSiteCode(string ticketString, out string LocalTicketorSiteCode, out string sURL)
        {
            LocalTicketorSiteCode = string.Empty;
            sURL = string.Empty;

            string sTicketSiteCode = ticketString.Substring(0, 4);
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            foreach (var item in objLinq.ValidateSiteCode(sTicketSiteCode))
            {
                LocalTicketorSiteCode = item.SiteCode;
                sURL = item.URL;
            }
        }
        private void validateVoucher(ReedemTicketInfo ticket)
        {
            LogManager.WriteLog("Inside validateVoucher() Method", LogManager.enumLogLevel.Info);
            int iCustomerID = 0;
            IRedeemOnlineTicket _objRedeemOnlineTicket = RedeemOnlineTicketBusinessObject.CreateInstance();            
            LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
            RedeemTicket _redeemTicket = new RedeemTicket();            
            string strTableTicketNumber = string.Empty;
            int iInstallationID = 0;
            int iTicketValidationLength = 0;
            
            try
            {
                _objOnlineTicketDetail.RedeemedMachine = System.Environment.MachineName;
                _objOnlineTicketDetail.ClientSiteCode = Settings.SiteCode;


                LogManager.WriteLog("The Voucher Redeem is Validating", LogManager.enumLogLevel.Info);
                if (ticket.Barcode.Length != 18)
                {
                    LogManager.WriteLog("Checking for exact barcode if it is less than 18, The barcode is: " + ticket.Barcode, LogManager.enumLogLevel.Info);
                    
                    InstallationFromTicket _TicketInstallationDetails = linqDBExchange.GetInstallationNumber(ticket.Barcode).SingleOrDefault();
                    
                    if (_TicketInstallationDetails != null)
                    {   
                        strTableTicketNumber = _TicketInstallationDetails.strbarcode;                        
                        iInstallationID = Convert.ToInt32(_TicketInstallationDetails.installation_no);

                        LogManager.WriteLog("Barcode obtained from Table is :" + strTableTicketNumber, LogManager.enumLogLevel.Info);                       

                        //To get the validation length
                        if (iInstallationID > 0)
                        {
                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, iInstallationID, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out iTicketValidationLength);

                                //linqDBExchange.GetValidationLength(iInstallationID, ref iTicketValidationLength);
                                LogManager.WriteLog("The validation length for the entered barcode," + ticket.Barcode + "is:" + iTicketValidationLength, LogManager.enumLogLevel.Info);
                                if (iTicketValidationLength != 0 && ticket.Barcode.Length == iTicketValidationLength)// when validation length does not match with the barcode
                                {
                                    _objOnlineTicketDetail.TicketString = strTableTicketNumber;                                    
                                }
                                else
                                {
                                    LogManager.WriteLog("the validation length mismatch for barcode :->" + ticket.Barcode, LogManager.enumLogLevel.Info);
                                    FindVoucher(ticket);
                                    
                                }
                            }
                            else
                            {
                                LogManager.WriteLog("No installation details found for this Ticket :->" + ticket.Barcode, LogManager.enumLogLevel.Info);
                                FindVoucher(ticket);
                                
                            }
                        }
                        else
                        {

                            LogManager.WriteLog("No installation details found for this Ticket :->" + ticket.Barcode, LogManager.enumLogLevel.Info);
                            FindVoucher(ticket);
                           // _objOnlineTicketDetail.TicketString = ticket.Barcode;
                        }                    
                    }
                    else
                    {
                       
                        LogManager.WriteLog("No installation details found for this Ticket :->" + ticket.Barcode, LogManager.enumLogLevel.Info);
                        FindVoucher(ticket);
                        _objOnlineTicketDetail.TicketString = ticket.Barcode;
                    }
                }
                else               
                  _objOnlineTicketDetail.TicketString = ticket.Barcode;     
                
         
                _objOnlineTicketDetail.HostSiteCode = _objOnlineTicketDetail.TicketString.Substring(0, 4);

                LogManager.WriteLog("Validating the Voucher,Barcode is:" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info);

                ticket.Status = Application.Current.Resources["CRedeemMultipleTicketRedemptionValidating"].ToString();                
                
                _objOnlineTicketDetail = _objRedeemOnlineTicket.GetVoucherAmountAndStatusForMultipleTicket(_objOnlineTicketDetail);

                /*****************STATUS FOR VALIDATING VOUCHER*********************************
                 *******************************************************************************
                 * NORMAL VOUCHER                   *                TIS VOUCHER
                 * ******************************************************************************
                -1 Voucher not found                *              -2 TIS ticket not found,pending
                -3  Already paid					*			  -4 Already paid TIS
                -5  partially paid					*			  -6 Partially paid TIS
                -7  void voucher					*			  -8 void voucher for TIS 
                -9  cancelled voucher				*			  -10 cancelled voucher for TIS
                -11 Non cashable voucher			*			  -12 Non cashable voucher for TIS
                -13 Site code mismatch				*			  -15 Expired voucher for TIS
                -14 Expired voucher					*			   1  Valid voucher TIS
                 0  valid voucher                   *             -16 Player card required for TIS voucher
                 *                                  *             -17 TIS expired but player card requried
                 *                                                -18 TIS Effective Date Mismatch  
                 ********************************************************************************************** */

                //_objOnlineTicketDetail = _objRedeemOnlineTicket.GetRedeemTicketAmount(_objOnlineTicketDetail);
                _objOnlineTicketDetail.CustomerId = iCustomerID;
                ticket.TicketStatus = _objOnlineTicketDetail.TicketStatusCode;
                if (_objOnlineTicketDetail.TicketStatusCode == -2)
                {
                   // RTOnlineTicketDetail objTicketDetail = new RTOnlineTicketDetail();
                    IRedeemOnlineTicket objCashDeskOper = RedeemOnlineTicketBusinessObject.CreateInstance();
                    _objOnlineTicketDetail = objCashDeskOper.GetMultiRedeemTicketAmount(_objOnlineTicketDetail);

                    if (_objOnlineTicketDetail != null)
                    {   
                        if (_objOnlineTicketDetail.RedeemedAmount  > 0)
                        {

                            _objOnlineTicketDetail.RedeemedAmount = (_objOnlineTicketDetail.RedeemedAmount)/100;
                            _objOnlineTicketDetail.TicketValue = Convert.ToDouble(_objOnlineTicketDetail.RedeemedAmount);
                            _objOnlineTicketDetail.TicketStatusCode = 1;
                            ticket.TicketStatus = 1; //For making it valid tis voucher 
                            
                        }
                    }
                     
                }
                
                ticket.oRTOnlineTicketDetail = _objOnlineTicketDetail;

                string strRedeemedAmount = _objOnlineTicketDetail.TicketValue.ToString("0.00");
                
                ticket.Amount = Convert.ToDecimal(strRedeemedAmount);
        
                string str_status = "";
               // bool isTISPrintedTicket = VoucherHelper.IsTISPrintedTicketPrefix(_objOnlineTicketDetail.TicketString);

                
                _objOnlineTicketDetail.AuthorizedUser_No = Security.SecurityHelper.CurrentUser.User_No;
                _objOnlineTicketDetail.RedeemedUser = Security.SecurityHelper.CurrentUser.UserName;
               
                if (_objOnlineTicketDetail.TicketStatusCode == -234) //Exception Occured
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemErrorMessage1"].ToString(); 
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -99) //Invalid ticket 
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemErrorMessage2"].ToString();
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == 0) //Valid Voucher
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemValidVoucher"].ToString();
                }                
                else if (_objOnlineTicketDetail.TicketStatusCode == 1) //Valid TIS Voucher
                {
                    str_status = Application.Current.Resources["CRedeemValidTISVoucher"].ToString();
                }
               
                else if (_objOnlineTicketDetail.TicketStatusCode == -1) //Voucher not found for  normal voucher
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemVoucherNotFound"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });

                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -2) //TIS Voucher not found in local DB
                {
                    str_status = Application.Current.Resources["CRedeemTISMultipleTicketNotFound"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "TIS Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -3) //Already Paid
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemAlreadyPaid"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });



                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -4) //TIS Already Paid
                {
                    str_status = Application.Current.Resources["CRedeemMultipleVoucherAlreadyPaidTISVoucher"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "TIS Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });

                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -5) //Partially paid
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketsPartiallyPaidTickets"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -6) //TIS Partially paid
                {
                    str_status = Application.Current.Resources["CRedeemMultipleVoucherPartiallyPaidTISVoucher"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "TIS Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -7) //Voided ticket
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketsVoidticket"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -8) //TIS Voided ticket
                {
                    str_status = Application.Current.Resources["CRedeemMultipleVoucherVoidTISVoucher"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "TIS Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -9) //Cancelled VOucher
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketsCancelledTickets"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -10) //TIS Cancelled VOucher
                {
                    str_status = Application.Current.Resources["CRedeemMultipleVoucherTISCancelledVoucher"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -11) //Non Cashable
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketsNonCashableTickets"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -12) // TIS Non Cashable
                {
                    str_status = Application.Current.Resources["CRedeemMultipleVoucherTISNonCashableVoucher"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -13) //Site Code Mismatch
                {
                    str_status = Application.Current.Resources["CRedeemMultipleTicketsSiteCodeMismatch"].ToString();

                    //insert into audit
                    AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                    {

                        AuditModuleName = ModuleName.MultipleVoucherRedeem,
                        Audit_Screen_Name = "Multiple Redeem Voucher",
                        Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString,
                        AuditOperationType = OperationType.MODIFY,
                        Audit_Field = "Voucher Status",
                        Audit_New_Vl = str_status,
                        Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                        Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                    });
                }

                else if (_objOnlineTicketDetail.TicketStatusCode == -14) //Expired
                {
                    if (Security.SecurityHelper.HasAccess("CashdeskOperator.Authorize.cs.MultipleRedeemExpiredTicket"))
                    {
                        str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemExpired"].ToString();
                    }
                    else
                    {
                        str_status = Application.Current.Resources["CRedeemExpireUserAccess"].ToString();

                        AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                        {

                            AuditModuleName = ModuleName.MultipleVoucherRedeem,
                            Audit_Screen_Name = "Multiple Redeem Voucher",
                            Audit_Desc = "Expired Voucher Number -" + _objOnlineTicketDetail.TicketString,
                            AuditOperationType = OperationType.MODIFY,
                            Audit_Field = "Voucher Status",
                            Audit_New_Vl = Application.Current.Resources["CRedeemExpireUserAccess"].ToString(),
                            Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                            Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                        });
                    }
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -15) //TIS Expired
                {
                    if (Security.SecurityHelper.HasAccess("CashdeskOperator.Authorize.cs.MultipleRedeemExpiredTicket"))
                    {
                        str_status = Application.Current.Resources["CRedeemMultipleVoucherTISExpiredVoucher"].ToString();
                    }
                    else
                    {
                        str_status = Application.Current.Resources["CRedeemTISExpireUserAccess"].ToString();

                        AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                        {

                            AuditModuleName = ModuleName.MultipleVoucherRedeem,
                            Audit_Screen_Name = "Multiple Redeem Voucher",
                            Audit_Desc = "Expired Voucher Number -" + _objOnlineTicketDetail.TicketString,
                            AuditOperationType = OperationType.MODIFY,
                            Audit_Field = "Voucher Status",
                            Audit_New_Vl = Application.Current.Resources["CRedeemExpireUserAccess"].ToString(),
                            Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No,
                            Audit_User_Name = _objOnlineTicketDetail.RedeemedUser
                        });
                    }

                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -16)//TIS valid player details required , cannot redeem here
                {
                    str_status = Application.Current.Resources["CRedeemTISMultipleVoucherPlayerDetailsRequired"].ToString();
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -17)//TIS expired voucher player details required , cannot redeem here-expired
                {
                    str_status = Application.Current.Resources["CRedeemTISMultipleVoucherExpiredPlayerdetailsRequired"].ToString();
                }

                else if (_objOnlineTicketDetail.TicketStatusCode == -18)//TIS Effective date mismatch
                {
                    str_status = Application.Current.Resources["CRedeemsTISEffectiveDateMismatch"].ToString();
                }
                else if (_objOnlineTicketDetail.TicketStatusCode == -990) // When TIS web service hits fails
                {
                    str_status = Application.Current.Resources["CRedeemsTISWebServiceError"].ToString();
                }

               
                #region offlineVoucherHandler-Commented
                    //if (!_objOnlineTicketDetail.ShowOfflineTicketScreen)
                    //{
                    // str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemVoucherNotFound"].ToString();
                    //}
                    //else
                    //{
                    //_iCheckOfflineVoucher = _redeemTicket.CheckSDGOfflineTicket(ticket.Barcode); //checks whether it is offline voucher or not
                    //if (_iCheckOfflineVoucher == -14) //since SP returns -14 if its offline voucher
                    //{
                    //    str_status = Application.Current.Resources["CRedeemMultipleTicketsOfflineTickets"].ToString();
                    //}
                    //else
                    //{
                    //    str_status = Application.Current.Resources["CRedeemMultipleTicketRedeemVoucherNotFound"].ToString();
                    //}
                //} 
                #endregion offlineVoucherHandler-Commented


                Dispatcher.BeginInvoke((Action)(() =>
                     {
                         ticket.Status = str_status;
                         LogManager.WriteLog("the Barcode " + ticket.Barcode + "has returned" + str_status, LogManager.enumLogLevel.Info);
                     }), null);

            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
        }
        public RTOnlineTicketDetail GetMultiRedeemTicketAmount(RTOnlineTicketDetail TicketDetailEntity)
        {
            try
            {
                string LocalTicketorSiteCode;
                string sURL;
                int Installation_No = 0;
                int ValidationLength = 0;
                bool isTISPrintedTicket = true; ;
                bool hasException = false;
                int PlayerCardValidation = 0;
                string PlayerCardID = string.Empty;
                int TicketType = -1;
                int CurrentTickStatus = 0;
                if (!isTISPrintedTicket)
                {
                    LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                    IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(TicketDetailEntity.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(TicketDetailEntity.TicketString, out LocalTicketorSiteCode, out sURL);
                        if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site
                        {
                            TicketDetailEntity.TicketStatus = "MessageID312";
                            TicketDetailEntity.TicketStatusCode = -99;
                            TicketDetailEntity.ValidTicket = false;
                            return TicketDetailEntity;
                        }
                        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.GetRedeemTicketAmount(TicketDetailEntity);

                        }
                    }
                }
                else
                {
                    // if the tis printed ticket available in local db
                    bool isTISTicketAvailable = VoucherHelper.IsTISPrintedTicket(TicketDetailEntity.TicketString);
                    if (isTISTicketAvailable)
                    {
                        // Success case - ok proceed with redeeming
                    }
                    else
                    {
                        // wait worst case 10 secs to get the response from TIS
                        int count = 10;
                        string message = "Waiting for receiving data from TIS...";
                        WPFExtensions.ShowAsyncDialog(null, message, null, 1, count,
                            (o) =>
                            {
                                IAsyncProgress2 o2 = o as IAsyncProgress2;

                                // failure case - hit the tis communication interface and get the ticket
                                try
                                {
                                    o2.UpdateStatusProgress(5, message);
                                    var resp = VoucherHelper.SendTISRedeemTicketQuery(TicketDetailEntity.TicketString, TicketDetailEntity.AuthorizedUser_No);
                                    o2.UpdateStatusProgress(10, message);
                                    if (resp != null &&
                                        !resp.ErrorMessage.IsNullOrEmpty())
                                    {

                                        var resp2 = VoucherHelper.GetInquiryResponse(TicketDetailEntity.TicketString); 
                                        // TIS Command Service not found or any service error
                                        TicketDetail.TicketStatusCode = -990;
                                        TicketDetail.TicketErrorMessage = resp.ErrorMessage;
                                        TicketDetail.RedeemedAmount = resp2.Amount;                                       
                                        hasException = true;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    ExceptionManager.Publish(ex);
                                    TicketDetail.TicketStatusCode = -234;//Exception Case
                                    hasException = true;
                                }
                            });
                    }


                    TicketType = VoucherHelper.TicketType(TicketDetailEntity.TicketString);

                    CurrentTickStatus = VoucherHelper.CurrentTicketStatus(TicketDetailEntity.TicketString);
                    if (VoucherHelper.IsCardRequired(TicketDetailEntity.TicketString))
                    {
                        PlayerCardValidation = 2;



                    }

                    else if (VoucherHelper.IsSpecificCardRequired(TicketDetailEntity.TicketString))
                    {
                        PlayerCardValidation = 1;

                        PlayerCardID = VoucherHelper.PlayerCardNumber(TicketDetailEntity.TicketString);

                    }

                }

                if (!hasException)
                {
                    //Local Site Code(default)
                    TicketDetail = redeemTicketDB.GetRedeemTicketAmount(TicketDetailEntity);
                    TicketDetail.TicketType = TicketType;
                    TicketDetail.CurrentTicketStatus = CurrentTickStatus;

                    if (CurrentTickStatus == 1)
                    {
                        if (TicketType == 0)
                        {
                            if (PlayerCardValidation != 0)
                            {
                                TicketDetail.TicketStatusCode = 250;
                                TicketDetail.CardRequired = PlayerCardValidation;
                                if (PlayerCardValidation == 1)
                                    TicketDetail.PlayerCardNumber = PlayerCardID;

                            }
                        }
                    }

                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                TicketDetail.TicketStatusCode = -234;//Exception Case
            }

            return TicketDetail;
        }
Beispiel #25
0
        private void btnGetVoucherInfo_Click(object sender, RoutedEventArgs e)
        {
            string strBarCode         = ucValueCalc.txtDisplay.Text.Trim();
            int    InstallationNumber = 0;
            int    ValidationLength   = 0;
            int    CurrLength         = strBarCode.Trim().Length;

            try
            {
                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    if (strBarCode.Length < 4)
                    {
                        MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                        return;
                    }
                    if (strBarCode.Length != 18)
                    {
                        LinqDataAccessDataContext            linqDBExchange     = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable <InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(strBarCode);

                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                strBarCode         = item.strbarcode;
                            }

                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                if (ValidationLength != CurrLength)
                                {
                                    MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                    return;
                                }
                            }
                        }
                        else
                        {
                            MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                            return;
                        }
                    }

                    VoucherDetails objVoucherDetails = new VoucherDetails(strBarCode);

                    if (objVoucherDetails.IsVoucherFound)
                    {
                        // Window owner = Window.GetWindow(this);
                        objVoucherDetails.ShowDialogEx(this);
                    }
                    else
                    {
                        MessageBox.ShowBox("MessageID213", BMC_Icon.Information);  //Voucher Not Found
                    }
                }
                else
                {
                    MessageBox.ShowBox("MessageID264", BMC_Icon.Information);   //Enter Valid Voucher Bar code
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
Beispiel #26
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int    InstallationNumber = 0;
                int    ValidationLength   = 0;
                string _Barcode           = this.ucValueCalc.txtDisplay.Text.Trim();
                System.Windows.Forms.DialogResult _diagResult;
                btnVerify.IsEnabled = false;
                if (isScannerFired) //check done not to fire the verify event twice while verifying a ticket using scanner
                {
                    isScannerFired = false;
                    return;
                }
                if ((sender is System.Windows.Controls.TextBox))
                {
                    isScannerFired = true;
                }
                else
                {
                    isScannerFired = false;
                }


                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    //8-digit ticket validation.
                    //Slot ticket cannot be redeemed via cashdesk.
                    if (this.ucValueCalc.txtDisplay.Text.Trim().Length != 18)
                    {
                        LinqDataAccessDataContext            linqDBExchange     = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable <InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(_Barcode);
                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                _Barcode           = item.strbarcode;
                            }
                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                if (ValidationLength != _Barcode.Length)
                                {
                                    MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                    return;
                                }
                            }
                        }
                    }

                    TicketsHelper objTicketsHelper = new TicketsHelper();

                    int?    nResult        = -1;
                    decimal dAmount        = 0;
                    int     iTransactionNo = 0;
                    int     iSequenceNo    = 0;

                    //foreach (var obj in objTicketsHelper.ValidateVoidVoucher(this.ucValueCalc.txtDisplay.Text.Trim(), ref nResult))
                    //{
                    //    dAmount = Convert.ToDecimal(obj.iAmount)/100;
                    //}
                    dAmount = objTicketsHelper.ValidateVoidVoucher(_Barcode, Security.SecurityHelper.CurrentUser.User_No, ref nResult);

                    switch (nResult)
                    {
                    case 0:
                    {
                        if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY))
                        {
                            //Message: Are you sure you want to Void the Voucher?
                            _diagResult = MessageBox.ShowBox("MessageID512", BMC_Icon.Question, BMC_Button.YesNo, this.ucValueCalc.txtDisplay.Text.Trim(), Convert.ToString(dAmount));
                            if (_diagResult == System.Windows.Forms.DialogResult.No)
                            {
                                return;
                            }
                        }
                        else
                        {
                            _diagResult = System.Windows.Forms.DialogResult.Yes;
                        }
                        if (_diagResult == System.Windows.Forms.DialogResult.Yes)
                        {
                            string barcode = this.ucValueCalc.txtDisplay.Text.Trim();

                            foreach (var obj in objTicketsHelper.UpdateVoidVoucher(barcode,
                                                                                   System.Environment.MachineName,
                                                                                   Security.SecurityHelper.CurrentUser.User_No,
                                                                                   txtNotes.Text))
                            {
                                iTransactionNo = (int)obj.iTransactionNo;
                                iSequenceNo    = obj.TE_ID;
                            }

                            // TIS Printed Tickets
                            if (VoucherHelper.IsTISPrintedTicket(barcode))
                            {
                                VoucherHelper.SendTISVoidTicket(barcode, Security.SecurityHelper.CurrentUser.User_No);
                            }

                            //Message: "Voucher Voided Successfully."
                            MessageBox.ShowBox("MessageID513", BMC_Icon.Information);
                            //Receipt
                            BMC.Business.CashDeskOperator.Reports objReports = new BMC.Business.CashDeskOperator.Reports();
                            string sCode = BMC.Transport.Settings.SiteCode;
                            using (CReportViewer objReportViewer = new CReportViewer())
                            {
                                objReportViewer.PrintVoidVoucherReceipt(System.Environment.MachineName, this.ucValueCalc.txtDisplay.Text.Trim(),
                                                                        dAmount, iTransactionNo, sCode, iSequenceNo);
                                //objReportViewer.ShowDialog();
                            }

                            Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Voided Successfully");
                            lblVoidAmountValue.Visibility = Visibility.Visible;
                            lblVoidAmount.Visibility      = Visibility.Visible;
                            lblVoidAmountValue.Text       = string.Empty;
                            lblVoidAmountValue.Text       = dAmount.ToString("0.00");
                        }
                        break;
                    }


                    case 1:
                    {
                        //Voucher Not Found
                        //Message: "Voucher is not available in System"
                        MessageBox.ShowBox("MessageID514", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Not Found");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 2:
                    {
                        // Invalid for Slots, only CashDesk is allowed.
                        //Message: "Void is applicable only for Cash Desk Vouchers"
                        MessageBox.ShowBox("MessageID515", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Void is applicable only for Cash Desk Vouchers");
                        //Audit
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        break;
                    }

                    case 3:
                    {
                        //PAID Status
                        // Message: "Voucher has already been redeemed."
                        MessageBox.ShowBox("MessageID516", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been redeemed");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 4:
                    {
                        //Already Voided
                        // Message: "Voucher has already been Voided."
                        MessageBox.ShowBox("MessageID517", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been Voided");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 5:
                    {
                        //Expired Date
                        // Message: "Voucher has expired."
                        MessageBox.ShowBox("MessageID518", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has expired");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }
                    }
                }
                else
                {
                    //Message: "Please enter or scan a valid Voucher Number
                    MessageBox.ShowBox("MessageID519", BMC_Icon.Warning);
                    this.ucValueCalc.txtDisplay.Focus();
                }

                ClearAll();
            }
            catch (Exception ex)
            {
                MessageBox.ShowBox("MessageID520", BMC_Icon.Error);
                BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex);
                ClearAll();
            }
            finally
            {
                btnVerify.IsEnabled = true;
            }
        }
        public RTOnlineTicketDetail GetVoucherAmountAndStatusForMultipleTicket(RTOnlineTicketDetail TicketDetailEntity)
        {
            try
            {
                LogManager.WriteLog("Inside GetVoucherAmountAndStatusForMultipleTicket", LogManager.enumLogLevel.Info);
                LinqDataAccessDataContext _LinqDB = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
                List<rsp_ValidateVoucherForMultipleVoucherRedemptionResult> lstValidatedVoucherDetails = null;
                lstValidatedVoucherDetails = _LinqDB.ValidateVoucherForMultipleVoucherRedemption(TicketDetailEntity.TicketString).ToList();
                if (lstValidatedVoucherDetails != null)
                {
                    TicketDetailEntity.TicketStatusCode = lstValidatedVoucherDetails[0].iStatus;
                    TicketDetailEntity.TicketValue = Convert.ToDouble(lstValidatedVoucherDetails[0].Amount);
                    TicketDetailEntity.RedeemedAmount = lstValidatedVoucherDetails[0].Amount;
                    TicketDetailEntity.PrintedDate = lstValidatedVoucherDetails[0].PrintDate.Value;
                    TicketDetailEntity.iVoucherid = lstValidatedVoucherDetails[0].VoucherID;
                    LogManager.WriteLog("The Ticket details for the barcode :-- " + TicketDetailEntity.TicketString + "are" +
                                        " TicketStatusCode:-" + TicketDetailEntity.TicketStatusCode +
                                        "Ticket Amount :--" + TicketDetailEntity.TicketValue +
                                        "Voucher Id :--" + TicketDetailEntity.iVoucherid, LogManager.enumLogLevel.Info);
                       
                                

                }
                
            }
            catch (Exception ex)
            {

                ExceptionManager.Publish(ex);
            }
            return TicketDetailEntity;
        }
 public CashierHistory GetCashierTransactionsData(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No)
 {
     LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);
     CashierHistory cdo = new CashierHistory();
     var Result = objLinq.GetCashierTransactionsSummary_New(startDate, endDate, UserNo, iRoute_No);
     //cdo.Details = Result.GetResult<rsp_CDM_GetCashierTransactionsDetails_Details>().ToList();
     cdo.Summary = Result.ToList();
     return cdo;
 }
        private void button_Click(object sender, RoutedEventArgs e)
        {
            try
            {

                int InstallationNumber = 0;
                int ValidationLength = 0;
                string _Barcode = this.ucValueCalc.txtDisplay.Text.Trim();
                System.Windows.Forms.DialogResult _diagResult;
                btnVerify.IsEnabled = false;
                if (isScannerFired) //check done not to fire the verify event twice while verifying a ticket using scanner
                {
                    isScannerFired = false;
                    return;
                }
                if ((sender is System.Windows.Controls.TextBox))
                    isScannerFired = true;
                else
                    isScannerFired = false;


                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    //8-digit ticket validation.
                    //Slot ticket cannot be redeemed via cashdesk.
                    if (this.ucValueCalc.txtDisplay.Text.Trim().Length != 18)
                    {
                        LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(_Barcode);
                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                _Barcode = item.strbarcode;

                            }
                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                if (ValidationLength != _Barcode.Length)
                                {
                                    MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                    return;
                                }
                            }                          
                        }
                    }

                    TicketsHelper objTicketsHelper = new TicketsHelper();

                    int? nResult = -1;
                    decimal dAmount = 0;
                    int iTransactionNo = 0;
                    int iSequenceNo = 0;

                    //foreach (var obj in objTicketsHelper.ValidateVoidVoucher(this.ucValueCalc.txtDisplay.Text.Trim(), ref nResult))
                    //{
                    //    dAmount = Convert.ToDecimal(obj.iAmount)/100;                        
                    //}
                    dAmount = objTicketsHelper.ValidateVoidVoucher(_Barcode, Security.SecurityHelper.CurrentUser.User_No, ref nResult);

                    switch (nResult)
                    {
                        case 0:
                            {
                                if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY))
                                {
                                    //Message: Are you sure you want to Void the Voucher?
                                    _diagResult = MessageBox.ShowBox("MessageID512", BMC_Icon.Question, BMC_Button.YesNo, this.ucValueCalc.txtDisplay.Text.Trim(), Convert.ToString(dAmount));
                                    if (_diagResult == System.Windows.Forms.DialogResult.No)
                                        return;
                                }
                                else
                                {
                                    _diagResult = System.Windows.Forms.DialogResult.Yes;
                                }
                                if (_diagResult == System.Windows.Forms.DialogResult.Yes)
                                {

                                    string barcode = this.ucValueCalc.txtDisplay.Text.Trim();

                                    foreach (var obj in objTicketsHelper.UpdateVoidVoucher(barcode,
                                                           System.Environment.MachineName,
                                                           Security.SecurityHelper.CurrentUser.User_No,
                                                           txtNotes.Text))
                                    {
                                        iTransactionNo = (int)obj.iTransactionNo;
                                        iSequenceNo = obj.TE_ID;
                                    }

                                    // TIS Printed Tickets
                                    if (VoucherHelper.IsTISPrintedTicket(barcode))
                                    {
                                        VoucherHelper.SendTISVoidTicket(barcode, Security.SecurityHelper.CurrentUser.User_No);
                                    }

                                    //Message: "Voucher Voided Successfully."
                                    MessageBox.ShowBox("MessageID513", BMC_Icon.Information);
                                    //Receipt                                
                                    BMC.Business.CashDeskOperator.Reports objReports = new BMC.Business.CashDeskOperator.Reports();
                                    string sCode = BMC.Transport.Settings.SiteCode;
                                    using (CReportViewer objReportViewer = new CReportViewer())
                                    {
                                        objReportViewer.PrintVoidVoucherReceipt(System.Environment.MachineName, this.ucValueCalc.txtDisplay.Text.Trim(),
                                                                                dAmount, iTransactionNo, sCode, iSequenceNo);
                                        //objReportViewer.ShowDialog();
                                    }

                                    Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Voided Successfully");
                                    lblVoidAmountValue.Visibility = Visibility.Visible;
                                    lblVoidAmount.Visibility = Visibility.Visible;
                                    lblVoidAmountValue.Text = string.Empty;
                                    lblVoidAmountValue.Text = dAmount.ToString("0.00");


                                }
                                break;
                            }


                        case 1:
                            {
                                //Voucher Not Found
                                //Message: "Voucher is not available in System"
                                MessageBox.ShowBox("MessageID514", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Not Found");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 2:
                            {
                                // Invalid for Slots, only CashDesk is allowed.
                                //Message: "Void is applicable only for Cash Desk Vouchers"
                                MessageBox.ShowBox("MessageID515", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Void is applicable only for Cash Desk Vouchers");
                                //Audit
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                break;
                            }
                        case 3:
                            {
                                //PAID Status
                                // Message: "Voucher has already been redeemed."
                                MessageBox.ShowBox("MessageID516", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been redeemed");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 4:
                            {
                                //Already Voided
                                // Message: "Voucher has already been Voided."
                                MessageBox.ShowBox("MessageID517", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been Voided");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 5:
                            {
                                //Expired Date
                                // Message: "Voucher has expired."
                                MessageBox.ShowBox("MessageID518", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has expired");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }

                    }


                }
                else
                {
                    //Message: "Please enter or scan a valid Voucher Number
                    MessageBox.ShowBox("MessageID519", BMC_Icon.Warning);
                    this.ucValueCalc.txtDisplay.Focus();
                }

                ClearAll();

            }
            catch (Exception ex)
            {
                MessageBox.ShowBox("MessageID520", BMC_Icon.Error);
                BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex);
                ClearAll();
            }
            finally
            {
                btnVerify.IsEnabled = true;
            }
        }
Beispiel #30
0
        public ISingleResult <CashierTransactions> GetCashierTransactions(DateTime startDate, DateTime endDate, int UserNo, int iRoute_No)
        {
            LinqDataAccessDataContext objLinq = new LinqDataAccessDataContext(CommonDataAccess.TicketingConnectionString);

            return(objLinq.GetCashierTransactions(startDate, endDate, UserNo, iRoute_No));
        }
        public IEnumerable<PositionCurrentStatusResult> GetPositionCurrentStatus(bool allPosition, bool vLTAAMS, bool vLTVerification, bool gameAAMS, bool gameVerification, bool gameEnableAAMS, bool BADAAMSEnableDisable, bool BMCEnterpriseStatus)
        {
            LinqDataAccessDataContext linq = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);

            try
            {
                return linq.GetPositionCurrentStatus(allPosition, vLTAAMS, vLTVerification, gameAAMS, gameVerification, gameEnableAAMS, BADAAMSEnableDisable, BMCEnterpriseStatus);
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
                return null;
            }
        }
 public double GetOperationalHours(DateTime? date)
 {
     double? result = 0;
     using (LinqDataAccessDataContext context = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString))
         context.GetOperationalHours(date, ref result);
     return Convert.ToDouble(result);
 }