public void Save(IEnumerable <Ticket> tickets, bool includeOldDone) { string doneTicketCode = TicketStateRegistry.Instance.Get <DoneTicketState>().Code; List <TicketSerializableData> serializableDataList = new List <TicketSerializableData>(); if (includeOldDone) { serializableDataList.AddRange(JsonConvert.DeserializeObject <List <TicketSerializableData> >(File.ReadAllText(this.filePath)).Where(serializableTicket => serializableTicket.StatusCode == doneTicketCode)); } foreach (Ticket ticket in tickets) { serializableDataList.Add(new TicketSerializableData() { ID = ticket.TracTicket.ID, StatusCode = ticket.CurrentState.Code, TicketProperties = CustomTicketProperties.CloneFrom(ticket.TicketProperties) }); } File.WriteAllText(this.filePath, JsonConvert.SerializeObject(serializableDataList, Newtonsoft.Json.Formatting.Indented)); }
public Ticket(TracTicket tracTicket, TicketState currentState, CustomTicketProperties ticketProperties) { this.TracTicket = tracTicket; this.CurrentState = currentState; this.ticketProperties = ticketProperties; }