private void ReserveTicket() { if (validation.ValidateFields(new Control[] { ticketFirstNameInput, ticketLastNameInput, ticketConcertInput, ticketEmailInput }) && validation.ValidateMail(ticketEmailInput.Text)) { var newTicket = new TicketOrders { FirstName = ticketFirstNameInput.Text, LastName = ticketLastNameInput.Text, ConcertID = Int32.Parse(ticketConcertInput.SelectedValue.ToString().Split(new string[] { " | " }, StringSplitOptions.None)[0]), Mail = ticketEmailInput.Text, PhoneNumber = ticketPhoneNumberInput.Text, VIPTicket = ticketVipCheckbox.IsChecked ?? false }; context.TicketOrders.Add(newTicket); context.SaveChanges(); this.NavigationService.Navigate(new Uri("Windows/TicketOrdersList.xaml", UriKind.Relative)); } else { wrongMailText.Text = "This field cannot be empty"; wrongMailText.Visibility = Visibility.Visible; emptyConcertText.Visibility = Visibility.Visible; emptyFirstNameText.Visibility = Visibility.Visible; emptyLastNameText.Visibility = Visibility.Visible; } if (!validation.ValidateMail(ticketEmailInput.ToString()) && !String.IsNullOrWhiteSpace(ticketEmailInput.Text)) { wrongMailText.Text = "Invalid e-mail address!"; wrongMailText.Visibility = Visibility.Visible; } }
public IActionResult UpdateOrder([FromBodyAttribute] TicketOrderUpdate Request) { if (!ModelState.IsValid || Request.OrderId == 0 || string.IsNullOrEmpty(Request.status)) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1000", ResponseMessage = "failed", Status = "Error in Api while Update in OrderTicket ", ResponseResult = "Request is Invalid" })); } try { ITicketStatusRepository _status = new TicketStatusRepository(_applicationDbContext); var Status = _status.FindBy(x => x.fullName == Request.status).FirstOrDefault().Id; TicketOrders order = _order.FindBy(x => x.Id == Request.OrderId).SingleOrDefault(); order.ticketStatus = Convert.ToInt32(Status); _order.Update(order); _order.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = order })); } catch (Exception e) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1000", ResponseMessage = "failed", Status = "Error in update", ResponseResult = e })); } }
public void checkEmptyConfig_back_notEmpty() { var config = new TicketOrders(); config.targetDate.TripBackDate = "11/30"; config.targetDate.TripBackTime = "11:30"; var check = _validation.haveBackDateFunc(config); Assert.IsTrue(check); }
public void checkEmptyConfig_back() { var config = new TicketOrders(); config.targetDate.TripBackDate = ""; config.targetDate.TripBackTime = ""; var check = _validation.haveBackDateFunc(config); Assert.IsFalse(check); }
public void validOrderIdAndIdCardTest() { try { var config = new TicketOrders(); _validation.validOrderIdAndIdCard(config); } catch (InvalidConfigException ex) { Assert.True(ex.Message.Contains("訂位代號及身份證字號不得為空")); } }
private long Order(passengerList p, FareEnquiry_Response_Type3 Response, TransactionalTrainFareRequest Request, passengerList[] psngerArray) { IIDCardTypeRepository _card = new IDCardTypeRepository(_applicationDbContext); IQuotaRepository _quota = new QuotaRepository(_applicationDbContext); IUserRegistrationRepository _user = new UserRegistrationRepository(_applicationDbContext); ITicketStatusRepository _status = new TicketStatusRepository(_applicationDbContext); IMerchantTypeRepository _merchantType = new MerchantTypeRepository(_applicationDbContext); var Status = _status.FindBy(x => x.fullName == "ORDERD").FirstOrDefault().Id; var QuotaId = _quota.FindBy(x => x.shortName == Request.quota).FirstOrDefault().Id; var Icardno = _card.FindBy(x => x.name == p.passengerCardType).FirstOrDefault().Id; var User = _user.FindBy(x => x.merchantAccount == Request.loginAccountNo).SingleOrDefault(); var merchantType = _merchantType.FindBy(x => x.merchantId == User.merchantId).SingleOrDefault(); // Dynamic Pgcharges decimal PgCharge = merchantType.conditionalAmount >= Convert.ToDecimal(Response.totalFare) ?decimal.Divide(decimal.Multiply(Convert.ToDecimal(Response.totalFare), Convert.ToDecimal(merchantType.pgChargeUnderCondition)), 100) :decimal.Divide(decimal.Multiply(Convert.ToDecimal(Response.totalFare), Convert.ToDecimal(merchantType.pgChargeBeyondCondition)), 100); TicketOrders Order = _order.AddTicketOrder(new TicketOrders() { sourceStation = Request.trainFrom, destStation = Request.trainTo, trainNumber = Request.trainNo, trainName = Response.trainName, Class = Request.trainClass, reserveUpto = Request.trainTo, bordingPoint = Request.request.boardingStation, ticketAmt = Convert.ToDecimal(Response.totalFare), totalAmt = Convert.ToDecimal(Response.totalFare) + merchantType.oxigenServiceCharge - merchantType.merchantCommission, //from database from -- //merchantConfigTable(totalfare+oxigenServiceCharge-MerchantCommission) journeyDay = Convert.ToInt32(Request.journyDate.Substring(6)), journeyMonth = Convert.ToInt32(Request.journyDate.Substring(4, 2)), journeyYear = Convert.ToInt32(Request.journyDate.Substring(0, 4)), quota = Convert.ToInt32(QuotaId), //from data base based on quota id pmtGatewayName = merchantType.pgName, pmtCardType = Request.pmtCardType, accountNumber = Request.accountNumber, irctcServiceCharge = Convert.ToDecimal(Response.wpServiceCharge) + Convert.ToDecimal(Response.wpServiceTax), operatorCode = Request.operatorCode, mobileNo = Request.request.mobileNumber, idCardNumber = p.passengerCardNumber, idCardType = Convert.ToInt32(Icardno), //will get by p.passengerCardType from database ticketStatus = Convert.ToInt32(Status), //ticketstatus from database paymentGateway = (long)(PgCharge), //payment gateway charges from database in percent session = Request.userSession, bookingDate = DateTime.Now, oxigenServiceCharge = merchantType.oxigenServiceCharge, //from database from merchantConfigTable email = Request.PassengerEmail, //from database using login account no loginAccountNo = Request.loginAccountNo, bookingSource = HttpContext.Connection.RemoteIpAddress.ToString(), reservationChoice = (Request.request.reservationChoice) == "FALSE" ? "N" : "Y", isTatkal = Request.isTatkal, ticketVerificationKey = Request.loginAccountNo + ":" + Request.trainNo + ":" + Request.trainFrom + ":" + Request.trainTo + ":" + Request.userSession + ":" + Request.journyDate + ":" + Request.request.mobileNumber, psgAddress = Request.psgAddress, irctcTxnNumber = Request.request.clientTransactionId }); _order.Commit(); if (psngerArray != null) { foreach (passengerList p1 in psngerArray) { long NewpsngrId = addPassenger(Icardno, Order.Id, p1, Response, Request); } } else { long NewpsngrId = addPassenger(Icardno, Order.Id, p, Response, Request); } return(Order.Id); }