//När noden konstrueras finns inte alltid info om vilken som är nästa node //därför krävs endast säljperson som parameter i kontruktorn public Node(SalesPerson person) { this.person = person; }
private SalesPerson RetrieveUserInput() { //Metoden tar emot inmatning från användare //om inmatningen är ok returneras ett person-objekt //om något är fel med inmatningen returneras null //deklaration string name; string personalNumber; string district; int soldArticles = 0; //skapar en instans av felhanteringsklassen där merparten av //felhanteringen görs ErrorHandling error = new ErrorHandling(); //hämtar namn från textboxen. om fältet är tomt ges ett felmeddelande name = tbxName.Text; if (name == "") { error.BlankField(lblError, tbxName, "Namn"); return(null); } //hämtar personnummer från textboxen. om fältet är tomt ges ett felmeddelande personalNumber = tbxPersonalNumber.Text; if (personalNumber == "") { error.BlankField(lblError, tbxPersonalNumber, "Personnummer"); return(null); } //hämtar distrikt från textboxen. om fältet är tomt ges ett felmeddelande district = tbxDistrict.Text; if (district == "") { error.BlankField(lblError, tbxDistrict, "Distrikt"); return(null); } //hämtar antal sålda artiklar från textboxen. //om användaren angivit något annat än heltal lämnas ett felmeddelande. try { soldArticles = Convert.ToInt32(tbxSoldArticles.Text); } catch (FormatException) { lblError.Text = "Antal artiklar måste anges i heltal."; lblError.Visible = true; return(null); } //genomför ett antal personnummerkontroller i felhanteringsklassen string personalNumberError = error.PersonalNumberCheck(personalNumber); //om ett felmeddelande returneras ges detta till användaren //null returneras i så fall från metoden if (personalNumberError != "") { lblError.Text = personalNumberError; lblError.Visible = true; return(null); } //om inget fel har hittats skapas ett SalesPerson-objekt upp och returneras från metoden SalesPerson person = new SalesPerson(name, personalNumber, district, soldArticles); return(person); }