public int PaySDGTicketCage(string BarCode, bool RedeemExpiredTicket, ref RTOnlineTicketDetail TicketDetail) { try { var iAmount = DataBaseServiceHandler.AddParameter<int>("iAmount", DbType.Int32, 0, ParameterDirection.Output); var iResult = DataBaseServiceHandler.AddParameter<int>("iResult", DbType.Int32, 0, ParameterDirection.Output); var sBarcode = DataBaseServiceHandler.AddParameter<string>("sBarcode", DbType.String, "", ParameterDirection.Output); var iTicketType = DataBaseServiceHandler.AddParameter<int>("iTicketType", DbType.Int32, 0, ParameterDirection.Output); var strHashed = DataBaseServiceHandler.AddParameter<byte>("strHashed", DbType.Byte, 0x0000002D, ParameterDirection.Output); var dPrinted = DataBaseServiceHandler.AddParameter<DateTime>("dPrinted", DbType.DateTime, DateTime.Now, ParameterDirection.Output); DataBaseServiceHandler.ExecuteNonQuery(CommonDataAccess.TicketingConnectionString, CommandType.StoredProcedure, "pPaySDGTicket", DataBaseServiceHandler.AddParameter<string>("strBarcode", DbType.String, BarCode), DataBaseServiceHandler.AddParameter<bool>("RedeemExpiredTicket", DbType.Boolean, RedeemExpiredTicket), DataBaseServiceHandler.AddParameter<string>("strDeviceID", DbType.String, System.Environment.MachineName+"_Cage"), DataBaseServiceHandler.AddParameter<int>("@AuthorizedUser_No", DbType.Int16, TicketDetail.AuthorizedUser_No), DataBaseServiceHandler.AddParameter<DateTime>("@Authorized_Date", DbType.DateTime, TicketDetail.Authorized_Date == DateTime.MinValue ? DateTime.Now.DBMinValue() : TicketDetail.Authorized_Date), DataBaseServiceHandler.AddParameter<Int64>("@Customer_Id", DbType.Int64, TicketDetail.CustomerId), DataBaseServiceHandler.AddParameter<string>("@ClientSiteCode", DbType.String, Settings.SiteCode), iAmount, iResult, sBarcode, iTicketType, strHashed, dPrinted); TicketDetail.TicketValue = Convert.ToInt32(iAmount.Value); return Convert.ToInt32(iResult.Value); } catch (Exception Ex) { ExceptionManager.Publish(Ex); return -99; } }
public RTOnlineTicketDetail RedeemOnlineTicket(RTOnlineTicketDetail TicketDetailEntity) { return redeemTicket.CheckTicket(TicketDetailEntity); //return 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; }
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); } }
//Add method for offline receipt print public void GetCommonValues(RTOnlineTicketDetail RTOnlineTicketDetail, RTOnlineReceiptDetail RTOnlineReceiptDetail,string OfflineHeaderText) { oRTOnlineTicketDetail = RTOnlineTicketDetail; oRTOnlineReceiptDetail = RTOnlineReceiptDetail; if (Settings.EnableVoucher) PrintType = "OFFLINE VOUCHER REDEMPTION"; BMC.Common.LogManagement.LogManager.WriteLog("Inside CommonUtilites Settings.EnableVoucher=: " + Settings.EnableVoucher.ToString() + "object ticketdetail=:" + oRTOnlineTicketDetail.ToString() + "object ReceiptDetail=:" + RTOnlineReceiptDetail.ToString(), BMC.Common.LogManagement.LogManager.enumLogLevel.Debug); PrintFunction(); }
public bool ImportVoucherDetails(RTOnlineTicketDetail TicketDetail) { bool bSuccess = false; try { SqlParameter[] oSQLParams = new SqlParameter[5]; SqlParameter objSQLParam = new SqlParameter(); objSQLParam.ParameterName = "doc"; objSQLParam.Value = TicketDetail.VoucherXMLData; objSQLParam.Direction = ParameterDirection.Input; oSQLParams[0] = objSQLParam; objSQLParam = new SqlParameter(); objSQLParam.ParameterName = "DeviceName"; objSQLParam.Value = System.Environment.MachineName + ((Settings.CAGE_ENABLED)?"_Cage" : string.Empty ) ; objSQLParam.Direction = ParameterDirection.Input; oSQLParams[1] = objSQLParam; objSQLParam = new SqlParameter(); objSQLParam.ParameterName = "PrintedDeviceName"; objSQLParam.Value = TicketDetail.PrintedDevice; objSQLParam.Direction = ParameterDirection.Input; oSQLParams[2] = objSQLParam; objSQLParam = new SqlParameter(); objSQLParam.ParameterName = "RedeemUserName"; objSQLParam.Value = TicketDetail.RedeemedUser; objSQLParam.Direction = ParameterDirection.Input; oSQLParams[3] = objSQLParam; objSQLParam = new SqlParameter(); objSQLParam.ParameterName = "IsSuccess"; objSQLParam.Direction = ParameterDirection.Output; objSQLParam.SqlDbType = SqlDbType.Int; oSQLParams[4] = objSQLParam; LogManager.WriteLog("<CrossTicketing> ImportVoucherDetails XML:" + TicketDetail.VoucherXMLData + "\n Printed Device: " + TicketDetail.PrintedDevice, LogManager.enumLogLevel.Info); SqlHelper.ExecuteNonQuery(CommonDataAccess.TicketingConnectionString, CommandType.StoredProcedure, "RSP_IMPORTVOUCHERDETAILS_CAGE", oSQLParams); if (int.Parse(oSQLParams[4].Value.ToString()) == 0) { bSuccess = true; LogManager.WriteLog("<CrossTicketing> ImportVoucherDetails Call Success", LogManager.enumLogLevel.Info); } else { bSuccess = false; LogManager.WriteLog("<CrossTicketing> ImportVoucherDetails Call " + " failed due to " + oSQLParams[1].Value.ToString(), LogManager.enumLogLevel.Info); } } catch (Exception ex) { ExceptionManager.Publish(ex); bSuccess = false; } return bSuccess; }
/// <summary> /// Gets the exception details. /// </summary> /// <returns></returns> public bool GetExceptionDetails(ref RTOnlineTicketDetail RTOTicketDetail) { bool bSuccess = false; string Currency = "£"; if (Settings.Region.ToUpper() == "US") Currency = "$"; try { DataSet ExceptionDetails = new DataSet(); DateTime date = new DateTime(); string[] strArray = new string[1]; strArray[0] = "ExceptionDetails"; date = DateTime.Now; SqlParameter[] objParams = new SqlParameter[1]; objParams[0] = new SqlParameter(DBConstants.CONST_PARAM_BARCODE, RTOTicketDetail.TicketString); SqlHelper.FillDataset(GetExchangeConnectionString(), DBConstants.CONST_RSP_GETEXCEPTIONDETAILS, ExceptionDetails, strArray, objParams); if (ExceptionDetails.Tables.Count > 0) { if (ExceptionDetails.Tables["ExceptionDetails"].Rows.Count > 0) { RTOTicketDetail.RedeemedMachine = ExceptionDetails.Tables["ExceptionDetails"].Rows[0]["Bar_pos_name"].ToString(); RTOTicketDetail.RedeemedDevice = ExceptionDetails.Tables["ExceptionDetails"].Rows[0]["TE_Workstation"].ToString(); RTOTicketDetail.RedeemedDate = ExceptionDetails.Tables["ExceptionDetails"].Rows[0]["TE_Date"].ToString(); RTOTicketDetail.RedeemedAmount = Currency + " " + (Convert.ToDouble(ExceptionDetails.Tables["ExceptionDetails"].Rows[0]["te_value"]) / 100).ToString("N"); } else bSuccess = false; } else bSuccess = false; return bSuccess; } catch (Exception exGetMachineDetailsFromAsset) { ExceptionManager.Publish(exGetMachineDetailsFromAsset); bSuccess = false; return bSuccess; } }
public RTOnlineTicketDetail GetRedeemTicketAmountCage(RTOnlineTicketDetail TicketDetailEntity) { try { string LocalTicketorSiteCode; string sURL; ValidateSiteCode(TicketDetailEntity.TicketString, out LocalTicketorSiteCode, out sURL); if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site { TicketDetailEntity.TicketStatus = "Site Code Mismatch"; 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); } //Local Site Code(default) return redeemTicketDB.GetRedeemTicketAmount(TicketDetailEntity); } catch (Exception ex) { ExceptionManager.Publish(ex); TicketDetail.TicketStatusCode = -234;//Exception Case return TicketDetail; } }
public bool ImportVoucherDetails(RTOnlineTicketDetail TicketDetail) { return redeemTicketDB.ImportVoucherDetails(TicketDetail); }
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; }
/// <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 RTOnlineTicketDetail GetRedeemTicketAmountCage(RTOnlineTicketDetail TicketDetailEntity) { return redeemTicket.GetRedeemTicketAmountCage(TicketDetailEntity); }
public RTOnlineTicketDetail GetMultiRedeemTicketAmount(RTOnlineTicketDetail TicketDetailEntity) { return redeemTicket.GetMultiRedeemTicketAmount(TicketDetailEntity); }
public bool RedeemOnlineTicketCage(RTOnlineTicketDetail TicketDetailEntity) { return redeemTicket.CheckTicketCage(TicketDetailEntity); }
public int pCloseSDGTicket(string Barcode,RTOnlineTicketDetail TicketDetail)// string BarCode,string sClientSiteCode) { try { var iResult = DataBaseServiceHandler.AddParameter<int>("iResult", DbType.Int32, 0, ParameterDirection.Output); //New parameter to get the ivoucherid var iVoucherID = DataBaseServiceHandler.AddParameter<int>("VoucherID", DbType.Int32, 0, ParameterDirection.Output); DataBaseServiceHandler.ExecuteNonQuery(CommonDataAccess.TicketingConnectionString, CommandType.StoredProcedure, "pCloseSDGTicket", DataBaseServiceHandler.AddParameter<string>("strBarcode", DbType.String, Barcode), DataBaseServiceHandler.AddParameter<string>("strDeviceID", DbType.String, TicketDetail.RedeemedMachine),//System.Environment.MachineName), DataBaseServiceHandler.AddParameter<string>("@RedeemedUser", DbType.String, (Security.SecurityHelper.CurrentUser == null) ? "NONE" : Security.SecurityHelper.CurrentUser.UserName), DataBaseServiceHandler.AddParameter<int>("iStatus", DbType.Int32, 1), DataBaseServiceHandler.AddParameter<int>("Error_Code", DbType.Int32, 0), DataBaseServiceHandler.AddParameter<string>("ClientSiteCode", DbType.String, TicketDetail.ClientSiteCode)//sClientSiteCode) , iResult, iVoucherID); if (Convert.ToInt32(iResult.Value) == 0) DataBaseServiceHandler.ExecuteNonQuery(CommonDataAccess.ExchangeConnectionString, CommandType.StoredProcedure, "usp_UpdateTicketExceptionOnCloseSDG", DataBaseServiceHandler.AddParameter<string>("TE_TicketNumber", DbType.String, Barcode), DataBaseServiceHandler.AddParameter<int>("TE_ID", DbType.Int32, 0), DataBaseServiceHandler.AddParameter<string>("TE_Status_Final_Actual", DbType.String, "CLAIMED")); return Convert.ToInt32(iResult.Value); } catch (Exception Ex) { ExceptionManager.Publish(Ex); return -99; } }
public RTOnlineTicketDetail GetVoucherDetailForMultipleTicketRedeem(RTOnlineTicketDetail TicketDetailEntity) { return redeemTicketDB.GetVoucherAmountAndStatusForMultipleTicket(TicketDetailEntity); }
//public int GetRedeemTicketAmount(string ticketString, out int ticketStatus) //{ // int ticketAmount = 0; // ticketStatus = 0; // try // { // SqlParameter[] sqlParam = new SqlParameter[4]; // sqlParam[0] = new SqlParameter(DBConstants.CONST_PARAM_BARCODE, ticketString); // sqlParam[1] = new SqlParameter(DBConstants.CONST_PARAM_DEVICEID, System.Environment.MachineName); // sqlParam[2] = new SqlParameter(DBConstants.CONST_PARAM_TICKETSTATUS, ticketStatus); // sqlParam[2].Direction = ParameterDirection.Output; // sqlParam[3] = new SqlParameter(DBConstants.CONST_PARAM_TICKETAMOUNT, ticketAmount); // sqlParam[3].Direction = ParameterDirection.Output; // SqlHelper.ExecuteNonQuery(CommonDataAccess.TicketingConnectionString, CommandType.StoredProcedure, DBConstants.CONST_RSP_GETREDEEMTICKETAMOUNT, sqlParam); // ticketStatus = Convert.ToInt32(sqlParam[2].Value); // ticketAmount = Convert.ToInt32(sqlParam[3].Value); // } // catch (Exception ex) // { // ExceptionManager.Publish(ex); // } // return ticketAmount; //} public RTOnlineTicketDetail GetRedeemTicketAmount(RTOnlineTicketDetail TicketDetailEntity) { int ticketAmount = 0; TicketDetailEntity.TicketStatusCode = 0; try { SqlParameter[] sqlParam = new SqlParameter[8]; sqlParam[0] = new SqlParameter(DBConstants.CONST_PARAM_BARCODE, TicketDetailEntity.TicketString); sqlParam[1] = new SqlParameter(DBConstants.CONST_PARAM_DEVICEID, System.Environment.MachineName); sqlParam[2] = new SqlParameter("@ClientSiteCode", TicketDetailEntity.ClientSiteCode); sqlParam[3] = new SqlParameter(DBConstants.CONST_PARAM_TICKETSTATUS, TicketDetailEntity.TicketStatusCode); sqlParam[3].Direction = ParameterDirection.Output; sqlParam[4] = new SqlParameter(DBConstants.CONST_PARAM_TICKETAMOUNT, ticketAmount); sqlParam[4].Direction = ParameterDirection.Output; sqlParam[5] = new SqlParameter("@PrintedDevice", SqlDbType.VarChar,50); sqlParam[5].Direction = ParameterDirection.Output; sqlParam[6] = new SqlParameter("@PrintedDate", TicketDetailEntity.PrintedDate); sqlParam[6].Direction = ParameterDirection.Output; sqlParam[7] = new SqlParameter("@iVoucherID", TicketDetailEntity.iVoucherid); sqlParam[7].Direction = ParameterDirection.Output; SqlHelper.ExecuteNonQuery(CommonDataAccess.TicketingConnectionString, CommandType.StoredProcedure, DBConstants.CONST_RSP_GETREDEEMTICKETAMOUNT, sqlParam); TicketDetailEntity.TicketStatusCode = Convert.ToInt32(sqlParam[3].Value); if (!DBNull.Value.Equals(sqlParam[4].Value)) { ticketAmount = Convert.ToInt32(sqlParam[4].Value); } else if (DBNull.Value.Equals(sqlParam[4].Value)) { ticketAmount = 0; } TicketDetailEntity.RedeemedAmount = Convert.ToDecimal(ticketAmount); TicketDetailEntity.PrintedDevice=Convert.ToString(sqlParam[5].Value); if (!DBNull.Value.Equals(sqlParam[6].Value)) { TicketDetailEntity.PrintedDate = Convert.ToDateTime(sqlParam[6].Value); } else if (DBNull.Value.Equals(sqlParam[6].Value)) { TicketDetailEntity.PrintedDate = DateTime.MinValue; } if (!DBNull.Value.Equals(sqlParam[7].Value)) { TicketDetailEntity.iVoucherid = Convert.ToInt32(sqlParam[7].Value); } else if (DBNull.Value.Equals(sqlParam[7].Value)) { TicketDetailEntity.iVoucherid = 0; } } catch (Exception ex) { ExceptionManager.Publish(ex); } //return ticketAmount; return TicketDetailEntity; }
public bool CheckTicketCage(RTOnlineTicketDetail TicketDetail) { string LocalTicketorSiteCode; string sURL; ValidateSiteCode(TicketDetail.TicketString, out LocalTicketorSiteCode, out sURL); if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site { LogManager.WriteLog("CheckTicketCage:Invalid URL(Site Code Mismatch) " + TicketDetail.TicketString, LogManager.enumLogLevel.Debug); TicketDetail.TicketStatus = "Site Code Mismatch"; TicketDetail.TicketStatusCode = -99; TicketDetail.ValidTicket = false; //return TicketDetail; } else if (sURL.StartsWith("http")) // WebService Call in case of Different Site Code { LogManager.WriteLog(string.Format("CheckVoucherCage:URL {0} : Voucher {1} ", sURL, TicketDetail.TicketString), LogManager.enumLogLevel.Debug); 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); TicketDetail.ClientSiteCode = LocalTicketorSiteCode; TicketDetail.RedeemedMachine = Environment.MachineName + "_Cage"; TicketDetail = objClient.RedeemOnlineTicket(TicketDetail); if (TicketDetail.ValidTicket) { //Cross Ticketing- Insert Local Record if (!string.IsNullOrEmpty(TicketDetail.VoucherXMLData)) { TicketDetail.RedeemedUser = Security.SecurityHelper.CurrentUser.UserName; ImportVoucherDetails(TicketDetail); } } else { LogManager.WriteLog(string.Format("CheckVoucherCage:URL {0} : Voucher {1} STATUS {2} ", sURL, TicketDetail.TicketString, TicketDetail.TicketStatus), LogManager.enumLogLevel.Debug); string strStatus = string.Empty; switch (TicketDetail.TicketStatus) { case "MessageID211": strStatus = "BLANK VOUCHER"; break; case "MessageID212":// Application.Current.FindResource("MessageID212") as string; strStatus = "NO DB CONNECTION"; break; case "MessageID213": strStatus = "VOUCHER NOT FOUND";// Application.Current.FindResource("MessageID213") as string; if (CheckOfflineRedeemEnabled()) { if (OfflineTicket(ref TicketDetail)) { strStatus = "OFFILNE VOUCHER CLAIMED";// Application.Current.FindResource("MessageID214") as string; TicketDetail.EnableTickerPrintDetails = true; } else { TicketDetail.ShowOfflineTicketScreen = true; } } break; case "MessageID215":// Application.Current.FindResource("MessageID215") as string; strStatus = "ALREADY CLAIMED"; 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 "MessageID216":// Application.Current.FindResource("MessageID216") as string; strStatus = "NON PAYOUT TYPE"; break; case "MessageID217":// Application.Current.FindResource("MessageID217") as string; strStatus = "INVALID VOUCHER TYPE"; break; case "MessageID218":// Application.Current.FindResource("MessageID218") as string; strStatus = "INVALID VOUCHER"; break; case "MessageID219":// Application.Current.FindResource("MessageID219") as string; strStatus = "VOUCHER EXPIRED"; break; case "MessageID220":// Application.Current.FindResource("MessageID220") as string; strStatus = "VOUCHER VOIDED"; break; case "MessageID221":// Application.Current.FindResource("MessageID221") as string; strStatus = "VOUCHER EXCEPTION"; break; case "MessageID222":// Application.Current.FindResource("MessageID222") as string; strStatus = "PROMO VOUCHER"; break; case "MessageID223": //Application.Current.FindResource("MessageID223") as string; strStatus = "INVALID - CANCELLED VOUCHER"; break; case "MessageID306":// Application.Current.FindResource("MessageID306") as string; strStatus = "NON CASHABLE VOUCHER"; break; case "MessageID312":// Application.Current.FindResource("MessageID312") as string; strStatus = "Site Code Mismatch"; break; case "MessageID214": CheckTicket(TicketDetail); strStatus = "OFFILNE VOUCHER CLAIMED";// Application.Current.FindResource("MessageID214") as string; break; default: strStatus = "UNSPECIFIED ERROR";// Application.Current.FindResource("MessageID224") as string; break; } TicketDetail.TicketStatus = strStatus; } return TicketDetail.ValidTicket; } 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 = TicketIsValidCage(TicketString, ref TicketDetail); //TicketDetail.TicketValue = ReturnValue; if (Return > -1) { TicketStatus = "VALID VOUCHER" + "(" + CommonUtilities.GetCurrency(Convert.ToDouble(TicketDetail.TicketValue / 100)) + ")"; isValidTicket = true; } else { switch (Return) { case -1: TicketStatus = "BLANK VOUCHER"; break; case -2: TicketStatus = "NO DB CONNECTION"; break; case -3: TicketStatus = "VOUCHER NOT FOUND"; if (CheckOfflineRedeemEnabled()) { if (OfflineTicket(ref TicketDetail)) { TicketStatus = "OFFILNE VOUCHER CLAIMED"; TicketDetail.EnableTickerPrintDetails = true; } else { TicketDetail.ShowOfflineTicketScreen = true; } } break; case -4: TicketStatus = "ALREADY CLAIMED"; 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 = "NON PAYOUT TYPE"; break; case -6: TicketStatus = "INVALID VOUCHER TYPE"; break; case -7: TicketStatus = "INVALID VOUCHER"; break; case -8: TicketStatus = "VOUCHER EXPIRED"; break; case -9: TicketStatus = "VOUCHER VOIDED"; break; case -10: TicketStatus = "VOUCHER EXCEPTION"; break; case -11: TicketStatus = "PROMO VOUCHER"; break; case -12: TicketStatus = "INVALID - CANCELLED VOUCHER"; break; case -13: TicketStatus = "NON CASHABLE VOUCHER"; break; case -14: TicketStatus = "Site Code Mismatch"; break; case -98: CheckTicketCage(TicketDetail); TicketStatus = "OFFILNE VOUCHER CLAIMED"; break; default: TicketStatus = "UNSPECIFIED ERROR"; 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.."; } } //Commecnted for cage //if (CheckTicketValidateVoucherEnabled() && isValidTicket) //{ // 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(); // oCommonUtilities.GetCommonValues(TicketDetail, ReceiptDetail); // BMC.Common.LogManagement.LogManager.WriteLog("Done RTOnlineReceiptDetail", BMC.Common.LogManagement.LogManager.enumLogLevel.Debug); //} } } catch (Exception ex) { ExceptionManager.Publish(ex); } return TicketDetail.ValidTicket; }
/// <summary> /// Checks if offline ticket exists. /// </summary> /// <returns></returns> public bool DoesOfflineTicketExist(ref RTOnlineTicketDetail RTOTicketDetail) { bool IsSuccess = false; try { DataSet OfflineTicketDetails = new DataSet(); DateTime date = new DateTime(); date = DateTime.Now; SqlParameter[] objParams = new SqlParameter[3]; objParams[0] = new SqlParameter(DBConstants.CONST_PARAM_sTICKET_NUMBER, RTOTicketDetail.TicketString); SqlParameter ReturnValue = new SqlParameter(); ReturnValue.ParameterName = DBConstants.CONST_SP_PARAM_RETURNVALUE; ReturnValue.Direction = ParameterDirection.ReturnValue; objParams[1] = ReturnValue; SqlHelper.ExecuteNonQuery(GetExchangeConnectionString(), System.Data.CommandType.StoredProcedure, DBConstants.CONST_RSP_DOESOFFLINETICKETEXIST, objParams); if (objParams[1].Value.ToString() == "1") IsSuccess = true; else IsSuccess = false; return IsSuccess; } catch (Exception exDoesOfflineTicketExist) { ExceptionManager.Publish(exDoesOfflineTicketExist); IsSuccess = false; return IsSuccess; } }
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; }
private void button_Click(object sender, RoutedEventArgs e) { bool isValid = false; RTOnlineTicketDetail objTicketDetail = null; double redeemTicketAmount = 0; bool IsCashDispenseError = false; try { if (isScannerFired) //check done not to fire the verify event twice while verifying a ticket using scanner { isScannerFired = false; return; } ClearAll(true); TextBlock_11.Text = string.Empty; txtAmount.Text = string.Empty; btnVerify.IsEnabled = false; if ((sender is System.Windows.Controls.TextBox)) isScannerFired = true; else isScannerFired = false; if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0) { if (this.ucValueCalc.txtDisplay.Text.Trim().Length < 4 ) { MessageBox.ShowBox("MessageID403", BMC_Icon.Error); this.txtStatus.Visibility = Visibility.Hidden; this.ucValueCalc.txtDisplay.Text = String.Empty; return; } IRedeemOnlineTicket objCashDeskOper = RedeemOnlineTicketBusinessObject.CreateInstance(); objTicketDetail = new RTOnlineTicketDetail(); objTicketDetail.ClientSiteCode = Settings.SiteCode; objTicketDetail.TicketString = this.ucValueCalc.txtDisplay.Text.Trim(); objTicketDetail.HostSiteCode = objTicketDetail.TicketString.Substring(0, 4); objTicketDetail.RedeemedMachine = System.Environment.MachineName; objTicketDetail = objCashDeskOper.GetRedeemTicketAmount(objTicketDetail); if (objTicketDetail.TicketStatusCode == -990) //TIS Error (If any) { MessageBox.ShowBox(objTicketDetail.TicketErrorMessage, BMC_Icon.Error, true); disptimerRedeem.Stop(); this.txtStatus.Visibility = Visibility.Hidden; return; } if (objTicketDetail.TicketStatusCode == -234) //Exception Occured { MessageBox.ShowBox("MessageID425", BMC_Icon.Error); disptimerRedeem.Stop(); this.txtStatus.Visibility = Visibility.Hidden; return; } if (objTicketDetail.TicketStatusCode == -99) //Included for Cross Ticketing { MessageBox.ShowBox("MessageID403", BMC_Icon.Error); disptimerRedeem.Stop(); this.txtStatus.Visibility = Visibility.Hidden; this.ucValueCalc.txtDisplay.Text = String.Empty; return; } if (objTicketDetail.TicketStatusCode == 250) //Any/specific player card required for TIS { bool ValidCard = false; int PlayerCardClose = 0; if (objTicketDetail.CardRequired == 2) { PlayerCardValidation objPlayerCardValidation = new PlayerCardValidation(objTicketDetail.CardRequired); objPlayerCardValidation.ShowDialogEx(this); ValidCard = objPlayerCardValidation.valid; PlayerCardClose = objPlayerCardValidation.Close; if (PlayerCardClose == 1) { this.ucValueCalc.txtDisplay.Text = String.Empty; this.ucValueCalc.txtDisplay.Focus(); return; } else if (!ValidCard) { MessageBox.ShowBox("PlayerCardRedeem6", BMC_Icon.Error); this.ucValueCalc.txtDisplay.Text = String.Empty; this.ucValueCalc.txtDisplay.Focus(); return; } } else if (objTicketDetail.CardRequired == 1) { PlayerCardValidation objPlayerCardValidation = new PlayerCardValidation(objTicketDetail.CardRequired, objTicketDetail.PlayerCardNumber); objPlayerCardValidation.ShowDialogEx(this); ValidCard = objPlayerCardValidation.valid; PlayerCardClose = objPlayerCardValidation.Close; if (PlayerCardClose == 1) { this.ucValueCalc.txtDisplay.Text = String.Empty; this.ucValueCalc.txtDisplay.Focus(); return; } else if (!ValidCard) { MessageBox.ShowBox("PlayerCardRedeem6", BMC_Icon.Error); this.ucValueCalc.txtDisplay.Text = String.Empty; this.ucValueCalc.txtDisplay.Focus(); return; } } objTicketDetail.TicketStatusCode = 0; } int ticketAmount = Convert.ToInt32(objTicketDetail.RedeemedAmount); redeemTicketAmount = ticketAmount / 100; objTicketDetail.CustomerId = Custid; this.txtStatus.Visibility = Visibility.Visible; this.txtStatus.Text = "VALIDATING."; disptimerRedeem.IsEnabled = true; disptimerRedeem.Start(); //if ((objCashDeskOper.CheckSDGTicket(objTicketDetail.TicketString) == 0) && (Settings.RedeemConfirm)) if (objTicketDetail.TicketStatusCode == 0 && (Settings.RedeemConfirm)) { disptimerRedeem.Stop(); if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY)) { _diagResult = MessageBox.ShowBox("MessageID225", BMC_Icon.Question, BMC_Button.YesNo); } else { _diagResult = System.Windows.Forms.DialogResult.Yes; } if (_diagResult == System.Windows.Forms.DialogResult.Yes) { #region ITALY CODE COMMENTED //if (Settings.RegulatoryEnabled == true && Settings.RegulatoryType == "AAMS") //{ // ProcessCancelled = false; // if (ticketStatus == 0) // { // if (redeemTicketAmount >= Settings.RedeemTicketCustomer_Min && redeemTicketAmount <= Settings.RedeemTicketCustomer_Max) // { // customerDetails = new BMC.Presentation.POS.Views.CustomerDetails(); // customerDetails.delCustomerUpdated += new BMC.Presentation.POS.Views.CustomerDetails.CustomerUpdateHandler(delCustomerUpdated); // customerDetails.delCustomerCancelled += new BMC.Presentation.POS.Views.CustomerDetails.CustomerCancelHandler(delCustomerCancelled); // Owner = Window.GetWindow(this); // customerDetails.ShowDialog(); // } // else if (redeemTicketAmount >= Settings.RedeemTicketCustomer_BankAcctNo) // { // customerDetails = new BMC.Presentation.POS.Views.CustomerDetails(true); // customerDetails.delCustomerUpdated += new BMC.Presentation.POS.Views.CustomerDetails.CustomerUpdateHandler(delCustomerUpdated); // customerDetails.delCustomerCancelled += new BMC.Presentation.POS.Views.CustomerDetails.CustomerCancelHandler(delCustomerCancelled); // Owner = Window.GetWindow(this); // customerDetails.ShowDialog(); // } // if (ProcessCancelled) // { // MessageBox.ShowBox("MessageID299", BMC_Icon.Information); // this.ucValueCalc.txtDisplay.Text = string.Empty; // return; // } // } //} #endregion objTicketDetail = objCashDeskOper.RedeemOnlineTicket(objTicketDetail); isValid = objTicketDetail.ValidTicket; } else { disptimerRedeem.Start(); this.txtStatus.Visibility = Visibility.Hidden; return; } disptimerRedeem.Start(); } //else if ((objCashDeskOper.CheckSDGTicket(objTicketDetail.TicketString) == -3) && (Settings.RedeemConfirm) else if (objTicketDetail.TicketStatusCode == -3 && (Settings.RedeemConfirm) && Settings.RedeemExpiredTicket) { disptimerRedeem.Stop(); CAuthorize objAuthorize = null; //Manoj 26th Aug 2010. CR383384 //RedeemExpiredTicket functionality has been implmented for Winchells. //So, in settings RedeemExpiredTicket will be True for Winchells, for rest it will be False. //So we dont need the following if condition. //if (Settings.Client != null && Settings.Client.ToLower() == "winchells") //{ objAuthorize = new CAuthorize("CashdeskOperator.Authorize.cs.ReedemExpiredTicket"); objAuthorize.User = Security.SecurityHelper.CurrentUser; string Cur_User_Name = Security.SecurityHelper.CurrentUser.Last_Name + ", " + Security.SecurityHelper.CurrentUser.First_Name; objTicketDetail.RedeemedUser = Cur_User_Name; if (!Security.SecurityHelper.HasAccess("CashdeskOperator.Authorize.cs.ReedemExpiredTicket")) { objAuthorize.ShowDialogEx(this); string Auth_User_Name = objAuthorize.User.UserName; if (objAuthorize.User.Last_Name != null && objAuthorize.User.First_Name != null) { Auth_User_Name = objAuthorize.User.Last_Name + ", " + objAuthorize.User.First_Name; } else { Auth_User_Name = objAuthorize.User.UserName; } objTicketDetail.RedeemedUser = Auth_User_Name; if (!objAuthorize.IsAuthorized) { ClearAll(false); return; } } else { objAuthorize.IsAuthorized = true; } //} if (objAuthorize != null && objAuthorize.IsAuthorized) { objTicketDetail.AuthorizedUser_No = objAuthorize.User.SecurityUserID; objTicketDetail.Authorized_Date = DateTime.Now; AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Voucher Number-" + objTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "AuthorizedUser_No", Audit_New_Vl = Security.SecurityHelper.CurrentUser.SecurityUserID.ToString() }); } if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY)) { _diagResult = MessageBox.ShowBox("MessageID225", BMC_Icon.Question, BMC_Button.YesNo); } else { _diagResult = System.Windows.Forms.DialogResult.Yes; } if (_diagResult == System.Windows.Forms.DialogResult.Yes) { #region ITALY CODE COMMENTED //if (Settings.RegulatoryEnabled == true && Settings.RegulatoryType == "AAMS") //{ // ProcessCancelled = false; // if (ticketStatus == 0) // { // if (redeemTicketAmount >= Settings.RedeemTicketCustomer_Min && redeemTicketAmount <= Settings.RedeemTicketCustomer_Max) // { // customerDetails = new BMC.Presentation.POS.Views.CustomerDetails(); // customerDetails.delCustomerUpdated += new BMC.Presentation.POS.Views.CustomerDetails.CustomerUpdateHandler(delCustomerUpdated); // customerDetails.delCustomerCancelled += new BMC.Presentation.POS.Views.CustomerDetails.CustomerCancelHandler(delCustomerCancelled); // Owner = Window.GetWindow(this); // customerDetails.ShowDialog(); // } // else if (redeemTicketAmount >= Settings.RedeemTicketCustomer_BankAcctNo) // { // customerDetails = new BMC.Presentation.POS.Views.CustomerDetails(true); // customerDetails.delCustomerUpdated += new BMC.Presentation.POS.Views.CustomerDetails.CustomerUpdateHandler(delCustomerUpdated); // customerDetails.delCustomerCancelled += new BMC.Presentation.POS.Views.CustomerDetails.CustomerCancelHandler(delCustomerCancelled); // Owner = Window.GetWindow(this); // customerDetails.ShowDialog(); // } // if (ProcessCancelled) // { // MessageBox.ShowBox("MessageID299", BMC_Icon.Information); // this.ucValueCalc.txtDisplay.Text = string.Empty; // return; // } // } //} #endregion objTicketDetail = objCashDeskOper.RedeemOnlineTicket(objTicketDetail); isValid = objTicketDetail.ValidTicket; } else { disptimerRedeem.Start(); this.txtStatus.Visibility = Visibility.Hidden; return; } disptimerRedeem.Start(); } else { objTicketDetail = objCashDeskOper.RedeemOnlineTicket(objTicketDetail); isValid = objTicketDetail.ValidTicket; } if (objTicketDetail.TicketStatus == "MessageID210") objTicketDetail.TicketStatus = Application.Current.FindResource(objTicketDetail.TicketStatus).ToString() + "(" + CommonUtilities.GetCurrency(Convert.ToDouble(objTicketDetail.TicketValue / 100)) + ")"; else objTicketDetail.TicketStatus = Application.Current.FindResource(objTicketDetail.TicketStatus).ToString(); IsCashDispenseError = true; if (isValid && objTicketDetail.RedeemedMachine != null && objTicketDetail.RedeemedMachine != string.Empty) { try { //DateTime PrintDate; //string strbar_pos = objCashDeskOper.GetTicketPrintDevice(objTicketDetail.TicketString, out PrintDate); DateTime PrintDate = DateTime.Now; string strbar_pos = objCashDeskOper.GetTicketPrintDevice(objTicketDetail.TicketString, out PrintDate); //TextBlock_11.Text = "#" + strbar_pos + PrintDate.ToString().Replace("/", "").Replace(":", "").Replace("AM", "0").Replace("PM", "1").Replace(" ", ""); //TextBlock_11.Text = "#" + objTicketDetail.PrintedDevice + objTicketDetail.PrintedDate.ToString().Replace("/", "").Replace(":", "").Replace("AM", "0").Replace("PM", "1").Replace(" ", ""); if (objTicketDetail.RedeemedDate == null || objTicketDetail.RedeemedDate.ToString().Trim().Equals(string.Empty)) { TextBlock_11.Text = string.Empty; } else { TextBlock_11.Text = "#" + strbar_pos + objTicketDetail.RedeemedDate.ToString("ddMMyyyyHHmmss"); } txtAmount.Text = objTicketDetail.RedeemedAmount.GetUniversalCurrencyFormat(); if (!objTicketDetail.TicketStatus.Trim().ToUpper().Equals("ALREADY CLAIMED")) { #region GCD if (Settings.IsGloryCDEnabled && Settings.CashDispenserEnabled) { LogManager.WriteLog(string.Format("Process Redeem Voucher: {2} for Bar Postion: {0} - Amount: {1} in cents", strbar_pos, ticketAmount, objTicketDetail.TicketString), LogManager.enumLogLevel.Info); //implement Cash Dispenser LogManager.WriteLog(string.Format("Amount: {0:0.00} Sending to Cash Dispenser ", ticketAmount), LogManager.enumLogLevel.Info); LoadingWindow ld = new LoadingWindow(Window.GetWindow(this), ModuleName.Voucher, TextBlock_11.Text , strbar_pos, ticketAmount); ld.Topmost = true; ld.ShowDialogEx(this); Result res = ld.Result; if (!res.IsSuccess) { IsCashDispenseError = false; this.txtStatus.Text = res.error.Message; LogManager.WriteLog(string.Format("Unable to Dispense Cash - Amount: {0}", ticketAmount), LogManager.enumLogLevel.Info); LogManager.WriteLog("Rollback Redeem Voucher Process", LogManager.enumLogLevel.Info); AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Rollback redeem voucher:" + objTicketDetail.TicketString + " due to cash dispenser error", AuditOperationType = OperationType.MODIFY, Audit_Old_Vl = "iPayDeviceid:" + objTicketDetail.RedeemedDevice + ";dtPaid:" + objTicketDetail.RedeemedDate.GetUniversalDateTimeFormat() + ";Customerid:" + objTicketDetail.CustomerId.ToString() }); objCashDeskOper.RollbackRedeemTicket(objTicketDetail.TicketString); if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY)) { BMC.Presentation.MessageBox.ShowBox(res.error.Message, res.error.MessageType.Equals("Error") ? BMC_Icon.Error : BMC_Icon.Information, true); } } else { LogManager.WriteLog(string.Format("Cash Dispensed Successfully - Amount: {0}", ticketAmount), LogManager.enumLogLevel.Info); IsCashDispenseError = true; if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY)) { BMC.Presentation.MessageBox.ShowBox(res.error.Message, res.error.MessageType.Equals("Error") ? BMC_Icon.Error : BMC_Icon.Information, true); } } } #endregion } } catch (Exception Ex) { LogManager.WriteLog("Error showing Voucher Info :" + Ex.Message, LogManager.enumLogLevel.Error); } } if (objTicketDetail.ShowOfflineTicketScreen) { int result; if (objTicketDetail.HostSiteCode == Settings.SiteCode) // Offline Tickets redemption is valid only for local site code result = objCashDeskOper.CheckSDGOfflineTicket(objTicketDetail.TicketString); else result = -14; if (result == -14)// Site Code Mismatch { this.txtStatus.Visibility = Visibility.Visible; this.txtStatus.Text = Application.Current.FindResource("MessageID312") as string; this.txtStatus.Background = System.Windows.Media.Brushes.Red; return; } else { frmRedeemOffline = new BMC.Presentation.POS.Views.CRedeemOfflineTicket(); frmRedeemOffline.TicketNumber = ucValueCalc.txtDisplay.Text.Trim(); frmRedeemOffline.ShowDialogEx(this); if(frmRedeemOffline.IsSuccessfull) { this.ucValueCalc.txtDisplay.Text = frmRedeemOffline.TicketNumber; button_Click(sender, e); } else { this.ucValueCalc.txtDisplay.Text = string.Empty; this.txtStatus.Clear(); } } } else { if (Settings.IsGloryCDEnabled && (!IsCashDispenseError)) { disptimerRedeem.Stop(); this.txtStatus.Visibility = Visibility.Visible; this.txtStatus.Background = System.Windows.Media.Brushes.Red; TextBlock_11.Text = string.Empty; txtAmount.Text = string.Empty; System.Threading.Thread.Sleep(100); //System.Threading.Thread.CurrentThread disptimerRedeem.Start(); } else { this.txtStatus.Text = objTicketDetail.TicketStatus; //"(" + CommonUtilities.GetCurrency(Convert.ToDouble(TicketDetail.TicketValue / 100)) + ")"; if (Application.Current.FindResource("MessageID219").ToString() == objTicketDetail.TicketStatus) { bisTicketExpired = true; } this.txtWarning.Text = objTicketDetail.TicketWarning; if (!objTicketDetail.ValidTicket) { this.txtStatus.Background = System.Windows.Media.Brushes.Red; AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Invalid Voucher Redemption Attempt", AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher Number", Audit_New_Vl = objTicketDetail.TicketString }); } else { this.txtStatus.Background = System.Windows.Media.Brushes.White; AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Voucher Number-" + objTicketDetail.TicketString, AuditOperationType = OperationType.ADD, Audit_Field = "Voucher Status", Audit_New_Vl = objTicketDetail.TicketStatus }); //Cross Ticketing- Insert Local Record if (!string.IsNullOrEmpty(objTicketDetail.VoucherXMLData)) { objTicketDetail.RedeemedUser = Security.SecurityHelper.CurrentUser.UserName; objCashDeskOper.ImportVoucherDetails(objTicketDetail); } if (objTicketDetail.TicketStatus.Contains(Application.Current.FindResource("MessageID210").ToString())) { //disptimerRedeem.Stop(); Action act = new Action(() => { if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY)) { if (IsCashDispenseError) { if (Settings.IsGloryCDEnabled) { disptimerRedeem.Stop(); this.txtStatus.Visibility = Visibility.Visible; } else { this.ClearAll(false); } MessageBox.ShowBox("MessageID377", BMC_Icon.Information); } } else { this.txtStatus.Text = Application.Current.FindResource("MessageID377").ToString(); txtAmount.Text = Convert.ToDecimal(objTicketDetail.TicketValue / 100).GetUniversalCurrencyFormat(); bisTicketExpired = false; this.txtStatus.Background = System.Windows.Media.Brushes.GreenYellow; } if (!Settings.IsGloryCDEnabled) { this.dispenserStatus.LoadItemsAysnc(); } }); if (!Settings.IsGloryCDEnabled) { _worker.Dispense("Voucher Number", objTicketDetail.TicketString, objTicketDetail.RedeemedAmount, act); } else { act(); disptimerRedeem.Start(); } } } if (objTicketDetail.EnableTickerPrintDetails) { this.gridRedeemedTicket.Visibility = Visibility.Visible; this.txtPrintedMachine.Text = objTicketDetail.RedeemedMachine; this.txtClaimedDevice.Text = objTicketDetail.RedeemedDevice; this.txtTickAmount.Text = objTicketDetail.RedeemedAmount.GetUniversalCurrencyFormatWithSymbol(); this.txtClaimedDate.Text = objTicketDetail.RedeemedDate.GetUniversalDateTimeFormat(); } else { this.gridRedeemedTicket.Visibility = Visibility.Hidden; } this.ucValueCalc.txtDisplay.Focus(); } } } else { MessageBox.ShowBox("MessageID105", BMC_Icon.Warning); this.ucValueCalc.txtDisplay.Focus(); } } catch (Exception ex) { BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex); } finally { btnVerify.IsEnabled = true; } }
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); } }
private string RedeemTicket(ReedemTicketInfo ticket) { LogManager.WriteLog("Inside RedeemTicket() Method", LogManager.enumLogLevel.Info); bool _isValidTicket = false; double RedeemTicketAmt = 0; int iCustomerID = 0; IRedeemOnlineTicket _objRedeemOnlineTicket = RedeemOnlineTicketBusinessObject.CreateInstance(); RTOnlineTicketDetail _objOnlineTicketDetail = new RTOnlineTicketDetail(); try { _objOnlineTicketDetail.RedeemedMachine = System.Environment.MachineName; _objOnlineTicketDetail.ClientSiteCode = Settings.SiteCode; LogManager.WriteLog("The Voucher Redeem is Validating", LogManager.enumLogLevel.Info); _objOnlineTicketDetail.TicketString = ticket.Barcode; _objOnlineTicketDetail.HostSiteCode = _objOnlineTicketDetail.TicketString.Substring(0, 4); LogManager.WriteLog("Redeeming the Voucher :" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); Dispatcher.BeginInvoke((Action)(() => { ticket.Status = Application.Current.Resources["CRedeemMultipleTicketRedemptionValidating"].ToString(); }), null); validateVoucher(ticket); _objOnlineTicketDetail = ticket.oRTOnlineTicketDetail; ticket.TicketStatus = _objOnlineTicketDetail.TicketStatusCode; ticket.oRTOnlineTicketDetail = _objOnlineTicketDetail; if (_objOnlineTicketDetail.TicketStatusCode != 0 && _objOnlineTicketDetail.TicketStatusCode != -14 && _objOnlineTicketDetail.TicketStatusCode != -15 && _objOnlineTicketDetail.TicketStatusCode != 1) //Exception Occured { return Application.Current.Resources["MessageID425"].ToString(); } int iTicketAmount = Convert.ToInt32(_objOnlineTicketDetail.RedeemedAmount); RedeemTicketAmt = iTicketAmount; _objOnlineTicketDetail.CustomerId = iCustomerID; _objOnlineTicketDetail.AuthorizedUser_No = Security.SecurityHelper.CurrentUser.User_No; _objOnlineTicketDetail.RedeemedUser = Security.SecurityHelper.CurrentUser.UserName; #region ValidVoucher //For active voucher if ((_objOnlineTicketDetail.TicketStatusCode == 0) && (Settings.RedeemConfirm)) { LogManager.WriteLog("Processing valid Voucher with status (0) with Barcode" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); Dispatcher.BeginInvoke((Action)(() => { ticket.Status = Application.Current.Resources["RedeemMultipleTicketProcessingMessage"].ToString(); }), null); _objOnlineTicketDetail.TicketString = ticket.Barcode; // to pass the exact barcode entered in the UI to redeem since validation length check is done during redemption also] _objRedeemOnlineTicket.RedeemOnlineTicket(_objOnlineTicketDetail); _isValidTicket = _objOnlineTicketDetail.ValidTicket; //Thread.Sleep(300); LogManager.WriteLog("The Voucher Redeem is Processed", LogManager.enumLogLevel.Info); ticket.Status = Application.Current.Resources[_objOnlineTicketDetail.TicketStatus].ToString(); string AuditTicketStatus = ticket.Status; //DB will return as VALID VOUCHER(MessageID210) if the voucher is redeemed successfully, So if the //ticket is redeemed successfully,by checking the ticket status, the redemption is displayed in the grid if (ticket.Status == Application.Current.Resources["MessageID210"].ToString()) { ticket.Status = Application.Current.Resources["CRedeemMultipleTicketRedemptionSuccess"].ToString(); AuditTicketStatus = AuditTicketStatus + "(" + CommonUtilities.GetCurrency(Convert.ToDouble(_objOnlineTicketDetail.TicketValue)) + ")"; //Audit the redeemed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "Voucher Number -" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.ADD, Audit_Field = "Voucher Status", Audit_New_Vl = AuditTicketStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else { ticket.Status = Application.Current.Resources["CRedeemMultipleVoucherRedemptionFailed"].ToString(); ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = AuditTicketStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } ticket.IsVoucherRedeemed = true; return ticket.Status; } #endregion ValidVoucher #region TISVALIDVOUCHER //For active voucher else if ((_objOnlineTicketDetail.TicketStatusCode == 1) && (Settings.RedeemConfirm)) { LogManager.WriteLog("Processing valid TIS Voucher with status (1) with Barcode" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); Dispatcher.BeginInvoke((Action)(() => { ticket.Status = Application.Current.Resources["RedeemMultipleTicketProcessingMessage"].ToString(); }), null); _objRedeemOnlineTicket.RedeemOnlineTicket(_objOnlineTicketDetail); _isValidTicket = _objOnlineTicketDetail.ValidTicket; // Thread.Sleep(300); LogManager.WriteLog("The Voucher Redeem is Processed", LogManager.enumLogLevel.Info); ticket.Status = Application.Current.Resources[_objOnlineTicketDetail.TicketStatus].ToString(); string TISAuditStatus = ticket.Status; //DB will return as VALID VOUCHER(MessageID210) if the voucher is redeemed successfully, So if the //ticket is redeemed successfully,by checking the ticket status, the redemption is displayed in the grid if (ticket.Status == Application.Current.Resources["MessageID210"].ToString()) { ticket.Status = Application.Current.Resources["CRedeemTISVoucherRedeemSuccess"].ToString(); //Audit the redeemed voucher 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.ADD, Audit_Field = "Voucher Status", Audit_New_Vl = TISAuditStatus+"["+ ticket.Amount + "]", Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else if (ticket.Status == Application.Current.Resources["MessageID876"].ToString()) // for TIS Effective date mismatch { ticket.Status = ticket.Status; ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "TIS Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = TISAuditStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else { ticket.Status = Application.Current.Resources["CRedeemTISVoucherRedeemFailed"].ToString(); ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "TIS Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = TISAuditStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } ticket.IsVoucherRedeemed = true; return ticket.Status; } #endregion TISVALIDVOUCHER #region forExpiredVoucher //Expired Voucher else if (_objOnlineTicketDetail.TicketStatusCode == -14 && (Settings.RedeemConfirm) && Settings.RedeemExpiredTicket) { LogManager.WriteLog("Processing expired Voucher with status -14 with Barcode" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); LogManager.WriteLog("The expired Voucher Redeem is Processing", LogManager.enumLogLevel.Info); Dispatcher.BeginInvoke((Action)(() => { ticket.Status = Application.Current.Resources["RedeemMultipleTicketProcessingMessage"].ToString(); }), null); _objOnlineTicketDetail = _objRedeemOnlineTicket.RedeemOnlineTicket(_objOnlineTicketDetail); _isValidTicket = _objOnlineTicketDetail.ValidTicket; Thread.Sleep(300); LogManager.WriteLog("The Voucher:" + ticket.Barcode + "is Redeemed successfully", LogManager.enumLogLevel.Info); ticket.Status = Application.Current.Resources[_objOnlineTicketDetail.TicketStatus].ToString(); string AuditExpiredStatus = ticket.Status; //DB will return as VALID VOUCHER(MessageID210) if the voucher is redeemed successfully, So if the //ticket is redeemed successfully,by checking the ticket status, the redemption is displayed in the grid if (ticket.Status == Application.Current.Resources["MessageID210"].ToString()) { ticket.Status = Application.Current.Resources["CRedeemMultipleTicketRedemptionSuccess"].ToString(); //Audit the redeemed voucher 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.ADD, Audit_Field = "Voucher Status", Audit_New_Vl = AuditExpiredStatus + "[" + ticket.Amount + "]", Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else { ticket.Status = Application.Current.Resources["CRedeemMultipleVoucherRedemptionFailed"].ToString(); ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "Expired Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = AuditExpiredStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } ticket.IsVoucherRedeemed = true; } #endregion forExpiredVoucher #region forTISExpiredVoucher //Expired Voucher else if (_objOnlineTicketDetail.TicketStatusCode == -15 && (Settings.RedeemConfirm) && Settings.RedeemExpiredTicket) { LogManager.WriteLog("Processing TIS expired Voucher with status -15 with Barcode" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); LogManager.WriteLog("The expired TIS Voucher Redeem is Processing", LogManager.enumLogLevel.Info); Dispatcher.BeginInvoke((Action)(() => { ticket.Status = Application.Current.Resources["RedeemMultipleTicketProcessingMessage"].ToString(); }), null); _objOnlineTicketDetail = _objRedeemOnlineTicket.RedeemOnlineTicket(_objOnlineTicketDetail); _isValidTicket = _objOnlineTicketDetail.ValidTicket; Thread.Sleep(300); LogManager.WriteLog("The Voucher:" + ticket.Barcode + "is Redeemed successfully", LogManager.enumLogLevel.Info); ticket.Status = Application.Current.Resources[_objOnlineTicketDetail.TicketStatus].ToString(); string TISExpiredAuditStatus = ticket.Status; //DB will return as VALID VOUCHER(MessageID210) if the voucher is redeemed successfully, So if the //ticket is redeemed successfully,by checking the ticket status, the redemption is displayed in the grid if (ticket.Status == Application.Current.Resources["MessageID210"].ToString()) { ticket.Status = Application.Current.Resources["CRedeemTISVoucherRedeemSuccess"].ToString(); //Audit the redeemed voucher 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.ADD, Audit_Field = "Voucher Status", Audit_New_Vl = TISExpiredAuditStatus+ "["+ ticket.Amount + "]", Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else if (ticket.Status == Application.Current.Resources["MessageID876"].ToString()) // for TIS Effective date mismatch { ticket.Status = ticket.Status; ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "TIS Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = TISExpiredAuditStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } else { ticket.Status = Application.Current.Resources["CRedeemTISVoucherRedeemFailed"].ToString(); ticket.TicketStatus = -1; //Audit the redemption failed voucher AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.MultipleVoucherRedeem, Audit_Screen_Name = "Multiple Redeem Voucher", Audit_Desc = "TIS Voucher redemption failed for :-" + _objOnlineTicketDetail.TicketString, AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher status", Audit_New_Vl = TISExpiredAuditStatus, Audit_User_ID = _objOnlineTicketDetail.AuthorizedUser_No, Audit_User_Name = _objOnlineTicketDetail.RedeemedUser }); } ticket.IsVoucherRedeemed = true; } #endregion forTISExpiredVoucher else if (_objOnlineTicketDetail.TicketStatusCode == -14 && (Settings.RedeemConfirm) && !Settings.RedeemExpiredTicket) { LogManager.WriteLog("Processing expired Voucher with status -14 with Barcode with EXPIRED TICKET setting as FALSE" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); ticket.IsVoucherRedeemed = false; ticket.Status = Application.Current.Resources["CRedeemMultipleTicketRedeemExpired"].ToString(); AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Invalid Voucher Redemption Attempt", AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher Number", Audit_New_Vl = _objOnlineTicketDetail.TicketString }); } else if (_objOnlineTicketDetail.TicketStatusCode == -15 && (Settings.RedeemConfirm) && !Settings.RedeemExpiredTicket) { LogManager.WriteLog("Processing expired Voucher with status -15 with Barcode with EXPIRED TICKET setting as FALSE" + _objOnlineTicketDetail.TicketString, LogManager.enumLogLevel.Info); ticket.IsVoucherRedeemed = false; ticket.Status = Application.Current.Resources["CRedeemMultipleVoucherTISExpiredVoucher"].ToString(); AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History { AuditModuleName = ModuleName.Voucher, Audit_Screen_Name = "Vouchers|RedeemVoucher", Audit_Desc = "Invalid Voucher Redemption Attempt", AuditOperationType = OperationType.MODIFY, Audit_Field = "Voucher Number", Audit_New_Vl = _objOnlineTicketDetail.TicketString }); } } catch (Exception ex) { ExceptionManager.Publish(ex); ticket.Status = Application.Current.Resources["CRedeemMultipleVoucherRedemptionFailed"].ToString(); ticket.TicketStatus = -1; } return ticket.Status; }
public bool OfflineTicket(ref RTOnlineTicketDetail TicketDetail) { bool isSuccess = false; try { if (redeemTicketDB.DoesOfflineTicketExist(ref TicketDetail)) { TicketDetail.EnableTickerPrintDetails = true; redeemTicketDB.GetExceptionDetails(ref TicketDetail); isSuccess = true; } else isSuccess = false; } catch (Exception ex) { ExceptionManager.Publish(ex); } return isSuccess; }
public redeemVoucherResponse1 redeemVoucher(redeemVoucherRequest request) { if (!CheckCageEnabled()) return null; this.SetUser(request.redeemVoucher.arg0.employeeId); bool isValid = false; RTOnlineTicketDetail objTicketDetail = null; double redeemTicketAmount = 0; redeemVoucherResponse1 oReponse = new redeemVoucherResponse1(); oReponse.redeemVoucherResponse = new redeemVoucherResponse(); oReponse.redeemVoucherResponse.@return = request.redeemVoucher.arg0; try { IRedeemOnlineTicket objCashDeskOper = RedeemOnlineTicketBusinessObject.CreateInstance(); objTicketDetail = new RTOnlineTicketDetail(); objTicketDetail.TicketString = request.redeemVoucher.arg0.barcode; //int ticketStatus = 0; objTicketDetail = objCashDeskOper.GetRedeemTicketAmountCage(objTicketDetail); redeemTicketAmount = double.Parse ( objTicketDetail.RedeemedAmount.ToString()) / 100; objTicketDetail.CustomerId = Custid; int iResult = objCashDeskOper.CheckSDGTicketCage(objTicketDetail.TicketString); LogManager.WriteLog("redeemVoucher->CheckSDGTicketCage Return Value :" + iResult.ToString() , LogManager.enumLogLevel.Info); oReponse.redeemVoucherResponse.@return = objCashDeskOperator.redeemRequestVoucher(request.redeemVoucher.arg0); if (iResult == 0) { isValid = objCashDeskOper.RedeemOnlineTicketCage(objTicketDetail); if (isValid) { [email protected] = "REDEEMED"; [email protected] = 3; [email protected] = 0; } else { [email protected] = objTicketDetail.TicketStatus; [email protected] = -98; [email protected] = -98; } } else { if (iResult == -1) { [email protected] = "VOUCHER_ALREADY_REDEEEMED"; [email protected] = -1001; [email protected] = -1001; } else if (iResult == -2) { [email protected] = "VOUCHER_BARCODE_NOT_EXIST"; [email protected] = -3; [email protected] = -3; } else if (iResult == -3) { if (Settings.RedeemExpiredTicket) { objTicketDetail = new RTOnlineTicketDetail(); objTicketDetail.TicketString = request.redeemVoucher.arg0.barcode; objTicketDetail.CustomerId = Custid; isValid = objCashDeskOper.RedeemOnlineTicketCage(objTicketDetail); LogManager.WriteLog("Redeem Expired Voucher response:" + objTicketDetail.ValidTicket.ToString() + " " + ((objTicketDetail.TicketStatus!= null)?objTicketDetail.TicketStatus:string.Empty), LogManager.enumLogLevel.Info); if (objTicketDetail.ValidTicket == true) { [email protected] = "REDEEMED"; [email protected] = 3; [email protected] = 0; } else { [email protected] = "GENERAL_VOUCHER_ERROR"; [email protected] = -2; [email protected] = -2; } } else { [email protected] = "VOUCHER_EXPIRED"; [email protected] = -1005; [email protected] = -1005; } } else if (iResult == -12) { [email protected] = "REDEEM_REQ_ALREADY_VOIDED"; [email protected] = -1031; [email protected] = -1031; } else if (iResult == -99) { [email protected] = "SITE CODE MISMATCH"; [email protected] = -99; [email protected] = -99; } else { [email protected] = "GENERAL_VOUCHER_ERROR"; [email protected] = -1; [email protected] = -1; } } } catch (Exception ex) { BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex); [email protected] = -1; [email protected] = -1; } return oReponse; }
public voucherDTO redeemRequestVoucher(voucherDTO request) { voucherDTO ovoucherDTO = null; string LocalTicketorSiteCode; string sURL; RTOnlineTicketDetail TicketDetailEntity = new RTOnlineTicketDetail(); TicketDetailEntity.TicketString = request.barcode; ValidateSiteCode(TicketDetailEntity.TicketString, out LocalTicketorSiteCode, out sURL); if (sURL.IsNullOrEmpty() || sURL == "INVALID") //Invalid Site Code or No rights to access other Site { return ovoucherDTO; } else if (sURL.StartsWith("http")) // WebService Call in case of Different Site Code { System.ServiceModel.EndpointAddress objEndpoint = new System.ServiceModel.EndpointAddress(sURL); TicketingClient.TicketingServiceReference.TicketingServiceClient objClient = new TicketingClient.TicketingServiceReference.TicketingServiceClient(objEndpoint, LocalTicketorSiteCode); //EndpointAddress objEndpoint = new EndpointAddress("http://10.2.108.29/TicketingWCFService/TicketingService.svc"); //sURL //TicketingServiceClient objClient = new TicketingServiceClient(objEndpoint, "1001"); //LocalTicketorSiteCode); voucherDTO[] ovoucherDTOarr = objClient.SearchTicketForCage(TicketDetailEntity.TicketString,Settings.SiteCode); if (ovoucherDTOarr != null) { if (ovoucherDTOarr.Length > 0) { ovoucherDTO = ovoucherDTOarr[0]; } } return ovoucherDTO; } return issueTicketDB.redeemRequestVoucherForCage(request); }