public static void LogJsonImport() { if (GTKUtils.ShowFileChooser(out string path, ".log", "Abrir Log", "Abrir")) { string json = ""; if (JsonController.OpenJson(path, ref json)) { SchedulersResult result = new SchedulersResult(); if (JsonController.JsonToObject(json, ref result)) { Console.WriteLine(result); ImportView view = new ImportView(result); view.Show(); } else { WarningDilog("Erro ao deserializar arquivo!", "Arquivo não contem as informações nessesarias!"); } } else { WarningDilog("Erro ao abrir o arquivo!", "Arquivo inexistente ou corrompido!"); } } }
public ImportView(SchedulersResult result) : base(WindowType.Toplevel) { Build(); fcfs = result.FCFS.ConvertAll((input) => { return(new PlotableProcess(input.Name, input.execTime)); }); sjf = result.SJF.ConvertAll((input) => { return(new PlotableProcess(input.Name, input.execTime)); }); rr = result.RR.ConvertAll((input) => { return(new PlotableProcess(input.Name, input.execTime)); }); quantum = result.Quantum; escalonadPlot = new PlotInterface(vbox1); escalonadPlot.AnimateData(fcfs, true, "FCFS"); }
public static void LogExport(List <PlotableProcess> fcfs, List <PlotableProcess> sjf, List <PlotableProcess> rr, double quantum) { if (fcfs != null && sjf != null && rr != null) { SchedulersResult result = new SchedulersResult { FCFS = fcfs.ConvertAll((input) => { return(new LogProcess(input)); }), SJF = sjf.ConvertAll((input) => { return(new LogProcess(input)); }), Quantum = quantum, RR = rr.ConvertAll((input) => { return(new LogProcess(input)); }), }; if (GTKUtils.ShowFileChooser(out string path, ".log", "Exportar Log: .log", "Salvar")) { string json = JsonController.ObjectToJson(result); JsonController.SaveJson(json, path); } } else { NotProcess(); } }