//The method for adding a new project to the list of projects. public void AddProject(string name, string abbreviation, string customer) { if (name == string.Empty) { throw new ArgumentException("Pole pre meno projektu je prázdne!"); } else if (abbreviation == string.Empty) { throw new ArgumentException("Pole pre skratku je prázdne!"); } else if (customer == string.Empty) { throw new ArgumentException("Pole pre názov zákazníka je prázdne!"); } else { Projekt = new Projekt(name, abbreviation, customer); //Generating an unique ID. Then method is checking project ID if it does not repeat, because //after app restar, the static property "generatedId" starts generating ID from 1. generatedId++; Projekt.Id = generatedId; foreach (Projekt pr in ListOfProjects) { while (pr.Id == Projekt.Id) { Projekt.Id++; } } Projekt.PublishedId = "proj" + Projekt.Id.ToString(); ListOfProjects.Add(Projekt); } }
//The method for editing project properties public void EditProjekt(Projekt projekt, string name, string abbreviation, string customer) { if (name == string.Empty) { throw new ArgumentException("Pole pre meno projektu je prázdne!"); } else if (abbreviation == string.Empty) { throw new ArgumentException("Pole pre skratku je prázdne!"); } else if (customer == string.Empty) { throw new ArgumentException("Pole pre názov zákazníka je prázdne!"); } else { int index = ListOfProjects.IndexOf(projekt); string transID = projekt.PublishedId; DeleteProject(projekt); AddProject(name, abbreviation, customer); foreach (Projekt a in ListOfProjects) { if (a.Name == name) { a.PublishedId = transID; } } ListOfProjects.Move((ListOfProjects.Count - 1), index); } }
//The method for deleting a project from the list public void DeleteProject(Projekt projekt) { if (projekt == null) { throw new ArgumentException("Nie je zvoleny projekt!"); } else if (ListOfProjects == null) { throw new ArgumentException("Zoznam projektov je prazdny!"); } else { ListOfProjects.Remove(projekt); } }
public EditWindow(ProjectManager projectManager, Projekt projekt) { InitializeComponent(); ProjectManager = projectManager; if (projekt == null) { throw new ArgumentException("Nie je zvolený žiadny projekt!"); } else if (ProjectManager.ListOfProjects == null) { throw new ArgumentException("Zoznam projektov je prazdny!"); } else { Projekt = projekt; } DataContext = projekt; }