public Element EditElement() { List <Element> elements = new JsonFileManager().LoadElements("../../../../AppData/Elements.json"); Element selectedElement = GetSelectedElement(elements); Element editedElement = new Element(selectedElement.Name, selectedElement.HeighEfectivityElements, selectedElement.LowEfectivityElements); bool update = true; while (update) { Console.WriteLine("[1] - Change name"); Console.WriteLine("[2] - Change high efective elements"); Console.WriteLine("[3] - Change low efective elements"); Console.WriteLine("[4] - Delete Element"); Console.WriteLine("[0] - Update"); char selectedItem = Console.ReadKey().KeyChar; Console.Clear(); switch (selectedItem) { case '1': Console.WriteLine("#### CHANGE NAME ####"); editedElement.Name = GetElementName(); break; case '2': Console.WriteLine("#### CHANGE HIGH EFECTIVITY ELEMENTS ####"); editedElement.HeighEfectivityElements = GetSelectedElements(new JsonFileManager().LoadElements("../../../../AppData/Elements.json")); break; case '3': Console.WriteLine("#### CHANGE LOW EFECTIVITY ELEMENTS ####"); editedElement.LowEfectivityElements = GetSelectedElements(new JsonFileManager().LoadElements("../../../../AppData/Elements.json")); break; case '4': elements.RemoveAll(element => element.Name == selectedElement.Name); update = false; break; case '0': update = false; break; default: Console.Clear(); Console.WriteLine("ERROR: Wrong value"); break; } } foreach (Element element in elements) { if (element.Name == selectedElement.Name) { element.Name = editedElement.Name; element.HeighEfectivityElements = editedElement.HeighEfectivityElements; element.LowEfectivityElements = editedElement.LowEfectivityElements; Console.WriteLine("Element updated"); break; } } Console.Clear(); new JsonFileManager().UpdateElementsList(elements, "../../../../AppData/Elements.json"); return(editedElement); }