Ejemplo n.º 1
0
 //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;
 }
Ejemplo n.º 2
0
        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);
        }