public RoutineTicket GetTicketByTickedId(int id) { operation.InitConnection(data_resource); string sql = "select routine.*, purchased_tickets.* from routine, purchased_tickets where purchased_tickets.routine_id = routine.routine_id and purchased_tickets.ticket_id = " + id; Lucky.LuckyUtils.Log(sql); RoutineTicket ticket = new RoutineTicket(); try { SqliteDataReader reader = operation.ExecuteQuery(sql); if (reader.HasRows) { reader.Read(); int begin_time = reader.GetInt32(reader.GetOrdinal("start_time")); int end_time = reader.GetInt32(reader.GetOrdinal("end_time")); ticket.SetRoutineId(reader.GetInt32(reader.GetOrdinal("routine_id"))); ticket.SetEndNode(reader.GetString(reader.GetOrdinal("end_node"))); ticket.SetStartNode(reader.GetString(reader.GetOrdinal("start_node"))); ticket.SetType(reader.GetInt32(reader.GetOrdinal("type"))); ticket.SetBeginTime(GetTodayTime(reader.GetInt32(reader.GetOrdinal("start_time")))); ticket.SetEndTime(GetTodayTime(reader.GetInt32(reader.GetOrdinal("end_time")))); ticket.SetMoney((int)reader.GetFloat(reader.GetOrdinal("money"))); SetTicketName(reader, ticket); ticket.SetTicketid(reader.GetInt32(reader.GetOrdinal("ticket_id"))); int actual_begin_time = reader.GetInt32(reader.GetOrdinal("actual_start_time")); int actual_end_time = reader.GetInt32(reader.GetOrdinal("actual_end_time")); if (actual_begin_time == 0) { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(begin_time)); } else { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(actual_begin_time)); } if (actual_end_time != 0) { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(actual_end_time)); } else { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(end_time)); } } } catch (Exception e) { } finally { operation.CloseConnection(); } return(ticket); }
public List <TrafficMessage> HandlingAccident(System.Object taccident) { //handle ticket delay Accident accident = taccident as Accident; TicketsOperaton tickets = new TicketsOperaton(); List <int> routine_id = tickets.DelayTickets(accident.starttime, accident.location, accident.duration, accident.type); TimeManager.instance.Delay(routine_id); return(new List <TrafficMessage>()); }
public static List <Routine> GetRoutinInfo(SqliteDataReader reader) { List <Routine> res = new List <Routine>(); while (reader.Read()) { RoutineTicket ticket = new RoutineTicket(); int begin_time = reader.GetInt32(reader.GetOrdinal("start_time")); int end_time = reader.GetInt32(reader.GetOrdinal("end_time")); ticket.SetRoutineId(reader.GetInt32(reader.GetOrdinal("routine_id"))); ticket.SetEndNode(reader.GetString(reader.GetOrdinal("end_node"))); ticket.SetStartNode(reader.GetString(reader.GetOrdinal("start_node"))); ticket.SetType(reader.GetInt32(reader.GetOrdinal("type"))); ticket.SetBeginTime(TicketsOperaton.GetTodayTime(begin_time)); ticket.SetEndTime(TicketsOperaton.GetTodayTime(end_time)); ticket.SetMoney((int)reader.GetFloat(reader.GetOrdinal("money"))); int actual_begin_time = reader.GetInt32(reader.GetOrdinal("actual_start_time")); int actual_end_time = reader.GetInt32(reader.GetOrdinal("actual_end_time")); if (actual_begin_time == 0) { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(begin_time)); } else { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(actual_begin_time)); } if (actual_end_time != 0) { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(actual_end_time)); } else { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(end_time)); } // Lucky.LuckyUtils.Log(ticket.GetRoutineId()); TicketsOperaton.SetTicketName(reader, ticket); res.Add(ticket); } return(res); }
public void Delay(List <int> delayid) { foreach (int id in delayid) { lock (golock) { if (GoId.ContainsKey(id)) { RemoveGo(id); TicketsOperaton ticket_operation = new TicketsOperaton(); RoutineTicket ticket = ticket_operation.GetTicketByTickedId(id); Lucky.LuckyUtils.Log("delay " + ticket.GetActualBeginTime()); AddGo(new TicketParam(ticket)); } } } }
public List <TrafficMessage> BuyingTickets(System.Object value) { int id = (int)value; Debug.Log("id " + id); TicketsOperaton ticket_operation = new TicketsOperaton(); int ticketid = ticket_operation.BuyTickets(id); if (ticketid == 0) { Lucky.LuckyUtils.Log("ticket id error"); return(null); } RoutineTicket ticket = ticket_operation.GetTicketByTickedId(ticketid); Lucky.LuckyUtils.Log("ticket " + ticket.GetRoutineStartNode() + " " + ticket.GetBeginTime() + " " + ticket.GetTicketId()); TimeManager.instance.AddGo(new TicketParam(ticket)); Lucky.LuckyUtils.Log("buy ticket id " + ticket.GetTicketId() + " routtine id" + ticket.GetRoutineId()); return(new List <TrafficMessage>()); }
void Start() { RegisterMsg(true); AudioManager.Instance.PlayMusic(Audios.BG, true); NoteBtn.onClick.AddListener(delegate() { Show(); TimeManager.instance.SetNormalSpeed(); }); TicketsOperaton to = new TicketsOperaton(); if (to.RefundAllTickets()) { Lucky.LuckyUtils.Log("successful"); } else { Lucky.LuckyUtils.Log("fail"); } }
private List <TrafficMessage> DeleteTickets(System.Object value) { int id = (int)value; Lucky.LuckyUtils.Log("delete ticket id " + id); TicketsOperaton ticket_operation = new TicketsOperaton(); RoutineTicket ticket = ticket_operation.GetTicketByTickedId(id); Lucky.LuckyUtils.Log("delte routine id " + ticket.GetRoutineId()); bool abc = ticket_operation.RefundTicket(id); if (abc) { TimeManager.instance.RemoveGo(ticket.GetRoutineId()); return(new List <TrafficMessage>()); } else { return(null); } }
public List <RoutineTicket> GetUserTickets(DateTime time) { UInt64 ts = RoutineOperation.GetSeconds(time); operation.InitConnection(data_resource); UInt64 seconds = RoutineOperation.GetSeconds(time); // string sql = "select routine.*, purchased_tickets.* from routine, purchased_tickets where purchased_tickets.routine_id = routine.routine_id "; string sql = "select routine.*, purchased_tickets.* from routine, purchased_tickets where purchased_tickets.routine_id = routine.routine_id and ((routine.start_time > " + seconds + " and routine.actual_start_time = 0) or (routine.actual_start_time > 0 and routine.actual_start_time > " + seconds + "))"; Lucky.LuckyUtils.Log(sql); List <RoutineTicket> res = new List <RoutineTicket>(); try { SqliteDataReader reader = operation.ExecuteQuery(sql); while (reader.Read()) { RoutineTicket ticket = new RoutineTicket(); int begin_time = reader.GetInt32(reader.GetOrdinal("start_time")); int end_time = reader.GetInt32(reader.GetOrdinal("end_time")); ticket.SetRoutineId(reader.GetInt32(reader.GetOrdinal("routine_id"))); ticket.SetEndNode(reader.GetString(reader.GetOrdinal("end_node"))); ticket.SetStartNode(reader.GetString(reader.GetOrdinal("start_node"))); ticket.SetType(reader.GetInt32(reader.GetOrdinal("type"))); ticket.SetBeginTime(GetTodayTime(reader.GetInt32(reader.GetOrdinal("start_time")))); ticket.SetEndTime(GetTodayTime(reader.GetInt32(reader.GetOrdinal("end_time")))); ticket.SetMoney((int)reader.GetFloat(reader.GetOrdinal("money"))); SetTicketName(reader, ticket); int actual_begin_time = reader.GetInt32(reader.GetOrdinal("actual_start_time")); int actual_end_time = reader.GetInt32(reader.GetOrdinal("actual_end_time")); if (actual_begin_time == 0) { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(begin_time)); } else { ticket.SetActualBeginTime(TicketsOperaton.GetTodayTime(actual_begin_time)); } if (actual_end_time != 0) { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(actual_end_time)); } else { ticket.SetActualEndTime(TicketsOperaton.GetTodayTime(end_time)); } ticket.SetTicketid(reader.GetInt32(reader.GetOrdinal("ticket_id"))); res.Add(ticket); } } catch (Exception e) { Lucky.LuckyUtils.Log(e.StackTrace); } finally { operation.CloseConnection(); Lucky.LuckyUtils.Log(res.Count); } return(res); }
private List <TrafficMessage> GetingBuyTickets(System.Object tdt) { DateTime dt = (DateTime)tdt; Lucky.LuckyUtils.Log("abc " + dt); TicketsOperaton ticket_operation = new TicketsOperaton(); List <RoutineTicket> all_tickets = ticket_operation.GetUserTickets(dt); List <TrafficMessage> finaldata = new List <TrafficMessage>(); foreach (RoutineTicket rt in all_tickets) { DateTime starttime = rt.GetActualBeginTime(); DateTime stoptime = rt.GetAcutalEndTime(); string start = rt.GetRoutineStartNode(); string stop = rt.GetEndNode(); string ticketname = rt.GetTicketName(); string money = rt.GetMoney() + ""; int id = rt.GetTicketId(); TimeSpan ts = stoptime - starttime; string usetime = ""; if (ts.Hours < 10) { usetime += "0"; } usetime += ts.Hours + ":"; if (ts.Minutes < 10) { usetime += "0"; } usetime += ts.Minutes; Lucky.LuckyUtils.Log("start time " + starttime); Lucky.LuckyUtils.Log("get ticked id " + id); Lucky.LuckyUtils.Log("get routined id " + rt.GetRoutineId()); /* * // 第一次开启App,将没有加载的数据放入TimeManager * if (!isFirstLoad) * { * TimeManager.instance.AddGo(new TicketParam(rt)); * isFirstLoad = true; * } */ Lucky.LuckyUtils.Log("start time " + starttime + " plan start time " + rt.GetBeginTime()); Lucky.LuckyUtils.Log("stop time " + stoptime + " plan stop time " + rt.GetEndTime()); if ((DateTime.Compare(starttime, rt.GetBeginTime()) == 0) && (DateTime.Compare(stoptime, rt.GetEndTime()) == 0)) { finaldata.Add(new TrafficMessage(starttime.ToString("HH:mm"), start, usetime, ticketname, stoptime.ToString("HH:mm"), stop, money, false, false, id, (TrafficType)rt.Type())); } else { finaldata.Add(new TrafficMessage(starttime.ToString("HH:mm"), start, usetime, ticketname, stoptime.ToString("HH:mm"), stop, money, false, true, id, (TrafficType)rt.Type())); } } Lucky.LuckyUtils.Log("count " + finaldata.Count); return(finaldata); }