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 static void SetTicketName(SqliteDataReader reader, RoutineTicket ticket) { Type type = reader.GetFieldType(reader.GetOrdinal("ticket_name")); if (type == typeof(int)) { ticket.SetTicketName("" + reader.GetInt32(reader.GetOrdinal("ticket_name"))); } if (type == typeof(string)) { ticket.SetTicketName(reader.GetString(reader.GetOrdinal("ticket_name"))); } }
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>()); }
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); }
public TicketParam(RoutineTicket trt) { rt = trt; }