public EditView(InfoSheet sheet) : this() { var parameter = BindingContext as IParameter; parameter?.SetParameter(sheet); // edit Title = AppResources.ViewEdit_TitleModify; }
public static void saveSheetToFile(InfoSheet sheet, bool instance = false) { Dictionary <string, (string, float, float, float, float)> dictText = sheet.textFields; string fileText = ""; fileText += sheet.getName() + "\n"; foreach (KeyValuePair <string, (string, float, float, float, float)> tuple in dictText) { if (tuple.Key != "") { fileText += "text," + tuple.Key + "," + tuple.Value.Item1 + "," + tuple.Value.Item2 + "," + tuple.Value.Item3 + "," + tuple.Value.Item4 + "," + tuple.Value.Item5 + "\n"; } } Dictionary <string, (float, float, float, float, float)> dictStatic = sheet.staticNumericalFields; foreach (KeyValuePair <string, (float, float, float, float, float)> tuple in dictStatic) { if (tuple.Key != "") { fileText += "static," + tuple.Key + "," + tuple.Value.Item1 + "," + tuple.Value.Item2 + "," + tuple.Value.Item3 + "," + tuple.Value.Item4 + "," + tuple.Value.Item5 + "\n"; } } Dictionary <string, (float, float, float, float, float, float)> dictDynamic = sheet.dynamicNumericalFields; foreach (KeyValuePair <string, (float, float, float, float, float, float)> tuple in dictDynamic) { if (tuple.Key != "") { fileText += "dynamic," + tuple.Key + "," + tuple.Value.Item1 + "," + tuple.Value.Item2 + "," + tuple.Value.Item3 + "," + tuple.Value.Item4 + "," + tuple.Value.Item5 + "," + tuple.Value.Item6 + "\n"; } } if (instance) { fileText += sheet.getInstance() + "\n"; } fileText += "End file"; string filePath; if (instance) { filePath = @"Instances\" + sheet.getName() + "." + sheet.getInstance() + ".st"; } else { filePath = @"Sheets\" + sheet.getName() + ".st"; } if (File.Exists(filePath)) { File.WriteAllText(filePath, string.Empty); } File.WriteAllText(filePath, fileText); Debug.Log("Saved"); //Debug.Log(fileText); }
public void saveSheet(bool instance = false) { if (instance) { sheet = gameObject.GetComponent <SheetLoader>().getSheet(); sheet.setInstance(instanceName.GetComponent <Text>().text); Debug.Log("Attempting save"); SheetFileManager.saveSheetToFile(sheet, true); } else { n = sheetName.GetComponent <Text>().text; if (n != "") { if (!nameSet) { sheet.setName(n); } else if (n != sheetName.GetComponent <Text>().text) { sheet.setName(n); } Debug.Log("Attempting save"); SheetFileManager.saveSheetToFile(sheet); } } }
protected override void IncomingParameter(object parameter) { UserInteraction(); sheet = parameter as InfoSheet; RaisePropertyChanged(nameof(Title)); RaisePropertyChanged(nameof(Id)); RaisePropertyChanged(nameof(IsLoginCategory)); RaisePropertyChanged(nameof(IsMiscCategory)); RaisePropertyChanged(nameof(IsNoteCategory)); RaisePropertyChanged(nameof(IsPersonal)); RaisePropertyChanged(nameof(IsProfessional)); RaisePropertyChanged(nameof(Category)); RaisePropertyChanged(nameof(Login)); RaisePropertyChanged(nameof(UrlOrName)); RaisePropertyChanged(nameof(Password)); RaisePropertyChanged(nameof(CreatedOnStr)); RaisePropertyChanged(nameof(ModifiedOnStr)); RaisePropertyChanged(nameof(Note)); RaisePropertyChanged(nameof(IsNoteVisible)); RaisePropertyChanged(nameof(IsMoreTimeAvalaible)); RaisePropertyChanged(nameof(IsCheckPasswordVisible)); CheckPasswordCommand.ChangeCanExecute(); CopyPasswordCommand.ChangeCanExecute(); CopyLoginCommand.ChangeCanExecute(); CopyNoteCommand.ChangeCanExecute(); GoToWebCommand.ChangeCanExecute(); MoreTimeCommand.ChangeCanExecute(); EditCommand.ChangeCanExecute(); }
public static InfoSheet loadSheetFromFile(string filePath) { InfoSheet sheet = null; bool firstLine = true; string line; System.IO.StreamReader file = new System.IO.StreamReader(filePath); while ((line = file.ReadLine()) != null) { if (firstLine) { sheet = new InfoSheet(line); firstLine = false; } else { string[] split = line.Split(','); if ("text" == split[0]) { string name = split[1]; string text = split[2]; float x = float.Parse(split[3]); float y = float.Parse(split[4]); float width = float.Parse(split[5]); float height = float.Parse(split[6]); sheet.addText(name, text, x, y, width, height); } else if ("static" == split[0]) { string name = split[1]; float val = float.Parse(split[2]); float x = float.Parse(split[3]); float y = float.Parse(split[4]); float width = float.Parse(split[5]); float height = float.Parse(split[6]); sheet.addStatic(name, val, x, y, height, width); } else if ("dynamic" == split[0]) { string name = split[1]; float val = float.Parse(split[2]); float max = float.Parse(split[3]); float x = float.Parse(split[4]); float y = float.Parse(split[5]); float width = float.Parse(split[6]); float height = float.Parse(split[7]); sheet.addDynamic(name, val, max, x, y, height, width); } else if ("End File" != line) { sheet.setInstance(line); } } } return(sheet); }
public void sheet_button(InfoSheet sheet) { Debug.Log("Sheet"); queue.addToQueue(new QueueItem(sheet)); recalc_sortables(); do_popup(); //refresh(); }
public DetailView(InfoSheet infoSheet) : this() { (BindingContext as IParameter)?.SetParameter(infoSheet); ToolbarItems.Add(moreTimeItem); if (!string.IsNullOrWhiteSpace(infoSheet?.Password) && infoSheet.Category == InfoSheet.CategoryFilter.Login) { ToolbarItems.Add(chkPwItem); } ToolbarItems.Add(editItem); }
public void initialize(InfoSheet s, string t) { sheet = s; x = GetComponent <RectTransform>().anchoredPosition.x; y = GetComponent <RectTransform>().anchoredPosition.y; type = t; val = max = 0; text = ""; fieldName = ""; set = false; }
QueueItem new_sheet() { string name = "sheet" + sheet_count.ToString(); InfoSheet sheet = new InfoSheet(name); sheet.addDynamic("initiative", (float)-sheet_count, float.PositiveInfinity, float.NegativeInfinity, (float)sheet_count, 1f, 1f); sheet.addDynamic("reverse", (float)sheet_count, float.PositiveInfinity, float.NegativeInfinity, (float)sheet_count, 1f, 1f); sheet.addDynamic(name, (float)sheet_count, float.PositiveInfinity, float.NegativeInfinity, (float)sheet_count, 1f, 1f); sheet_count++; return(new QueueItem(sheet)); }
public int DeleteinfoSheet(InfoSheet info) { if (info == null) { return(-1); } lock (locker) using (var db = openConnexion()) { return(db.Delete <InfoSheet>(info.Id)); } }
public void setSheet(InfoSheet s, string name, float xCoord, float yCoord) { type = "label"; sheet = s; set = true; fieldName = name; text = ""; x = xCoord; y = yCoord; height = 1; width = 1; val = max = 0; }
public void setSheet(InfoSheet s, string name, float v, float xCoord, float yCoord) { sheet = s; set = true; type = "static"; fieldName = name; text = ""; x = xCoord; y = yCoord; height = 1; width = 1; val = Convert.ToInt32(v); max = 0; }
public void setSheet(InfoSheet s, string name, string t, float xCoord, float yCoord) { print("Gets here"); sheet = s; type = "text"; set = true; fieldName = name; text = t; x = xCoord; y = yCoord; height = 1; width = 1; val = max = 0; }
protected override void IncomingParameter(object parameter) { UserInteraction(); originalSheet = parameter as InfoSheet; Sheet = (InfoSheet)originalSheet?.Clone(); InEditMode = originalSheet != null; if (Sheet == null) { Sheet = new InfoSheet { Category = InfoSheet.CategoryFilter.Login, Pro = InfoSheet.ProFilter.Personal } } ; DeleteCommand.ChangeCanExecute(); CheckPasswordCommand.ChangeCanExecute(); }
// Start is called before the first frame update void Start() { InfoSheet sheet = new InfoSheet("1"); sheet.dynamicNumericalFields.Add("Dynamic1", (1, 2, 3, 4, 5, 6)); sheet.dynamicNumericalFields.Add("Dynamic2", (1, 2, 3, 4, 5, 6)); sheet.dynamicNumericalFields.Add("Dynamic3", (1, 2, 3, 4, 5, 6)); sheet.staticNumericalFields.Add("Static1", (5, 2, 3, 4, 5)); sheet.staticNumericalFields.Add("Static2", (1, 2, 3, 4, 5)); sheet.staticNumericalFields.Add("Static3", (1, 2, 3, 4, 5)); sheet.textFields.Add("Name", ("Test1", 1, 2, 3, 4)); sheet.textFields.Add("Text2", ("Test", 1, 2, 3, 4)); sheet.textFields.Add("Text3", ("Test", 1, 2, 3, 4)); SheetFileManager.saveSheetToFile(sheet); InfoSheet sheet2 = SheetFileManager.loadSheetFromFile(@"Sheets\" + "1" + ".st"); sheet2.setName("2"); SheetFileManager.saveSheetToFile(sheet2); }
public int SaveInfoSheet(InfoSheet info) { lock (locker) { if (info == null) { return(-1); } var dbSheet = info.ToCryptedSheet(); using (var db = openConnexion()) { if (info.Id > 0) { db.Update(dbSheet); info.IsModified = false; return(info.Id); } var i = db.Insert(dbSheet); info.Id = dbSheet.Id; info.IsModified = false; return(i); } } }
// Start is called before the first frame update void Start() { nameSet = false; sheet = new InfoSheet(""); }
public void generateSheet(string fileName, bool template = false) { sheet = SheetFileManager.loadSheetFromFile(fileName); if (!template) { sheet.setInstance(instance.Split('.')[1]); } GameObject field; foreach (KeyValuePair <string, (string, float, float, float, float)> tuple in sheet.getTextFields()) { if (tuple.Value.Item1 == "") { field = Instantiate(label, transform); if (template) { field.GetComponent <FieldManager>().setSheet(sheet, tuple.Key, tuple.Value.Item2, tuple.Value.Item3); field.GetComponent <DragHandler>().dropLocation = gameObject; field.GetComponent <InputField>().text = tuple.Key; } else { field.GetComponent <Text>().text = tuple.Key; } field.GetComponent <RectTransform>().localPosition = new Vector3(tuple.Value.Item2, tuple.Value.Item3, 0); } else { field = Instantiate(text, transform); if (template) { field.GetComponent <FieldManager>().setSheet(sheet, tuple.Key, tuple.Value.Item1, tuple.Value.Item2, tuple.Value.Item3); field.GetComponent <DragHandler>().dropLocation = gameObject; field.GetComponent <FieldManager>().setSheet(sheet, tuple.Key, tuple.Value.Item1, tuple.Value.Item2, tuple.Value.Item3); field.GetComponent <DragHandler>().dropLocation = gameObject; field.GetComponent <InputField>().text = tuple.Value.Item1; field.GetComponent <Holder>().held.GetComponent <InputField>().text = tuple.Key; } else { field.GetComponent <Holder>().held1.GetComponent <InputField>().text = tuple.Value.Item1; field.GetComponent <Holder>().held.GetComponent <Text>().text = tuple.Key; } field.GetComponent <RectTransform>().localPosition = new Vector3(tuple.Value.Item2, tuple.Value.Item3, 0); } } foreach (KeyValuePair <string, (float, float, float, float, float)> tuple in sheet.getStaticNumericalFields()) { field = Instantiate(stat, transform); if (template) { field.GetComponent <FieldManager>().setSheet(sheet, tuple.Key, tuple.Value.Item1, tuple.Value.Item2, tuple.Value.Item3); field.GetComponent <DragHandler>().dropLocation = gameObject; field.GetComponent <Holder>().held1.GetComponent <InputField>().text = tuple.Key; field.GetComponent <InputField>().text = tuple.Value.Item1.ToString(); } else { field.GetComponent <Text>().text = tuple.Key; field.GetComponent <Holder>().held.GetComponent <Text>().text = tuple.Value.Item1.ToString(); } field.GetComponent <RectTransform>().localPosition = new Vector3(tuple.Value.Item2, tuple.Value.Item3, 0); } foreach (KeyValuePair <string, (float, float, float, float, float, float)> tuple in sheet.getDynamicNumericalFields()) { field = Instantiate(dyn, transform); if (template) { field.GetComponent <FieldManager>().setSheet(sheet, tuple.Key, tuple.Value.Item1, tuple.Value.Item2, tuple.Value.Item3, tuple.Value.Item4); field.GetComponent <DragHandler>().dropLocation = gameObject; field.GetComponent <Holder>().held2.GetComponent <InputField>().text = tuple.Key; field.GetComponent <Holder>().held.GetComponent <InputField>().text = tuple.Value.Item1.ToString(); field.GetComponent <Holder>().held1.GetComponent <InputField>().text = tuple.Value.Item2.ToString(); } else { field.GetComponent <Text>().text = tuple.Key; field.GetComponent <Holder>().held.GetComponent <InputField>().text = tuple.Value.Item1.ToString(); field.GetComponent <Holder>().held1.GetComponent <Text>().text = tuple.Value.Item2.ToString(); } field.GetComponent <RectTransform>().localPosition = new Vector3(tuple.Value.Item3, tuple.Value.Item4, 0); } }
private int csvImport(IEnumerable <string> data) { UserInteraction(); data = data.Where(s => !string.IsNullOrWhiteSpace(s.Trim())).ToList(); // parse var lines = new List <string[]>(); var curline = 0; foreach (var s in data) { curline++; var k = csvSplit(';', '"', s); if (k.Count < 1) { Toasts.Notify(ToastNotificationType.Error, AppResources.SettingsViewModel_csvImport_Import_failed, string.Format(AppResources.SettingsViewModel_csvImport_Import_aborted_bad_data_line__0_, curline + 1), TimeSpan.FromSeconds(3)); return(0); } lines.Add(k.ToArray()); } // test 1st line var fieldPositions = new List <fieldInfo>(); var pos = 0; var lineZero = lines[0]; foreach (var item in lineZero) { var p = fieldNames.FirstOrDefault(fn => string.Compare(fn.Name, item, StringComparison.OrdinalIgnoreCase) == 0); if (p.OriginalPos < 0) { Toasts.Notify(ToastNotificationType.Error, AppResources.SettingsViewModel_exportData_Error, string.Format(AppResources.SettingsViewModel_csvImport_field__0__can_t_be_found, item), TimeSpan.FromSeconds(3)); return(0); } p.Pos = pos++; fieldPositions.Add(p); } fieldPositions = fieldPositions.OrderBy(fp => fp.Pos).ToList(); if (fieldPositions.Any(fp => fp.Pos != fp.OriginalPos) || fieldPositions.Count != fieldNames.Count) { Toasts.Notify(ToastNotificationType.Error, AppResources.SettingsViewModel_exportData_Error, AppResources.SettingsViewModel_csvImport_Corrupted_data__1st_line_missing_, TimeSpan.FromSeconds(3)); return(0); } // make a list of sheets var list = new List <InfoSheet>(lines.Count); lines.RemoveAt(0); // titles are no more useful foreach (var line in lines) { var fcInt = new Func <string, int>(s => { int i; var b = int.TryParse(s, out i); if (!b) { throw new Exception(string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_ID, s)); } return(i); }); var fcBool = new Func <string, bool>(s => { bool i; var b = bool.TryParse(s, out i); if (!b) { throw new Exception(string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_boolean, s)); } return(i); }); var fcDateTime = new Func <string, DateTime>(s => { if (string.IsNullOrEmpty(s)) { return(DateTime.Now); } DateTime i; var b = DateTime.TryParse(s, out i); if (!b) { throw new Exception(string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_date_time, s)); } return(i); }); var fcCat = new Func <string, InfoSheet.CategoryFilter>(s => { try { return(s.ToEnum(InfoSheet.CategoryFilter.Misc)); } catch { throw new Exception(string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_Category, s)); } }); var fcAlgo = new Func <string, SheetCrypting>(s => { if (string.IsNullOrEmpty(s)) { return(SheetCrypting.None); } try { return(s.ToEnum(SheetCrypting.None)); } catch { throw new Exception( string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_algorithm_data_could_be_unreadable, s)); } }); var sheet = new InfoSheet(); var modified = DateTime.Now; foreach (var p in fieldPositions) { var str = line[p.Pos]; switch (p.OriginalPos) { case 0: sheet.Id = fcInt(str); break; case 1: sheet.Title = str; break; case 2: sheet.IsPro = fcBool(str); break; case 3: sheet.Note = str; break; case 4: sheet.CreatedOn = fcDateTime(str); break; case 5: modified = fcDateTime(str); break; case 6: sheet.UrlOrName = str; break; case 7: sheet.Login = str; break; case 8: sheet.Password = str; break; case 9: sheet.Category = fcCat(str); break; case 10: sheet.Crypting = fcAlgo(str); break; default: throw new Exception(string.Format(AppResources.SettingsViewModel_csvImport___0___is_not_a_valid_field_position_, p.OriginalPos)); } } sheet.ModifiedOn = modified; sheet.IsModified = false; sheet = sheet.ToUnencryptedSheet(); // will be uncrypted by save method list.Add(sheet); } // import data try { var t = DataService.ImportData(list, SkipExistingId, SkipExistingTitle, ClearDbBeforeImport); if (t.Item2 > 0 || t.Item3 > 0) { Toasts.Notify(ToastNotificationType.Info, AppResources.SettingsViewModel_csvImport_Ignored_data, string.Format(AppResources.SettingsViewModel_csvImport__0__sheets_imported___1__ID_skipped___2__Title_skipped_, t.Item1, t.Item2, t.Item3), TimeSpan.FromSeconds(5)); } MessengerInstance.Send(new NotificationMessage(Utils.GlobalMessages.DataInserted.ToString())); return(t.Item1); } catch (Exception ex) { DialogService.ShowError(ex, AppResources.SettingsViewModel_exportData_Error, AppResources.SettingsViewModel_exportData_OK, null); return(-1); } }
public QueueItem(InfoSheet entityItem) { entity = entityItem; itemType = 0; }
// Start is called before the first frame update void Start() { Queue queue = new Queue(); InfoSheet sheet = new InfoSheet("1"); sheet.dynamicNumericalFields.Add("Dynamic1", (1, 2, 3, 4, 5, 6)); sheet.dynamicNumericalFields.Add("Dynamic2", (1, 2, 3, 4, 5, 6)); sheet.dynamicNumericalFields.Add("Dynamic3", (1, 2, 3, 4, 5, 6)); sheet.staticNumericalFields.Add("Static1", (5, 2, 3, 4, 5)); sheet.staticNumericalFields.Add("Static2", (1, 2, 3, 4, 5)); sheet.staticNumericalFields.Add("Static3", (1, 2, 3, 4, 5)); sheet.textFields.Add("Name", ("Test1", 1, 2, 3, 4)); sheet.textFields.Add("Text2", ("Test", 1, 2, 3, 4)); sheet.textFields.Add("Text3", ("Test", 1, 2, 3, 4)); InfoSheet sheet2 = new InfoSheet("2"); sheet2.dynamicNumericalFields.Add("Dynamic1", (1, 2, 3, 4, 5, 6)); sheet2.dynamicNumericalFields.Add("Dynamic2", (1, 2, 3, 4, 5, 6)); sheet2.dynamicNumericalFields.Add("Dynamic3", (1, 2, 3, 4, 5, 6)); sheet2.staticNumericalFields.Add("Static1", (3, 2, 3, 4, 5)); sheet2.staticNumericalFields.Add("Static2", (1, 2, 3, 4, 5)); sheet2.staticNumericalFields.Add("Static3", (1, 2, 3, 4, 5)); sheet2.textFields.Add("Name", ("Test2", 1, 2, 3, 4)); sheet2.textFields.Add("Text2", ("Test", 1, 2, 3, 4)); sheet2.textFields.Add("Text3", ("Test", 1, 2, 3, 4)); InfoSheet sheet3 = new InfoSheet("3"); sheet3.dynamicNumericalFields.Add("Dynamic1", (1, 2, 3, 4, 5, 6)); sheet3.dynamicNumericalFields.Add("Dynamic2", (1, 2, 3, 4, 5, 6)); sheet3.dynamicNumericalFields.Add("Dynamic3", (1, 2, 3, 4, 5, 6)); sheet3.staticNumericalFields.Add("Static1", (1, 2, 3, 4, 5)); sheet3.staticNumericalFields.Add("Static2", (1, 2, 3, 4, 5)); sheet3.staticNumericalFields.Add("Static3", (1, 2, 3, 4, 5)); sheet3.textFields.Add("Name", ("Test3", 1, 2, 3, 4)); sheet3.textFields.Add("Text2", ("Test", 1, 2, 3, 4)); sheet3.textFields.Add("Text3", ("Test", 1, 2, 3, 4)); QueueItem item = new QueueItem(sheet); queue.addToQueue(item); item = new QueueItem(sheet2); queue.addToQueue(item); item = new QueueItem(sheet3); queue.addToQueue(item); queue.orderBy("Static1"); InfoSheet sheet4 = new InfoSheet("4"); sheet4.dynamicNumericalFields.Add("Dynamic1", (1, 2, 3, 4, 5, 6)); sheet4.dynamicNumericalFields.Add("Dynamic2", (1, 2, 3, 4, 5, 6)); sheet4.dynamicNumericalFields.Add("Dynamic3", (1, 2, 3, 4, 5, 6)); sheet4.staticNumericalFields.Add("Static1", (4, 2, 3, 4, 5)); sheet4.staticNumericalFields.Add("Static2", (1, 2, 3, 4, 5)); sheet4.staticNumericalFields.Add("Static3", (1, 2, 3, 4, 5)); sheet4.textFields.Add("Name", ("Test4", 1, 2, 3, 4)); sheet4.textFields.Add("Text2", ("Test", 1, 2, 3, 4)); sheet4.textFields.Add("Text3", ("Test", 1, 2, 3, 4)); item = new QueueItem(sheet4); queue.addToQueue(item); List <string> order = queue.getTextFieldFromEach("Name"); foreach (string name in order) { Debug.Log(name); } }
private void createTest() { var i = new InfoSheet() { Category = InfoSheet.CategoryFilter.Note, Title = "Titre un peu long pour le test", Note = "Ceci est une note un peu longue pour tester le comportement de l'affichage quand les notes sont longues et même si c'est embêtant de taper un texte pareil", Pro = InfoSheet.ProFilter.Personal }; DataService.SaveInfoSheet(i); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Note, Title = "Note deux pro", Note = "note courte de type professionnelle.", Pro = InfoSheet.ProFilter.Profesional }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Login, UrlOrName = "not an url", Title = "Wonder World", Login = "******", Password = "******", Pro = InfoSheet.ProFilter.Personal }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Login, Title = "E-Naxos", UrlOrName = "http://www.e-naxos.com", Login = "******", Password = "******", Note = "E-Naxos web site", Pro = InfoSheet.ProFilter.Personal }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Misc, Title = "Saurus", Note = "XBC8-88WX-SEDS-777 achetée le 23.01.15", Pro = InfoSheet.ProFilter.Profesional }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Misc, Title = "Microsoft", Note = "8987-888-111-1111 achetée le 30.03.16", Pro = InfoSheet.ProFilter.Personal }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Misc, Title = "Office", Note = "8987-888-111-1111 achetée le 10.01.16", Pro = InfoSheet.ProFilter.Profesional }); DataService.SaveInfoSheet(new InfoSheet() { Category = InfoSheet.CategoryFilter.Misc, Title = "Portier manu", Note = "58AF", Pro = InfoSheet.ProFilter.Personal }); loadData(); }