public string AddTrainTicket(string from, string to, DateTime dateTime, decimal price, decimal studentprice) { var ticket = new TrainTicket(from, to, dateTime, price, studentprice); var result = this.AddTicket(ticket); return result; }
/// <summary> /// 刷票定时器 /// </summary> void Auto(object obj) { object[] array = obj as object[]; string fromStation = array[0].ToString(); string toStation = array[1].ToString(); string trainDate = array[2].ToString(); while (ThreadStatus) { lock (TIMER_LOCK) { try { if (AutoCount < ulong.MaxValue) { AutoCount++; } this.UpdateStatus(string.Format("状态:正在进行第 {0} 次刷票...", AutoCount)); Thread.Sleep(1000); // 查询 QueryTrainData[] dataArray = TrainTicket.Query(fromStation, toStation, trainDate); if (dataArray != null) { Console.WriteLine("data length:" + dataArray.Length); } } catch (Exception ex) { ArrayList list = new ArrayList(); list.Add(ex.Message); Log.Log.Write(list); } } } }
private void TrainTicketsInfoView_DragDrop(object sender, DragEventArgs e) { string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, false); List <Image> loudimages = new List <Image>(); if (fileNames.Length > 0) { foreach (var item in fileNames) { try { loudimages.Add(Image.FromFile(item)); } catch { MessageBox.Show("错误!拖入的:" + item + "不是有效的图片文件", "图片加载", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } // } if (loudimages.Count > 0) { foreach (var item in loudimages) { TrainTicket.AI_TrainTicket(item); } } } }
public void RemoveTrainTicket(string logid) { if (TrainTicket.TrainTickets_Info.Count <= 0) { MessageBox.Show("你还没导入任何车票呢!\n你删除个鬼啊?", "删除操作", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (TrainTicketsInfoView.SelectedIndex == -1) { MessageBox.Show("车票都没选......\n你让我删啥玩意?", "删除操作", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var iscontinue = MessageBox.Show("确定要删除车票\n" + logid, "车票识别系统", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (iscontinue == DialogResult.No) { return; } TrainTicket.TrainTickets_Info.Remove(TrainTicket.GetTrainTicket(logid)); TrainTicketsInfoView.Items.Remove(logid); TrainTicket.TrainTickets_Image.Remove(logid); ClearTicketPictureBoxImage(); ClearTickText(); if (Width > OrinWidth) { ISOpen = false; FormOpentimer.Enabled = true; } MessageBox.Show("成功删除车票:" + logid, "删除车票", MessageBoxButtons.OK, MessageBoxIcon.Information); }
public string AddTrainTicket(string departureTown, string arrivalTown, DateTime departureDateTime, decimal regularPrice, decimal studentPrice) { var ticket = new TrainTicket(departureTown, arrivalTown, departureDateTime, regularPrice, studentPrice); var result = this.AddTicket(ticket); return(result); }
public async Task <IActionResult> PutTrainTicket([FromRoute] int id, [FromBody] TrainTicket trainTicket) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != trainTicket.Id) { return(BadRequest()); } _context.Entry(trainTicket).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TrainTicketExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void CreateTrainTicket() { var NEWticket = new TrainTicketInfo(); //初始化车票信息 { Random ran = new Random(); int n = ran.Next(10, 24); int n2 = ran.Next(10, 24); NEWticket.train_starttime = n + ":" + n2; int n3 = ran.Next(1, 9); NEWticket.train_che = "0" + n3; int n4 = ran.Next(1, 9); NEWticket.logid = GetRandomlogid(); NEWticket.train_hao = "0" + n4 + "B"; NEWticket.ticket_num = "Z19W051789"; NEWticket.date = "2019年06月29日"; NEWticket.destination_station = "杭州东站"; NEWticket.starting_station = "绍兴北站"; NEWticket.seat_category = "二等座"; NEWticket.train_num = "G1234"; NEWticket.ticket_rates = "¥10.0元"; NEWticket.name = "王小明"; NEWticket.ID = "384951990042215674"; NEWticket.bottomid = TrainTicket.GetRandombottomid(); NEWticket.jianpiao = String.Format("检票:{0}", TrainTicket.GetRandomLetter().ToString() + new Random().Next(0, 9).ToString()); } //var ticket = TrainTicket.AI_TrainTicket(TicketImageTool.LoadAllTrainTicketsImage()[0]); // TrainTicket.TrainTickets_Info.Add(ticket); // TrainTicket.TrainTickets_Info.Add(NEWticket); AddTrainTicket(NEWticket); }
private void Button_Save_Click(object sender, EventArgs e) { if (TrainTicketsInfoView.Items.Count <= 0 || TrainTicketsInfoView.SelectedIndex == -1) { MessageBox.Show("您并没有选择任何车票", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } NowSlectTickets.ticket_num = text_ticket_num.Text; NowSlectTickets.train_num = text_train_num.Text; NowSlectTickets.ticket_rates = text_ticket_rates.Text; NowSlectTickets.starting_station = text_starting_station.Text; NowSlectTickets.destination_station = text_destination_station.Text; NowSlectTickets.ID = text_ID.Text; NowSlectTickets.name = text_name.Text; NowSlectTickets.date = text_date.Text; NowSlectTickets.train_starttime = text_starttime.Text; NowSlectTickets.seat_category = text_seat_category.Text; NowSlectTickets.bottomid = text_bottomid.Text; NowSlectTickets.jianpiao = text_jianpiao.Text; NowSlectTickets.train_che = text_che.Text; NowSlectTickets.train_hao = text_hao.Text; TrainTicket.ChangeTrainTicketInfo(NowSlectTickets); if (TrainTicketsInfoView.SelectedItem == null) { return; } UpateTicketPictureBoxImage(TrainTicketsInfoView.SelectedItem.ToString()); MessageBox.Show("保存成功:", "保存信息", MessageBoxButtons.OK, MessageBoxIcon.Information); }
public async Task <IActionResult> Edit(int id, [Bind("Id,PassengerName,TrainScheduleId")] TrainTicket trainTicket) { if (id != trainTicket.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(trainTicket); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TrainTicketExists(trainTicket.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(trainTicket)); }
public string DeleteTrainTicket(string departureTown, string arrivalTown, DateTime departureDateTime) { var ticket = new TrainTicket(departureTown, arrivalTown, departureDateTime); string uniqueKey = ticket.TicketKey; var result = this.DeleteTicket(TicketType.Train, uniqueKey); return(result); }
public string GetRandomlogid() { string result = null; for (int i = 0; i < 11; i++) { result += TrainTicket.GetRandomNumber(); } return(result); }
public async Task <IActionResult> Create([Bind("Id,PassengerName,TrainScheduleId")] TrainTicket trainTicket) { if (ModelState.IsValid) { _context.Add(trainTicket); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(trainTicket)); }
public string AddTrainTicket(string from, string to, string dt, string pp, string studentpp) { TrainTicket ticket = new TrainTicket(from, to, dt, pp, studentpp); string result = this.AddTicket(ticket); if (result.Contains("created")) { this.trainTicketsCount++; } return result; }
public async Task <IActionResult> PostTrainTicket([FromBody] TrainTicket trainTicket) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Tickets.Add(trainTicket); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTrainTicket", new { id = trainTicket.Id }, trainTicket)); }
private string DeleteTrainTicket(string from, string to, string dateAndTime) { TrainTicket ticket = new TrainTicket(from, to, dateAndTime); string result = this.DeleteTicket(ticket); if (result.Contains(GlobalConstants.Deleted)) { this.trainTicketsCount--; } return(result); }
public string AddTrainTicket(string from, string to, DateTime dateTime, decimal price, decimal studentPrice) { TrainTicket ticket = new TrainTicket(from, to, dateTime, price, studentPrice); string result = this.AddTicket(ticket); if (result.Contains("added")) { this.trainTicketsCount++; } return(result); }
public string DeleteTrainTicket(string from, string to, DateTime dateTime) { TrainTicket ticket = new TrainTicket(from, to, dateTime); string result = this.DeleteTicket(ticket); if (result.Contains("deleted")) { this.trainTicketsCount--; } return(result); }
void AI_LoadAllTrainTickets() { TrainTicketsInfoView.Items.Clear(); TrainTicket.TrainTickets_Info.Clear(); TrainTicket.TrainTickets_Image.Clear(); var AllTrainticketimage = TicketImageTool.LoadAllTrainTicketsImage(); foreach (var item in AllTrainticketimage) { TrainTicket.AI_TrainTicket(item); } }
string DeleteTrainTicket(string from, string to, string dt) { TrainTicket ticket = new TrainTicket(from, to, dt); string result = AddDeleteTicket(ticket, false); if (result.Contains("deleted")) { trainTicketsCount--; } return(result); }
public string AddTrainTicket(string from, string to, string dateAndTime, string price, string studentPrice) { TrainTicket ticket = new TrainTicket(from, to, dateAndTime, price, studentPrice); string result = this.AddTicket(ticket); if (result.Contains(GlobalConstants.Created)) { this.trainTicketsCount++; } return(result); }
public string AddTrainTicket(string from, string to, DateTime dateTime, decimal price, decimal studentPrice) { if (!this.trainTickets.Any(t => t.From == from && t.To == to && t.DepartureDateAndTime == dateTime)) { var ticket = new TrainTicket(from, to, dateTime, price, studentPrice); this.trainTickets.Add(ticket); return("Ticket added"); } return("Duplicate ticket"); }
public string AddTrainTicket(string from, string to, DateTime dateTime, decimal price, decimal studentPrice) { if (!this.trainTickets.Any(t => t.From == from && t.To == to && t.DepartureDateAndTime == dateTime)) { var ticket = new TrainTicket(from, to, dateTime, price, studentPrice); this.trainTickets.Add(ticket); return "Ticket added"; } return "Duplicate ticket"; }
private void TrainTicketsInfoView_SelectedIndexChanged(object sender, EventArgs e) { // MessageBox.Show(TrainTicketsInfoView.SelectedItem.ToString(), "信息", MessageBoxButtons.OK); if (TrainTicketsInfoView.SelectedItem == null) { TrainTicketsInfoView.ClearSelected(); return; } var logid = TrainTicketsInfoView.SelectedItem.ToString(); NowSlectTickets = TrainTicket.GetTrainTicket(logid); text_ticket_num.Text = NowSlectTickets.ticket_num; text_train_num.Text = NowSlectTickets.train_num; text_ticket_rates.Text = NowSlectTickets.ticket_rates; text_starting_station.Text = NowSlectTickets.starting_station; text_destination_station.Text = NowSlectTickets.destination_station; text_ID.Text = NowSlectTickets.ID; text_name.Text = NowSlectTickets.name; text_date.Text = NowSlectTickets.date; text_starttime.Text = NowSlectTickets.train_starttime; text_seat_category.Text = NowSlectTickets.seat_category; text_bottomid.Text = NowSlectTickets.bottomid; text_jianpiao.Text = NowSlectTickets.jianpiao; text_che.Text = NowSlectTickets.train_che; text_hao.Text = NowSlectTickets.train_hao; if (TrainTicket.TrainTickets_Image.ContainsKey(logid)) { var findimage = TrainTicket.GetTrainTicketImage(logid); var trimvalue = 222; if (findimage == null) { MessageBox.Show("由于没有模板文件,车票无法制作成功", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } TicketPictureBox.Image = TicketImageTool.shrinkTo(findimage, new Size((findimage.Width + trimvalue) / 3, (findimage.Height + trimvalue) / 3), false); } else { UpateTicketPictureBoxImage(TrainTicketsInfoView.SelectedItem.ToString()); } if (Width < OpenWidth) { ISOpen = true; FormOpentimer.Enabled = true; } }
private void 导入ToolStripMenuItem1_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "JPG文件|*.jpg|PNG文件|*.png"; Image loudimage = null; if (dlg.ShowDialog() == DialogResult.OK) { loudimage = Image.FromFile(dlg.FileName); if (loudimage != null) { TrainTicket.AI_TrainTicket(loudimage); } } }
public string AddTrainTicket(string from, string to, string dt, string pp, string studentpp) { TrainTicket ticket = new TrainTicket(from, to, dt, pp, studentpp); string result = this.AddDeleteTicket(ticket, true); if (result.Contains("added")) { trainTicketsCount++; } return(result); }
void UpateTicketPictureBoxImage(string number) { var Tickets = TrainTicket.GetTrainTicket(number); if (TrainTicket.TrainTickets_Image.ContainsKey(number)) { TrainTicket.TrainTickets_Image.Remove(number); } TrainTicket.TrainTickets_Image.Add(number, TicketImageTool.MakeTrainTickImage(Tickets)); NowSlectTickets = TrainTicket.GetTrainTicket(number); var findimage = TrainTicket.GetTrainTicketImage(number); var trimvalue = 222; if (findimage == null) { MessageBox.Show("由于没有模板文件,车票无法制作成功", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } TicketPictureBox.Image = TicketImageTool.shrinkTo(findimage, new Size((findimage.Width + trimvalue) / 3, (findimage.Height + trimvalue) / 3), false); }
private void 导出ToolStripMenuItem1_Click(object sender, EventArgs e) { if (TrainTicketsInfoView.SelectedIndex == -1) { var dialogresult = MessageBox.Show("车票都没选。。。要不我导出一个空气给你?", "导出车票错误", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogresult == DialogResult.Yes) { MessageBox.Show("你还真的。。。。、\n脸皮厚。。。没车票导出个鬼啊!!!", "导出车票错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } return; } if (TrainTicketsInfoView.Items.Count <= 0) { MessageBox.Show("一张车票都没有,导出啥玩意?", "导出车票错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } var logid = TrainTicketsInfoView.SelectedItem.ToString(); TrainTicket.GetTrainTicketImage(logid).Save(TrainTicket.savePath + logid + ".jpg"); MessageBox.Show("车票" + logid + "导出成功", "导出车票成功", MessageBoxButtons.OK, MessageBoxIcon.Information); System.Diagnostics.Process.Start(TrainTicket.savePath); }
private void TrainTicketMainForm_Load(object sender, EventArgs e) { var APP_ID = "16672550"; var API_KEY = "lNls0VC4YjB4LocNTDGB9jn0"; var SECRET_KEY = "OoGRDa7sYsM6qjOwGEDvx7r7mWBLPsG0"; Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory); // PhotoName = Console.ReadLine(); TrainTicket.client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY); TrainTicket.client.Timeout = 60000; // 修改超时时间 Console.WriteLine(TrainTicket.LoudTicketsPath); TrainTicket.InitPeople_ID(); TrainTicket.BaseTicketImage = TicketImageTool.LoadAllBaseTrainTicketsImage(); TrainTicket.OnTrainTicketMaked += UpdateTrainTicketView; TrainTicket.OnTrainTicketError += TrainTicketError; Control.CheckForIllegalCrossThreadCalls = false; _S.Opacity = 0; _S.timer1.Enabled = true; _S.Text = String.Format("AI智能火车票[识别/修改]系统-版本:{0}", Application.ProductVersion); OpenWidth = Width; Width = 350; }
public string AddTrainTicket( string departureTown, string arrivalTown, DateTime dateAndTime, decimal regularPrice, decimal studentPrice) { TrainTicket ticket = new TrainTicket( departureTown, arrivalTown, dateAndTime.ToString("dd.MM.yyyy HH:mm"), regularPrice.ToString(), studentPrice.ToString()); string result = this.AddDeleteTicket(ticket, true); if (result == "Ticket added") { this.trainTicketsCount++; } return result; }
/// <summary> /// 查询 /// </summary> void btnQuery_Click(object sender, EventArgs e) { try { if (this.ValidateQuery()) { this.btnQuery.Enabled = false; PWLoading.Show(this, "正在查询...", new Action(() => { QueryTrainData[] data = TrainTicket.Query( this.txtFromStation.Tag.ToString(), this.txtToStation.Tag.ToString(), this.dtpTrainDate.Value.ToString("yyyy-MM-dd")); if (this.InvokeRequired) { this.Invoke(new Action(() => { this.LoadQueryData(data); })); } else { this.LoadQueryData(data); } })); } } catch (Exception ex) { MessageBox.Show(this, "错误:" + ex.Message, "系统错误"); this.ResetQuery(); } finally { this.ResetQuery(); } }
public string AddTrainTicket(string from, string to, DateTime date, decimal price, decimal studentPrice) { TrainTicket ticket = new TrainTicket(from, to, date, price, studentPrice); return this.AddTicket(ticket); }
public ActionResult Purchase(PurchaseTicketViewModel ticket) { var currentUserId = User.Identity.GetUserId(); var train = db.Trains.Find(ticket.Id); if (train == null) { return(new HttpStatusCodeResult(404)); } var viewModel = new AvailableTrainViewModel() { Id = train.Id, Route = train.Route, BusinessClassPassengersCount = (db.TrainTickets .Where(t => t.TrainId == train.Id) .Where(t => t.IsConfirmed) .Where(t => t.IsBusinessClass) .Select(t => t.PassengersCount) .DefaultIfEmpty() .Sum()), EconomicClassPassengersCount = (db.TrainTickets .Where(t => t.TrainId == train.Id) .Where(t => t.IsConfirmed) .Where(t => !t.IsBusinessClass) .Select(t => t.PassengersCount) .DefaultIfEmpty() .Sum()), DepartureTime = train.DepartureTime }; if (train.DepartureTime < DateTime.Now) { ViewBag.Error = "This train has already departed."; return(View(viewModel)); } else if (train.DepartureTime > DateTime.Now.AddDays(AppConstants.MAX_DAYS_BEFORE_RESERVATION)) { ViewBag.Error = "You can only purchase tickets as late as two weeks before departure."; return(View(viewModel)); } string errorMessage = ValidateAvailableSeats(ticket, viewModel); if (!string.IsNullOrEmpty(errorMessage)) { ViewBag.Error = errorMessage; return(View(viewModel)); } var generatedTicket = new TrainTicket() { UserId = new Guid(currentUserId), TrainId = train.Id, Departure = train.Route.Departure, Arrival = train.Route.Arrival, DepartureTime = train.DepartureTime, PurchasedOn = DateTime.Now, IsBusinessClass = ticket.TravellerClass == "business" ? true : false, PassengersCount = ticket.PassengersCount, Price = train.Route.Price * ticket.PassengersCount, IsConfirmed = false }; generatedTicket.Price *= generatedTicket.IsBusinessClass ? AppConstants.BUSINESS_CLASS_MULTIPLIER : 1.0m; db.TrainTickets.Add(generatedTicket); db.SaveChanges(); return(SendPurchaseConfirmationEmail(generatedTicket.Id)); }
public string DeleteTrainTicket(string from, string to, DateTime dateTime) { var ticket = new TrainTicket(from, to, dateTime); var result = this.DeleteTicket(ticket); return result; }
public string AddTrainTicket(string from, string to, string dateTime, string price, string studentPrice) { TrainTicket ticket = new TrainTicket(from, to, dateTime, price, studentPrice); string result = this.AddTicket(ticket); if (result.Contains("added")) { this.trainTicketsCount++; } return result; }
public string DeleteTrainTicket(string from, string to, DateTime dt) { var ticket = new TrainTicket(from, to, dt); var result = this.DeleteTicket(ticket); if (result.Contains("deleted")) { this.trainTicketsCount--; } return result; }
public string AddTrainTicket(string from, string to, DateTime dt, decimal price, decimal studentPrice) { var ticket = new TrainTicket(from, to, dt, price, studentPrice); var result = this.AddTicket(ticket); if (result.Contains("created")) { this.trainTicketsCount++; } return result; }
public ActionResult Purchase(PurchaseTicketViewModel ticket) { var currentUserId = User.Identity.GetUserId(); var train = db.Trains.Find(ticket.Id); if (train == null) { return new HttpStatusCodeResult(404); } var viewModel = new AvailableTrainViewModel() { Id = train.Id, Route = train.Route, BusinessClassPassengersCount = (db.TrainTickets .Where(t => t.TrainId == train.Id) .Where(t => t.IsConfirmed) .Where(t => t.IsBusinessClass) .Select(t => t.PassengersCount) .DefaultIfEmpty() .Sum()), EconomicClassPassengersCount = (db.TrainTickets .Where(t => t.TrainId == train.Id) .Where(t => t.IsConfirmed) .Where(t => !t.IsBusinessClass) .Select(t => t.PassengersCount) .DefaultIfEmpty() .Sum()), DepartureTime = train.DepartureTime }; if (train.DepartureTime < DateTime.Now) { ViewBag.Error = "This train has already departed."; return View(viewModel); } else if (train.DepartureTime > DateTime.Now.AddDays(AppConstants.MAX_DAYS_BEFORE_RESERVATION)) { ViewBag.Error = "You can only purchase tickets as late as two weeks before departure."; return View(viewModel); } string errorMessage = ValidateAvailableSeats(ticket, viewModel); if (!string.IsNullOrEmpty(errorMessage)) { ViewBag.Error = errorMessage; return View(viewModel); } var generatedTicket = new TrainTicket() { UserId = new Guid(currentUserId), TrainId = train.Id, Departure = train.Route.Departure, Arrival = train.Route.Arrival, DepartureTime = train.DepartureTime, PurchasedOn = DateTime.Now, IsBusinessClass = ticket.TravellerClass == "business" ? true : false, PassengersCount = ticket.PassengersCount, Price = train.Route.Price * ticket.PassengersCount, IsConfirmed = false }; generatedTicket.Price *= generatedTicket.IsBusinessClass ? AppConstants.BUSINESS_CLASS_MULTIPLIER : 1.0m; db.TrainTickets.Add(generatedTicket); db.SaveChanges(); return SendPurchaseConfirmationEmail(generatedTicket.Id); }
public string DeleteTrainTicket(string departureTown, string arrivalTown, DateTime dateTime) { TrainTicket ticket = new TrainTicket(departureTown, arrivalTown, dateTime.ToString("dd.MM.yyyy HH:mm")); string result = this.AddDeleteTicket(ticket, false); if (result == "Ticket deleted") { this.trainTicketsCount--; } return result; }
public string DeleteTrainTicket(string from, string to, string dateTime) { TrainTicket ticket = new TrainTicket(from, to, dateTime); string result = this.DeleteTicket(ticket); if (result.Contains("deleted")) { this.trainTicketsCount--; } return result; }
public string AddTrainTicket(string from, string to, string dt, string pp, string studentpp) { var ticket = new TrainTicket(from, to, dt, pp, studentpp); var result = this.AddDeleteTicket(ticket, true); if (result.Contains("added")) { this.trainTicketsCount++; } return result; }
public string DeleteTrainTicket(string from, string to, DateTime dateAndTime) { TrainTicket ticket = new TrainTicket(from, to, dateAndTime); string result = this.DeleteTicketByUniqueKey(ticket.UniqueKey); return result; }
private string DeleteTrainTicket(string from, string to, string dt) { var ticket = new TrainTicket(from, to, dt); var result = this.AddDeleteTicket(ticket, false); if (result.Contains("deleted")) { this.trainTicketsCount--; } return result; }