public ActionResult ConfirmSale(int movieID, int saloonID, int sessionID, int genreID, string ticketPrice, string seats, CheckoutVM cvm) { bool result; decimal toBeConvertedPrice = Convert.ToDecimal(ticketPrice); cvm.Payment.TicketPrice = toBeConvertedPrice; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://localhost:44391/api/"); Task <HttpResponseMessage> postTask = client.PostAsJsonAsync("Payment/ReceivePayment", cvm.Payment); HttpResponseMessage sonuc; try { sonuc = postTask.Result; } catch (Exception) { TempData["connectionDenial"] = "Banka bağlantıyı reddetti"; return(RedirectToAction("Index", "Home")); } if (sonuc.IsSuccessStatusCode) { result = true; } else { result = false; } if (result) { ViewBag.Seats = seats; int userID = 0; if (Session["member"] != null) { userID = (Session["member"] as AppUser).ID; } else if (Session["vip"] != null) { userID = (Session["vip"] as AppUser).ID; } Sale toBeAdded = new Sale() { AppUserID = userID, MovieID = movieID, SessionID = sessionID, GenreID = genreID, Type = ENTITIES.Enums.PaymentType.CreditCard, SaleType = ENTITIES.Enums.SaleType.Sale, TicketPrice = toBeConvertedPrice }; _saleRep.Add(toBeAdded); string[] selectedSeats = seats.Trim().Split(':'); List <SeatListVM> characterNumber = new List <SeatListVM>(); for (int i = 0; i < selectedSeats.Length; i++) { string[] seat = selectedSeats[i].Split('-'); characterNumber.Add(new SeatListVM { Character = seat[0], Number = Convert.ToInt32(seat[1]) }); } foreach (SeatListVM item in characterNumber) { Seat find = _sRep.FirstOrDefault(x => x.SaloonID == saloonID && x.SessionID == sessionID && x.Character == item.Character && x.Number == item.Number); _saleSeatRep.Add(new SaleSeat { SaleID = toBeAdded.ID, SeatID = find.ID }); find.SeatActive = true; _sRep.Update(find); } TempData["paymentSuccess"] = "Bilet satin alma isleminiz basariyla gerceklesmistir. Bizi tercih ettiginiz icin tesekkür ederiz"; SaleResvervationTicketVM srvm = new SaleResvervationTicketVM() { MovieName = toBeAdded.Movie.MovieName, TicketPrice = toBeConvertedPrice, SalonID = saloonID, SaleNo = toBeAdded.SaleNo, TicketDate = (_sesRep.FirstOrDefault(x => x.ID == sessionID)).Time }; return(View(srvm)); } TempData["paymentFailed"] = "Bilet alma isleminizde bir sorun olustu lutfen daha sonra tekrar deneyiniz."; return(RedirectToAction("Index", "Home")); } }
public ActionResult ConfirmReservation(int movieID, int saloonID, int sessionID, int genreID, string ticketPrice, string seats) { decimal toBeConverted = Convert.ToDecimal(ticketPrice); var query = _saleRep.FirstOrDefault(x => x.MovieID == movieID && x.SessionID == sessionID && x.GenreID == genreID && x.TicketPrice == toBeConverted); ViewBag.Seats = seats; if (query == null) { int userID = 0; if (Session["member"] != null) { userID = (Session["member"] as AppUser).ID; } else if (Session["vip"] != null) { userID = (Session["vip"] as AppUser).ID; } Sale toBeAdded = new Sale() { AppUserID = userID, MovieID = movieID, SessionID = sessionID, GenreID = genreID, Type = ENTITIES.Enums.PaymentType.JustReservation, SaleType = ENTITIES.Enums.SaleType.Reservation, TicketPrice = Convert.ToDecimal(ticketPrice) }; _saleRep.Add(toBeAdded); string[] selectedSeats = seats.Trim().Split(':'); List <SeatListVM> characterNumber = new List <SeatListVM>(); for (int i = 0; i < selectedSeats.Length; i++) { string[] seat = selectedSeats[i].Split('-'); characterNumber.Add(new SeatListVM { Character = seat[0], Number = Convert.ToInt32(seat[1]) }); } foreach (SeatListVM item in characterNumber) { Seat result = _sRep.FirstOrDefault(x => x.SaloonID == saloonID && x.SessionID == sessionID && x.Character == item.Character && x.Number == item.Number); result.SeatActive = true; _saleSeatRep.Add(new SaleSeat { SaleID = toBeAdded.ID, SeatID = result.ID }); _sRep.Update(result); } SaleResvervationTicketVM srtvm = new SaleResvervationTicketVM() { MovieName = toBeAdded.Movie.MovieName, TicketPrice = Convert.ToDecimal(ticketPrice), SalonID = saloonID, SaleNo = toBeAdded.SaleNo, TicketDate = (_sesRep.FirstOrDefault(x => x.ID == sessionID)).Time }; return(View(srtvm)); } else { SaleResvervationTicketVM svtvm = new SaleResvervationTicketVM() { MovieName = query.Movie.MovieName, TicketPrice = Convert.ToDecimal(ticketPrice), SalonID = saloonID, SaleNo = query.SaleNo, TicketDate = (_sesRep.FirstOrDefault(x => x.ID == sessionID)).Time }; return(View(svtvm)); } }