static void Main(string[] args) { Ticket tick1 = new Ticket(1, "09-04-2020", 1, "A", 15); Ticket tick2 = new Ticket(1, "09-04-2020", 1, "A", 16); Ticket tick3 = new Ticket(1, "09-04-2020", 1, "A", 17); JsonSerializerOptions options = new JsonSerializerOptions { WriteIndented = true, IgnoreNullValues = true, IgnoreReadOnlyProperties = true }; //STORE JSON OBJECT var jsonString = JsonSerializer.Serialize(new Ticket[] { tick1, tick2, tick3 }, options); Console.WriteLine(jsonString); File.WriteAllText("data.json", jsonString); //READ AND UPDATE JSON OBJECT string jsonText = File.ReadAllText("data.json"); List <Ticket> tickets = new List <Ticket>(); using (JsonDocument document = JsonDocument.Parse(jsonString)) { JsonElement root = document.RootElement; JsonElement ticketsArrayElement = root; foreach (JsonElement ticket in ticketsArrayElement.EnumerateArray()) { //Make .NET object is values are present in JSON if (ticket.TryGetProperty("Price", out JsonElement PriceElement) && ticket.TryGetProperty("Date", out JsonElement DateElement) && ticket.TryGetProperty("TheaterNumber", out JsonElement TheaterElement) && ticket.TryGetProperty("SeatNumber", out JsonElement SeatElement) && SeatElement.TryGetProperty("Row", out var RowElement) && SeatElement.TryGetProperty("Seat", out var SeatNumElement) ) { int price = PriceElement.GetInt32(); string date = DateElement.GetString(); int theaterNumber = TheaterElement.GetInt32(); string row = RowElement.GetString(); int seat = SeatNumElement.GetInt32(); tickets.Add(new Ticket(price, date, theaterNumber, row, seat)); } } } tickets[0].Date = "DATE HAS BEEN MODIFIED"; jsonText = JsonSerializer.Serialize(tickets, options); File.WriteAllText("data.json", jsonText); }
private void seatLayout_seat() { if (SeatCache.SeatList == null) { SeatCache.SeatList = new List <SeatElement>(); } List <SeatElement> list = SeatCache.SeatList.Where(p => p.ReadingRoomNum == RoomNoStr).ToList(); if (list.Count > 0) { foreach (var seatElement in list) { this.canvas_Seat.Children.Add(seatElement.seatUC); Canvas.SetLeft(seatElement.seatUC, (float)seatElement.seatLeft); Canvas.SetTop(seatElement.seatUC, (float)seatElement.seatTop); this.canvas_Thumbnail.Children.Add(seatElement.rec); Panel.SetZIndex(seatElement.rec, 0); Canvas.SetLeft(seatElement.rec, (float)seatElement.recLeft); Canvas.SetTop(seatElement.rec, (float)seatElement.recTop); } } else { foreach (KeyValuePair <string, Seat> keyValuePair in this.viewModel.Layout.Seats) { float num = (float)(24.0 * keyValuePair.Value.PositionX); float num2 = (float)(24.0 * keyValuePair.Value.PositionY); UC_Seat uc_Seat = new UC_Seat(this.viewModel.SeatLayoutList[keyValuePair.Key]); uc_Seat.Width = 48.0; uc_Seat.Height = 48.0; uc_Seat.LblSeatNo.RenderTransform = new RotateTransform(keyValuePair.Value.RotationAngle); uc_Seat.LblSeatNo.RenderTransformOrigin = new Point(0.5, 0.5); uc_Seat.RenderTransform = new RotateTransform((double)keyValuePair.Value.RotationAngle); uc_Seat.RenderTransformOrigin = new Point(0.5, 0.5); this.canvas_Seat.Children.Add(uc_Seat); Canvas.SetLeft(uc_Seat, (float)num); Canvas.SetTop(uc_Seat, (float)num2); Rectangle rectangle = new Rectangle(); rectangle.Width = (float)(36f / this.scaleX); rectangle.Height = (float)(36f / this.scaleY); float num3 = (float)((keyValuePair.Value.PositionX * 24.0 + 6.0) / (float)this.scaleX); float num4 = (float)((keyValuePair.Value.PositionY * 24.0 + 6.0) / (float)this.scaleY); bool flag3 = this.viewModel.SeatLayoutList[keyValuePair.Key].IsStop || this.viewModel.SeatLayoutList[keyValuePair.Key].IsUsing; if (flag3) { rectangle.Fill = new SolidColorBrush(Color.FromRgb(234, 38, 52)); } else { rectangle.Fill = new SolidColorBrush(Color.FromRgb(220, 220, 220)); } rectangle.RenderTransformOrigin = new Point(0.5, 0.5); rectangle.RenderTransform = new RotateTransform((double)keyValuePair.Value.RotationAngle); this.canvas_Thumbnail.Children.Add(rectangle); Panel.SetZIndex(rectangle, 0); Canvas.SetLeft(rectangle, (double)(num3 + this.moveX)); Canvas.SetTop(rectangle, (double)(num4 + this.moveY)); SeatElement seatElement2 = new SeatElement(); seatElement2.ReadingRoomNum = this.RoomNoStr; seatElement2.seatUC = uc_Seat; seatElement2.seatLeft = num; seatElement2.seatTop = num2; seatElement2.rec = rectangle; seatElement2.recLeft = num3 + this.moveX; seatElement2.recTop = num4 + this.moveY; SeatCache.SeatList.Add(seatElement2); } } }