private void LandrunControl_DataValid() { LandRunTask landRun = (plUserControl.Controls["taskControl"] as LandRunControl).LandRun; if (DoesTaskNumberAlreadyExists(landRun.TaskNumber)) { Log(LogSeverityType.Error, $"Failed to create {landRun}: A task with the number '{landRun.TaskNumber}' already exists"); } else { if (!lbTaskList.Items.Contains(landRun)) { lbTaskList.Items.Add(landRun); Log(LogSeverityType.Info, $"{landRun} created/modified"); } } }
private void btImportTask_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = "json"; openFileDialog.Filter = "json files(*.json) | *.json"; openFileDialog.FilterIndex = 1; if (!string.IsNullOrWhiteSpace(tbCompetitionFolder.Text)) { openFileDialog.InitialDirectory = tbCompetitionFolder.Text; } if (openFileDialog.ShowDialog() == DialogResult.OK) { try { if (openFileDialog.FileName.Contains("(Donut)")) { string jsonString = File.ReadAllText(openFileDialog.FileName); //DonutTask donut = JsonSerializer.Deserialize<DonutTask>(jsonString); DonutTask donut = JsonConvert.DeserializeObject <DonutTask>(jsonString, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); DonutControl donutControl = new DonutControl(donut); SuspendLayout(); plUserControl.Controls.Remove(plUserControl.Controls["taskControl"]); donutControl.Location = TaskControlLocation; donutControl.Name = "taskControl"; donutControl.DataValid += DonutControl_DataValid; plUserControl.Controls.Add(donutControl); ResumeLayout(); } else if (openFileDialog.FileName.Contains("(Pie)")) { string jsonString = File.ReadAllText(openFileDialog.FileName); //PieTask pie = JsonSerializer.Deserialize<PieTask>(jsonString); PieTask pie = JsonConvert.DeserializeObject <PieTask>(jsonString, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); PieControl pieControl = new PieControl(pie); SuspendLayout(); plUserControl.Controls.Remove(plUserControl.Controls["taskControl"]); pieControl.Location = TaskControlLocation; pieControl.Name = "taskControl"; pieControl.DataValid += PieControl_DataValid; plUserControl.Controls.Add(pieControl); ResumeLayout(); } else if (openFileDialog.FileName.Contains("(Elbow)")) { string jsonString = File.ReadAllText(openFileDialog.FileName); //ElbowTask elbow = JsonSerializer.Deserialize<ElbowTask>(jsonString); ElbowTask elbow = JsonConvert.DeserializeObject <ElbowTask>(jsonString, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); ElbowControl elbowControl = new ElbowControl(elbow); SuspendLayout(); plUserControl.Controls.Remove(plUserControl.Controls["taskControl"]); elbowControl.Location = TaskControlLocation; elbowControl.Name = "taskControl"; elbowControl.DataValid += ElbowControl_DataValid; plUserControl.Controls.Add(elbowControl); ResumeLayout(); } else if (openFileDialog.FileName.Contains("(Land Run)")) { string jsonString = File.ReadAllText(openFileDialog.FileName); //LandRunTask landRun = JsonSerializer.Deserialize<LandRunTask>(jsonString); LandRunTask landRun = JsonConvert.DeserializeObject <LandRunTask>(jsonString, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); LandRunControl landrunControl = new LandRunControl(landRun); SuspendLayout(); plUserControl.Controls.Remove(plUserControl.Controls["taskControl"]); landrunControl.Location = TaskControlLocation; landrunControl.Name = "taskControl"; landrunControl.DataValid += LandrunControl_DataValid; plUserControl.Controls.Add(landrunControl); ResumeLayout(); } else { Log(LogSeverityType.Error, "Failed import task: Unkown task type"); return; } } catch (Exception ex) { Log(LogSeverityType.Error, $"Failed to import task: {ex.Message}"); return; } } }
/// <summary> /// Constructor which pre-fills controls from existing land run task /// </summary> /// <param name="landRun">the existing land run task</param> public LandRunControl(LandRunTask landRun) { LandRun = landRun; InitializeComponent(); Prefill(); }