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 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; }