private void button1_Click(object sender, EventArgs e) { string start = startComboBox.SelectedItem.ToString(); string end = endComboBox.SelectedItem.ToString(); TicketPrice result = new TicketPrice(); if (toSouthRadioButton.Checked) { result = tickets.Find((x) => x.Startstation == start && x.Endstation == end); } if (toNorthRadioButton.Checked) { result = tickets.Find((x) => x.Startstation == end && x.Endstation == start); } decimal total = (decimal)result.Price; if (checkBox1.Checked) { total = total * (decimal)0.9; } if (checkBox2.Checked) { total = total * (decimal)0.9; } label4.Text = ((int)total).ToString(); }
public async Task <IActionResult> Edit(int id, [Bind("TicketID,TicketName,Price,AirlineName")] TicketPrice ticketPrice) { if (id != ticketPrice.TicketID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(ticketPrice); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TicketPriceExists(ticketPrice.TicketID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["AirlineID"] = new SelectList(_context.Airline, "AirlineName", "AirlineName", ticketPrice.AirlineID); return(View(ticketPrice)); }
public ActionResult Processed(List <SelectedSeatsViewModel> selected_seats, int?session_id) { if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault(); List <OrderItemViewModel> orderItems = new List <OrderItemViewModel>(); foreach (var item in selected_seats) { TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number); orderItems.Add(new OrderItemViewModel { Price = ticketPrice.Price, SeatRow = item.Row, SeatNumber = item.Number }); } OrderProcessedViewModel model = new OrderProcessedViewModel { OrderItems = orderItems, SessionId = session.Id, SessionDate = session.DateTime, CinemaHallName = session.CinemaHall.Name, CinemaName = session.CinemaHall.Cinema.Name, MovieName = session.Movie.Name, Session = session }; return(View(model)); }
// POST: api/Tickets //[ResponseType(typeof(void))] public IHttpActionResult PostTicket(PomModelForAddTicketPayPal pom) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Ticket ticket = new Ticket(); AppUser appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.pomModelForBuyTicket.Email).FirstOrDefault(); TypeOfTicket tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault(); PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id && pList.Id == a.PriceListId).FirstOrDefault(); double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient; double c = ticketPrice.Price - (ticketPrice.Price * coeff); ticket.PriceOfTicket = c; ticket.AppUserId = appUser.Id; ticket.TicketPriceId = ticketPrice.Id; ticket.Valid = true; ticket.PurchaseDate = DateTime.Now; ticket.TypeOfTicketId = tt.Id; ticket.Email = pom.pomModelForBuyTicket.Email; ticket.PayPalModelId = pom.PayPalModelId; _unitOfWork.Tickets.Add(ticket); _unitOfWork.Complete(); return(Ok(ticket.Id)); }
public IHttpActionResult PutTicketPrice(int id, TicketPrice ticketPrice) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != ticketPrice.Id) { return(BadRequest()); } db.Entry(ticketPrice).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TicketPriceExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult ReserveTickets(List <SelectedSeatsViewModel> selected_seats, int?session_id) { if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationUserManager userMgr = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); var user = userMgr.FindByName(User.Identity.Name); // якщо в юзера вже заброньовано більше 10 квитків - не дозволю йому бронювати більше, поки він не сплатить заброньовані замовлення if (user.Orders.Where(x => x.OrderStatusId == 2).Sum(x => x.OrderItems.Count) + selected_seats.Count > 10) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault(); if (session.DateTime < DateTime.Now.AddMinutes(35)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // створюю список позицій замовлення (квитків) List <OrderItem> orderItems = new List <OrderItem>(); foreach (var item in selected_seats) { TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number); orderItems.Add(new OrderItem { Movie = session.Movie, Price = ticketPrice.Price, Ticket = new Ticket { SessionDateTime = session.DateTime, CreationDateTime = DateTime.Now, TicketPrice = ticketPrice, Seat = ticketPrice.Seat, StatusId = 2, // заброньовано (видалиться за 30хв до початку сеансу) } }); } // створюю замовлення та зберігаю його в бд Order order = new Order { OrderItems = orderItems, OrderStatusId = 2, // не сплачено (заброньовано) User = userMgr.FindByName(User.Identity.Name), PurchaseDate = DateTime.Now }; orderRepository.AddOrUpdate(order); orderRepository.Save(); TicketHub.NotifyToAllClients(); return(View()); }
public async Task <ActionResult <TicketPrice> > PostMovie(TicketPrice ticketPrice) { dataContext.TicketPrices.Add(ticketPrice); await dataContext.SaveChangesAsync(); return(ticketPrice); }
public IHttpActionResult GetTicketPrices(int id) { TicketPrice ticketPrices = _unitOfWork.TicketPrices.Get(id); if (ticketPrices == null) { return(NotFound()); } return(Ok(ticketPrices)); }
public void TicketPriceMustReturnNotNullableTicket() { var mockTicketService = new Mock <ITicketService>(); mockTicketService.Setup(p => p.GetTicketPrice(1)).Returns(100); mockTicketService.Setup(p => p.GetTicketPrice(2)).Returns(500); mockTicketService.Setup(p => p.GetTicketPrice(3)).Returns(7800); var ticketPriceTest = new TicketPrice(mockTicketService.Object); Assert.That(ticketPriceTest.MakeTicketPrice(3) == 7800); }
public async Task <IActionResult> Create([Bind("TicketID,TicketName,Price,AirlineName")] TicketPrice ticketPrice) { if (ModelState.IsValid) { _context.Add(ticketPrice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["AirlineID"] = new SelectList(_context.Airline, "AirlineName", "AirlineName", ticketPrice.AirlineID); return(View(ticketPrice)); }
public bool PostPriceList(PomModelTicketPrices ticketPrices) { if (!ModelState.IsValid) { return(false); } if (CheckDateTime(ticketPrices.PriceList) == "No") { return(false); } PriceList priceList = new PriceList(); priceList = ticketPrices.PriceList; //priceList.FromTime = ticketPrices.PriceList.FromTime.Value.AddHours(23); priceList.ToTime = ticketPrices.PriceList.ToTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59); priceList.ListOfTicketPrices = new List <TicketPrice>(); TicketPrice ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "TimeLimited").FirstOrDefault().Id, Price = ticketPrices.TimeLimited }; priceList.ListOfTicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Daily").FirstOrDefault().Id, Price = ticketPrices.Daily }; priceList.ListOfTicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Monthly").FirstOrDefault().Id, Price = ticketPrices.Monthly }; priceList.ListOfTicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Annual").FirstOrDefault().Id, Price = ticketPrices.Annual }; priceList.ListOfTicketPrices.Add(ticketPrice); _unitOfWork.PriceLists.Add(priceList); _unitOfWork.Complete(); return(true); }
private void priceManage_Click(object sender, EventArgs e) { TicketPrice price = new TicketPrice(); this.Hide(); DialogResult dr = price.ShowDialog(); if (dr == DialogResult.Cancel) { this.Show(); } }
public ActionResult BuyTickets(List <SelectedSeatsViewModel> selected_seats, int?session_id) { if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // створюю список позицій замовлення (квитків) Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault(); List <OrderItem> orderItems = new List <OrderItem>(); foreach (var item in selected_seats) { TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number); orderItems.Add(new OrderItem { Movie = session.Movie, Price = ticketPrice.Price, Ticket = new Ticket { SessionDateTime = session.DateTime, CreationDateTime = DateTime.Now, TicketPrice = ticketPrice, Seat = ticketPrice.Seat, StatusId = 3, // зарезервовано на 15хв } }); } // створюю замовлення та зберігаю його в бд ApplicationUserManager userMgr = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); Order order = new Order { TestIdForLiqpay = Guid.NewGuid().ToString(), // ця властивість необхідна для тестування "лікпею" OrderItems = orderItems, OrderStatusId = 3, // статус "відхилено" поки користувач не заплатить User = userMgr.FindByName(User.Identity.Name), PurchaseDate = DateTime.Now }; orderRepository.AddOrUpdate(order); orderRepository.Save(); TicketHub.NotifyToAllClients(); // на основі створенго замовлення збираю необхідні для liqpay api дані та відправляю їх на в'ю LiqPayHelper liqPayHelper = new LiqPayHelper(ConfigurationManager.AppSettings["LiqPayPrivateKey"], ConfigurationManager.AppSettings["LiqPayPublicKey"]); string redirect_url = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port) + "/Order/LiqPayCallback"; var model = liqPayHelper.GetLiqPayModel(order, redirect_url); return(View(model)); }
public void TicketPriceMustReturnNotNullableTicket() { // Данной строкой мы создали moq-объект с типом ITicketService var mockTicketService = new Mock <ITicketService>(); // Данные строки выполняют конфигурацию нашего объекта moq. Конкретнее, они устанавливают возвращаемое значение при определенных запросах: mockTicketService.Setup(p => p.GetTicketPrice(1)).Returns(100); mockTicketService.Setup(p => p.GetTicketPrice(2)).Returns(500); mockTicketService.Setup(p => p.GetTicketPrice(3)).Returns(7800); var ticketPriceTest = new TicketPrice(mockTicketService.Object); Assert.That(ticketPriceTest.MakeTicketPrice(3) == 7800); }
public IHttpActionResult DeleteTicketPrice(int id) { TicketPrice ticketPrice = db.TicketPrices.Find(id); if (ticketPrice == null) { return(NotFound()); } db.TicketPrices.Remove(ticketPrice); db.SaveChanges(); return(Ok(ticketPrice)); }
//Get : Attraction/Edit public ActionResult DetailsTicketPrice(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TicketPrice ticketprice = ticketDataGateway.SelectById(id); if (ticketprice == null) { return(HttpNotFound()); } return(View(ticketprice)); }
public string PriceForPayPal(PomModelForBuyTicket pom) { //Pokusaj za dobijenje cijena aktivnog cjenovnika double c = 0; TypeOfTicket tt = new TypeOfTicket(); TicketPrice ticketPrice = new TicketPrice(); PriceList pList = new PriceList(); if (pom.Email != "") { AppUser appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.Email).FirstOrDefault(); tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited //pList = _unitOfWork.PriceLists.Find(a => a.ToTime >= DateTime.Now).FirstOrDefault(); pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault(); double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient; c = ticketPrice.Price - (ticketPrice.Price * coeff); } else { tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault(); c = ticketPrice.Price; } return(c.ToString()); }
// PUT api/TicketPrices/5 public async Task<IHttpActionResult> PutTicketPrice(int id, TicketPrice ticketPrice) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != ticketPrice.TicketPriceID) { return BadRequest(); } await repository.UpdateAsync(ticketPrice, ticketPrice.TicketPriceID); return StatusCode(HttpStatusCode.NoContent); }
public void Test(int adults, int children, int infants, float expectedEconomyPrice, float expectedBusinessPrice, float expectedFirstPrice) { List <TicketPriceInfo> ticketPrices = TicketPrice.Calculate(m_pricingSchemes, adults, children, infants); Assert.AreEqual("E", ticketPrices[0].TravelClassCode); Assert.AreEqual("Economy Class", ticketPrices[0].TravelClass); Assert.AreEqual(expectedEconomyPrice, ticketPrices[0].Amount); Assert.AreEqual("B", ticketPrices[1].TravelClassCode); Assert.AreEqual("Business Class", ticketPrices[1].TravelClass); Assert.AreEqual(expectedBusinessPrice, ticketPrices[1].Amount); Assert.AreEqual("F", ticketPrices[2].TravelClassCode); Assert.AreEqual("First Class", ticketPrices[2].TravelClass); Assert.AreEqual(expectedFirstPrice, ticketPrices[2].Amount); }
public string SendMail(PomModelForAddTicketPayPal ticket) { if (!ModelState.IsValid) { return(BadRequest(ModelState).ToString()); } PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now); if (pList == null) { return("null"); } TypeOfTicket tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == ticket.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault(); TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => pList.Id == a.PriceListId && a.TypeOfTicketId == tt.Id).FirstOrDefault(); string subject = "Ticket purchase"; string desc = $"Dear {ticket.pomModelForBuyTicket.Email},\nYour purchase is successfull.\n " + $"Ticket price: {ticketPrice.Price} din\n " + $"Type of ticket:Time Limited\n" + $"Time of purchase: {DateTime.Now}\n" + $"Ticket is valid for the next hour.\n\n" + $"Thank you."; var email = ticket.pomModelForBuyTicket.Email; //TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id).FirstOrDefault(); Ticket storeTicket = new Ticket(); storeTicket.Email = email; storeTicket.PriceOfTicket = ticketPrice.Price; storeTicket.PurchaseDate = DateTime.Now; storeTicket.TypeOfTicketId = tt.Id; storeTicket.Valid = true; storeTicket.TicketPriceId = ticketPrice.Id; storeTicket.PayPalModelId = ticket.PayPalModelId; _unitOfWork.Tickets.NotifyViaEmail(email, subject, desc); _unitOfWork.Tickets.Add(storeTicket); _unitOfWork.Complete(); return("Ok"); }
/// <summary> /// Метод перевіряє правильність отриманих даних з обраними місцями /// </summary> /// <param name="selected_seats"></param> /// <param name="session_id"></param> /// <returns>false - валідація не пройдена; true - все добре</returns> private bool IsValidSelectedSeats(List <SelectedSeatsViewModel> selected_seats, int?session_id) { if (selected_seats == null) { return(false); } if (selected_seats.Count == 0) { return(false); } if (selected_seats.Count > 10) { return(false); } if (session_id == null) { return(false); } Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault(); if (session == null) { return(false); } if (session.DateTime < DateTime.Now.AddMinutes(5)) { return(false); } foreach (var item in selected_seats) { TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number); if (ticketPrice == null) { return(false); } if (ticketPrice.Ticket != null) { return(false); } } return(true); }
//设置票价和满员 private void SetPriceAndPerson() { TicketPrice ticket = new TicketPrice(); int traintype1 = int.Parse(Request.QueryString["TrainType"]); ETrainType traintype = (ETrainType)traintype1; ECommTrainType type1 = (ECommTrainType)((int)traintype); int yunxingLiCheng = int.Parse(this.totalmiles.Value); TrainShouRu1 shour1 = null; if (traintype == ETrainType.绿皮车25B) { shour1 = new TrainShouRu1(yunxingLiCheng, false, EJiaKuai.其他); } else { shour1 = new TrainShouRu2(yunxingLiCheng, EJiaKuai.特快); } //设置票价 this.p1.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) + shour1.JiaKuaiFee + ""; this.p2.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) + shour1.JiaKuaiFee + shour1.YinWoPrice1 + ""; this.p3.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) + shour1.JiaKuaiFee + shour1.YinWoPrice2 + ""; this.p4.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) + shour1.JiaKuaiFee + shour1.YinWoPrice3 + ""; this.p5.Value = shour1.RuanZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.软卧) + shour1.JiaKuaiFee + shour1.RuanWoPrice1 + ""; this.p6.Value = shour1.RuanZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.软卧) + shour1.JiaKuaiFee + shour1.RuanWoPrice2 + ""; //设置定员 this.m1.Value = ChexianBianZhuData.YinZuo_Pcount + ""; this.m2.Value = (ChexianBianZhuData.YinWo1_Pcount + ChexianBianZhuData.YinWo2_Pcount + ChexianBianZhuData.YinWo3_Pcount) + ""; this.m3.Value = (ChexianBianZhuData.RuanWo1_Pcount + ChexianBianZhuData.RuanWo2_Pcount) + ""; this.m4.Value = TrainProfile.SyCheXianPCount + ""; }
public IHttpActionResult UpdateTimetable(int ticketTypeId, int price) { TicketPrice ticket = new TicketPrice(); ticket = Db.ticketPriceRepository.Find(x => x.TicketTypeId.Equals(ticketTypeId)).FirstOrDefault(); ticket.Price = price; db.Entry(ticket).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException e) { return(StatusCode(HttpStatusCode.BadRequest)); } return(Ok("uspesno")); }
public IHttpActionResult PostTicketPrices([FromBody] PomModelTicketPrices hm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TicketPrice ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Hourly").FirstOrDefault().Id, PriceListId = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id, Price = hm.TimeLimited }; _unitOfWork.TicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Daily").FirstOrDefault().Id, PriceListId = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id, Price = hm.Daily }; _unitOfWork.TicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Monthly").FirstOrDefault().Id, PriceListId = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id, Price = hm.Monthly }; _unitOfWork.TicketPrices.Add(ticketPrice); ticketPrice = new TicketPrice { TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Annual").FirstOrDefault().Id, PriceListId = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id, Price = hm.Annual }; _unitOfWork.TicketPrices.Add(ticketPrice); _unitOfWork.Complete(); return(Ok()); }
// get create ticket public ActionResult CreateTicket(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Attraction attraction = dataGateway.SelectById(id); //if (attraction == null) //{ // return HttpNotFound(); //} TicketPrice newTicket = new TicketPrice(); //newTicket.atID = (int)id; //ticketDataGateway.Insert(newTicket); ViewBag.atID = (int)id; return(View(newTicket)); }
public ActionResult CreateTicket([Bind(Include = "ID")] Attraction attraction, TicketPrice newTicket) { if (ModelState.IsValid) { //attraction.myTicket.ID = attraction.ID; //myTicket.ID = attraction.ID; //dataGateway.Update(attraction); //TicketPrice ticketID = new TicketPrice(); //ticketID.atID = attraction.ID; //attraction.ID; newTicket.atID = attraction.ID; ticketDataGateway.Insert(newTicket); return(RedirectToAction("Index")); } return(View()); }
protected override void Seed(WebApp.Persistence.ApplicationDbContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. // System.Diagnostics.Debugger.Launch(); try { // UserType if (!context.UserType.Any(u => u.Name == "Đak")) { UserType userType = new UserType() { Name = "Đak", Id = 1 }; context.UserType.Add(userType); context.SaveChanges(); } if (!context.UserType.Any(u => u.Name == "Penzioner")) { UserType userType = new UserType() { Name = "Penzioner", Id = 2 }; context.UserType.Add(userType); context.SaveChanges(); } if (!context.UserType.Any(u => u.Name == "Regularan")) { UserType userType = new UserType() { Name = "Regularan", Id = 3 }; context.UserType.Add(userType); context.SaveChanges(); } if (!context.Roles.Any(r => r.Name == "Admin")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "Admin" }; manager.Create(role); } if (!context.Roles.Any(r => r.Name == "Controller")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "Controller" }; manager.Create(role); } if (!context.Roles.Any(r => r.Name == "AppUser")) { var store = new RoleStore <IdentityRole>(context); var manager = new RoleManager <IdentityRole>(store); var role = new IdentityRole { Name = "AppUser" }; manager.Create(role); } var userStore = new UserStore <ApplicationUser>(context); var userManager = new UserManager <ApplicationUser>(userStore); if (!context.Users.Any(u => u.UserName == "*****@*****.**")) { var user = new ApplicationUser() { Id = "admin", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Admin123!"), TypeId = 2 }; userManager.Create(user); userManager.AddToRole(user.Id, "Admin"); } if (!context.Users.Any(u => u.UserName == "*****@*****.**")) { var user = new ApplicationUser() { Id = "controller", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Controller123!"), TypeId = 2 }; userManager.Create(user); userManager.AddToRole(user.Id, "Controller"); } if (!context.Users.Any(u => u.UserName == "appu@yahoo")) { var user = new ApplicationUser() { Id = "appu", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Appu123!"), TypeId = 2 }; userManager.Create(user); userManager.AddToRole(user.Id, "AppUser"); } // Ticket type if (!context.TicketType.Any(t => t.Name == "Vremenska karta")) { TicketType ticketType = new TicketType() { Name = "Vremenska karta", Id = 1 }; context.TicketType.Add(ticketType); try { context.SaveChanges(); } catch (DbEntityValidationException e) { //foreach (var eve in e.EntityValidationErrors) //{ // Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", // eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (var ve in eve.ValidationErrors) // { // Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // } //} //throw; var outputLines = new List <string>(); foreach (var eve in e.EntityValidationErrors) { outputLines.Add(string.Format( "{0}: Entity of type \"{1}\" in state \"{2}\" has the following validation errors:", DateTime.Now, eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { outputLines.Add(string.Format( "- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } // asasdasd System.IO.File.AppendAllLines(@"c:\errors.txt", outputLines); throw; } } if (!context.TicketType.Any(t => t.Name == "Dnevna karta")) { TicketType ticketType = new TicketType() { Name = "Dnevna karta", Id = 2 }; context.TicketType.Add(ticketType); context.SaveChanges(); } if (!context.TicketType.Any(t => t.Name == "Mesečna karta")) { TicketType ticketType = new TicketType() { Name = "Mesečna karta", Id = 3 }; context.TicketType.Add(ticketType); context.SaveChanges(); } if (!context.TicketType.Any(t => t.Name == "Godišnja karta")) { TicketType ticketType = new TicketType() { Name = "Godišnja karta", Id = 4 }; context.TicketType.Add(ticketType); context.SaveChanges(); } // Pricelist if (!context.Pricelist.Any(t => t.Id == 1)) { PriceList pricelist = new PriceList() { Id = 1, From = DateTime.Now.ToString(), To = DateTime.Now.ToString() }; context.Pricelist.Add(pricelist); context.SaveChanges(); } if (!context.Pricelist.Any(t => t.Id == 2)) { PriceList pricelist = new PriceList() { Id = 2, From = DateTime.Now.ToString(), To = DateTime.Now.ToString() }; } if (!context.Pricelist.Any(t => t.Id == 3)) { PriceList pricelist = new PriceList() { Id = 3, From = DateTime.Now.ToString(), To = DateTime.Now.ToString() }; context.Pricelist.Add(pricelist); context.SaveChanges(); } if (!context.Pricelist.Any(t => t.Id == 4)) { PriceList pricelist = new PriceList() { Id = 4, From = DateTime.Now.ToString(), To = DateTime.Now.ToString() }; context.Pricelist.Add(pricelist); context.SaveChanges(); } // ticketPrice if (!context.TicketPrice.Any(t => t.Id == 1)) { TicketPrice ticketPrice = new TicketPrice() { Price = 50, PricelistId = 1, TicketTypeId = 1 }; context.TicketPrice.Add(ticketPrice); context.SaveChanges(); } if (!context.TicketPrice.Any(t => t.Id == 2)) { TicketPrice ticketPrice = new TicketPrice() { Price = 250, PricelistId = 2, TicketTypeId = 2 }; context.TicketPrice.Add(ticketPrice); context.SaveChanges(); } if (!context.TicketPrice.Any(t => t.Id == 3)) { TicketPrice ticketPrice = new TicketPrice() { Price = 1500, PricelistId = 3, TicketTypeId = 3 }; context.TicketPrice.Add(ticketPrice); context.SaveChanges(); } if (!context.TicketPrice.Any(t => t.Id == 4)) { TicketPrice ticketPrice = new TicketPrice() { Price = 4500, PricelistId = 4, TicketTypeId = 4 }; context.TicketPrice.Add(ticketPrice); context.SaveChanges(); } // Lines if (!context.Line.Any(t => t.Id == 1)) { Line line = new Line() { Id = 1, SerialNumber = 1 }; context.Line.Add(line); context.SaveChanges(); } if (!context.Line.Any(t => t.Id == 2)) { Line line = new Line() { Id = 2, SerialNumber = 2 }; context.Line.Add(line); context.SaveChanges(); } if (!context.Line.Any(t => t.Id == 3)) { Line line = new Line() { Id = 3, SerialNumber = 3 }; context.Line.Add(line); context.SaveChanges(); } if (!context.Line.Any(t => t.Id == 4)) { Line line = new Line() { Id = 4, SerialNumber = 4 }; context.Line.Add(line); context.SaveChanges(); } if (!context.Line.Any(t => t.Id == 5)) { Line line = new Line() { Id = 5, SerialNumber = 5 }; context.Line.Add(line); context.SaveChanges(); } // Stations if (!context.Station.Any(t => t.Name == "Prva")) { Station station = new Station() { Id = 1, Name = "Prva", Address = "Adresa Prve" }; context.Station.Add(station); context.SaveChanges(); } if (!context.Station.Any(t => t.Name == "Druga")) { Station station = new Station() { Id = 1, Name = "Prva", Address = "Adresa Druge" }; context.Station.Add(station); context.SaveChanges(); } // Timetable if (!context.TimeTable.Any(t => t.Id == 1)) { TimeTable timetable = new TimeTable() { Id = 1, BusLineId = 1, TimetableTypeId = 1, DayTypeId = 1, Times = "9:50 10:50 11:50" }; context.TimeTable.Add(timetable); context.SaveChanges(); } if (!context.TimeTable.Any(t => t.Id == 2)) { TimeTable timetable = new TimeTable() { Id = 2, BusLineId = 2, TimetableTypeId = 2, DayTypeId = 2, Times = "9:30 10:30 11:30 12:30 13:30" }; context.TimeTable.Add(timetable); context.SaveChanges(); } if (!context.TimeTable.Any(t => t.Id == 3)) { TimeTable timetable = new TimeTable() { Id = 3, BusLineId = 1, TimetableTypeId = 1, DayTypeId = 2, Times = "9:10 10:10 11:10 12:10 13:10" }; context.TimeTable.Add(timetable); context.SaveChanges(); } } catch (DbEntityValidationException e) { //foreach (var eve in e.EntityValidationErrors) //{ // Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", // eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (var ve in eve.ValidationErrors) // { // Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // } //} //throw; var outputLines = new List <string>(); foreach (var eve in e.EntityValidationErrors) { outputLines.Add(string.Format( "{0}: Entity of type \"{1}\" in state \"{2}\" has the following validation errors:", DateTime.Now, eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { outputLines.Add(string.Format( "- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } // asasdasd System.IO.File.AppendAllLines(@"C:\Users\Stefan\errors.txt", outputLines); throw; } }
public IActionResult EndPurchase(EndPurchaseDto endPurchaseDto) { if (User.IsInRole(StaticData.UserRole)) { BusRoute busRoute = _unitOfWork.BusRoute.GetFirstOrDefault(br => br.Id == endPurchaseDto.BusRouteId); int NumberOfTickets = endPurchaseDto.NumberOfNormalTickets + endPurchaseDto.NumberOfStudentsTickets; //valid data from form if (NumberOfTickets > busRoute.AvailableSeats || endPurchaseDto.NumberOfExtraBaggages > NumberOfTickets || NumberOfTickets < 1) { return(RedirectToAction(nameof(PurchaseError))); } busRoute.AvailableSeats -= NumberOfTickets; _unitOfWork.Save(); Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == busRoute.TimetableId); TicketPrice ticketPrice = _unitOfWork.TicketPrice.GetFirstOrDefault(tp => tp.Id == timetable.TicketPriceId); float TicketsValue; if (endPurchaseDto.IsEntireRoute) { TicketsValue = (float)(endPurchaseDto.NumberOfNormalTickets * ticketPrice.PricePerEntireRoute + endPurchaseDto.NumberOfStudentsTickets * ticketPrice.PricePerEntireRoute * 0.5 + endPurchaseDto.NumberOfExtraBaggages * StaticData.ExtraBaggagePrice); } else { TicketsValue = (float)(endPurchaseDto.NumberOfNormalTickets * ticketPrice.PricePerSegment * endPurchaseDto.NumberOfBusStops + endPurchaseDto.NumberOfStudentsTickets * ticketPrice.PricePerSegment * 0.5 * endPurchaseDto.NumberOfBusStops + endPurchaseDto.NumberOfExtraBaggages * StaticData.ExtraBaggagePrice); } Tickets ticket = new Tickets() { NumberOfRegularTickets = endPurchaseDto.NumberOfNormalTickets, NumberOfStudentsTickets = endPurchaseDto.NumberOfStudentsTickets, NumberOfExtraBaggages = endPurchaseDto.NumberOfExtraBaggages, BusRouteId = busRoute.Id, Payment = new Payment() { Value = TicketsValue, Status = StaticData.PaymentStatusNew }, ApplicationUserId = _userManager.GetUserId(User), PurchaseDates = DateTime.UtcNow, Arrival = endPurchaseDto.ArrivalTime, Departure = endPurchaseDto.DepartureTime, EndBusStopName = endPurchaseDto.EndBusStopName, StartBusStopName = endPurchaseDto.StartBusStopName }; _unitOfWork.Tickets.Add(ticket); _unitOfWork.Save(); var bankAccount = _unitOfWork.BankAccount.GetFirstOrDefault(); var user = _unitOfWork.ApplicationUser.GetFirstOrDefault(u => u.Id == _userManager.GetUserId(User)); EmailSender emailSender = new EmailSender(); emailSender.SendEmailAsync(user.Email, "Kupiłeś bilet", $"<p><b>Witaj {user.FirstName}!</b></p>Właśnie kupiłeś bilet o id: {ticket.PaymentId}</p><p>Teraz wykonaj przelew:</p><p>Nazwa odbiorcy: {bankAccount.CompanyName}</p><p>Adres odbiorcy: {bankAccount.CompanyAddress}</p><p>Nr. konta: {bankAccount.AccountNumber}</p><p>Kwota: {ticket.Payment.Value} zł</p><br /><p>BusApplication Team</p>"); EndOfPurchaseAndPaymentDataShowVM endOfPurchaseAndPaymentDataShowVM = new EndOfPurchaseAndPaymentDataShowVM() { BankAccount = _unitOfWork.BankAccount.GetFirstOrDefault(), TicketsValue = TicketsValue, PaymentId = ticket.Payment.Id }; return(View(endOfPurchaseAndPaymentDataShowVM)); } else { return(RedirectToAction(nameof(NotLogIn))); } }
public ActionResult Create(TicketPrice model, FormCollection form) { try { ViewBag.airport = dbcontext.Air_ports.ToList(); if (ModelState.IsValid) { var fromair = form["from"].Split(char.Parse(",")); var to = form["to"].Split(char.Parse(",")); var codefromair = form["codefrom"].Split(char.Parse(",")); var codeto = form["codeto"].Split(char.Parse(",")); var fromdate = form["fromdate"].Split(char.Parse(",")); var todate = form["todate"].Split(char.Parse(",")); var price = form["price"].Split(char.Parse(",")); var class_type = form["class_type"].Split(char.Parse(",")); for (var i = 0; i < fromair.Length; i++) { TicketPrice record = new TicketPrice(); if (class_type[i] == "1") { record.classtype = ClassType.Economy; } else if (class_type[i] == "2") { record.classtype = ClassType.Premium_economy; } else if (class_type[i] == "3") { record.classtype = ClassType.Business; } else if (class_type[i] == "4") { record.classtype = ClassType.First; } var fromair1 = int.Parse(codefromair[i]); var toair = int.Parse(codeto[i]); var fromdate1 = Convert.ToDateTime(fromdate[i]); var todate1 = Convert.ToDateTime(todate[i]); var pri = double.Parse(price[i]); record.From_air_port_Idd = fromair1; record.To_air_port_Idd = toair; record.From_Date = fromdate1; record.TO_Date = todate1; record.Price = pri; record.From_Air_port = dbcontext.Air_ports.FirstOrDefault(m => m.ID == record.From_air_port_Idd); record.To_Air_port = dbcontext.Air_ports.FirstOrDefault(m => m.ID == record.To_air_port_Idd); dbcontext.TicketPrice.Add(record); dbcontext.SaveChanges(); } //=================================check for alert================================== var get_result_check = HR.Controllers.check.check_alert("tickets prices", HR.Models.user.Action.Create, HR.Models.user.type_field.form); if (get_result_check != null) { var inbox = new Models.user.Alert_inbox { send_from_user_id = User.Identity.Name, send_to_user_id = get_result_check.send_to_ID_user, title = get_result_check.Subject, Subject = get_result_check.Message }; if (get_result_check.until != null) { if (get_result_check.until.Value.Year != 0001) { inbox.until = get_result_check.until; } } ApplicationDbContext dbcontext = new ApplicationDbContext(); dbcontext.Alert_inbox.Add(inbox); dbcontext.SaveChanges(); } //=================================================================================== return(RedirectToAction("Index")); } else { return(View(model)); } } catch (DbUpdateException) { TempData["Message"] = HR.Resource.Basic.thiscodeIsalreadyexists; return(View(model)); } catch (Exception e) { return(View(model)); } }
public async Task<IHttpActionResult> PostTicketPrice(TicketPrice ticketPrice) { if (!ModelState.IsValid) { return BadRequest(ModelState); } await repository.AddAsync(ticketPrice); return CreatedAtRoute("DefaultApi", new { id = ticketPrice.TicketPriceID }, ticketPrice); }
public override int GetHashCode() { int hash = 1; if (Id.Length != 0) { hash ^= Id.GetHashCode(); } if (Loading != false) { hash ^= Loading.GetHashCode(); } if (OfflineFulfillment != false) { hash ^= OfflineFulfillment.GetHashCode(); } if (TrainDescription.Length != 0) { hash ^= TrainDescription.GetHashCode(); } if (railway_ != null) { hash ^= Railway.GetHashCode(); } if (from_ != null) { hash ^= From.GetHashCode(); } if (to_ != null) { hash ^= To.GetHashCode(); } if (Departure.Length != 0) { hash ^= Departure.GetHashCode(); } if (Arrival.Length != 0) { hash ^= Arrival.GetHashCode(); } if (ticketPrice_ != null) { hash ^= TicketPrice.GetHashCode(); } if (paymentPrice_ != null) { hash ^= PaymentPrice.GetHashCode(); } if (chargingPrice_ != null) { hash ^= ChargingPrice.GetHashCode(); } if (rebateAmount_ != null) { hash ^= RebateAmount.GetHashCode(); } hash ^= trains_.GetHashCode(); hash ^= passengers_.GetHashCode(); hash ^= tickets_.GetHashCode(); hash ^= records_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
public void MergeFrom(OnlineOrderResponse other) { if (other == null) { return; } if (other.Id.Length != 0) { Id = other.Id; } if (other.Loading != false) { Loading = other.Loading; } if (other.OfflineFulfillment != false) { OfflineFulfillment = other.OfflineFulfillment; } if (other.TrainDescription.Length != 0) { TrainDescription = other.TrainDescription; } if (other.railway_ != null) { if (railway_ == null) { Railway = new global::G2Rail.Protobuf.Railway(); } Railway.MergeFrom(other.Railway); } if (other.from_ != null) { if (from_ == null) { From = new global::G2Rail.Protobuf.Station(); } From.MergeFrom(other.From); } if (other.to_ != null) { if (to_ == null) { To = new global::G2Rail.Protobuf.Station(); } To.MergeFrom(other.To); } if (other.Departure.Length != 0) { Departure = other.Departure; } if (other.Arrival.Length != 0) { Arrival = other.Arrival; } if (other.ticketPrice_ != null) { if (ticketPrice_ == null) { TicketPrice = new global::G2Rail.Protobuf.Price(); } TicketPrice.MergeFrom(other.TicketPrice); } if (other.paymentPrice_ != null) { if (paymentPrice_ == null) { PaymentPrice = new global::G2Rail.Protobuf.Price(); } PaymentPrice.MergeFrom(other.PaymentPrice); } if (other.chargingPrice_ != null) { if (chargingPrice_ == null) { ChargingPrice = new global::G2Rail.Protobuf.Price(); } ChargingPrice.MergeFrom(other.ChargingPrice); } if (other.rebateAmount_ != null) { if (rebateAmount_ == null) { RebateAmount = new global::G2Rail.Protobuf.Price(); } RebateAmount.MergeFrom(other.RebateAmount); } trains_.Add(other.trains_); passengers_.Add(other.passengers_); tickets_.Add(other.tickets_); records_.Add(other.records_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); }