public void AddSwimmer(Swimmer swimmer)
 {
     if (!Swimmers.Contains(swimmer))
     {
         if (swimmer.Club == null)
         {
             throw new Exception($"swimmer {swimmer.Name} not assigned club");
         }
         else if (Club == null)
         {
             throw new Exception($"Coach {Name} not assigned club");
         }
         else if (swimmer.Club != Club)
         {
             throw new Exception($"Coach {Name} and swimmer {swimmer.Name} are not in the same club");
         }
         else if (swimmer.Club == Club)
         {
             if (swimmer.Coach == null)
             {
                 swimmer.Coach = this;
             }
             else
             {
                 Swimmers.Add(swimmer);
             }
         }
     }
 }
Beispiel #2
0
 public void AddSwimmer(Swimmer swimmer)
 {
     //if (Swimmers.Count< Max_Registrants)
     if (numberOfRegistrants < Max_Registrants)
     {
         //if (Swimmers[Swimmers.Count].RegistrationNumber != swimmer.RegistrationNumber)
         //{
         //    //Swimmers[numberOfRegistrants++] = swimmer;
         //    Swimmers.Add(swimmer);
         //    swimmer.Coach = this;
         //}
         if (!Swimmers.Contains(swimmer))
         {
             Swimmers[numberOfRegistrants++] = swimmer;
             //Swimmers.Add(swimmer);
             //if(swimmer.Club.ClubNumber==swimmer.Coach.Club.ClubNumber)
             swimmer.Coach = this;
             //else
             //    Console.WriteLine("Club number is not same");
         }
         else
         {
             //throw new Exception("Swimmer already assigned to " + Swimmers[numberOfRegistrants++].Coach.Name);
         }
     }
     else
     {
         throw new Exception("Cannot register more than 20");
     }
 }
 public void Add(Registrant swimmer)
 {
     if (!Swimmers.Contains(swimmer))
     {
         Swimmers.Add(swimmer);
     }
     else
     {
         throw new Exception("The swimmer already added into swimmer manager");
     }
 }
Beispiel #4
0
        /*Add Method*/
        public void Add(Registrant newSwimmer)
        {
            Swimmers.Add(newSwimmer);
            Number++;

            bool isAssigned = false;

            foreach (Club club in ClubManager.Clubs)
            {
                if (newSwimmer.Club == club)
                {
                    isAssigned = true;
                }
            }
            if (!isAssigned && newSwimmer.Club != null)
            {
                ClubManager.Add(newSwimmer.Club);
            }
        }
Beispiel #5
0
 public void AddSwimmer(Registrant aRegistrant)
 {
     try
     {
         for (int i = 0; i < NumOfSwimmers; i++)
         {
             if (Swimmers[i] == aRegistrant)
             {
                 throw new Exception($"Error: Swimmer {aRegistrant.Name}, {aRegistrant.RegistrantId} is already entered");
             }
         }
         Swimmers.Add(aRegistrant);
         NumOfSwimmers++;
         aRegistrant.RegEvent = this;
     }
     catch (IndexOutOfRangeException)
     {
         Console.WriteLine($"Error: No more swimmers can be added this event!");
     }
 }
Beispiel #6
0
        public void AddSwimmer(Registrant newSwimmer)
        {
            //Making the ndex start from one
            if (NumberOfSwimmers == 0 || Swimmers[NumberOfSwimmers - 1] != newSwimmer)
            {
                if (newSwimmer.Club == null || newSwimmer.Club == this)
                {
                    Swimmers.Add(newSwimmer);
                    NumberOfSwimmers++;

                    // Only Assigning the unassigned Swimmers
                    if (newSwimmer.Club == null)
                    {
                        newSwimmer.Club = this;
                    }
                }
                else
                {
                    throw new Exception(string.Format($"Swimmer already assigned to { newSwimmer.Club.Name} club"));
                }
            }
        }
Beispiel #7
0
 /*Add Swimemr Method*/
 public void AddSwimmer(Swimmer newSwimmer)
 {
     if (Club == newSwimmer.Club && !Swimmers.Contains(newSwimmer))
     {
         if (newSwimmer.Coach != this)
         {
             newSwimmer.Coach = this;
         }
         if (!Swimmers.Contains(newSwimmer))
         {
             Swimmers.Add(newSwimmer);
         }
     }
     else if (Club != newSwimmer.Club && Club != null)
     {
         throw new Exception("Coach and swimmer are in different club");
     }
     else if (Club == null)
     {
         throw new Exception("Coach is unassigned");
     }
 }
        //methods
        public void Add(Registrant aRegistrant)
        {
            try
            {
                for (int i = 0; i < Number; i++)
                {
                    if (Swimmers[i] == aRegistrant)
                    {
                        throw new Exception($"Error: Club {aRegistrant.Name} already exists in clubs-list");
                    }
                }
                Swimmers.Add(aRegistrant);
                Number++;

                //checking to see if swimmers club exists in clubmanager clubs
                //if not, create new club without provided id from text file
                bool clubExists = false;

                foreach (Club club in ClubManager.Clubs)
                {
                    if (aRegistrant.Club == club)
                    {
                        clubExists = true;
                    }
                }

                if (!clubExists && aRegistrant.Club != null)
                {
                    ClubManager.Add(aRegistrant.Club);
                }
            }
            catch (IndexOutOfRangeException)
            {
                Console.WriteLine("Error: Clubs list is full!");
            }
        }
        public void Load(string fileName, string delimiter)
        {
            int        regNo;
            DateTime   date;
            long       phone;
            TextReader reader = new StreamReader(fileName);
            string     line   = reader.ReadLine();

            string[] fields;
            while (line != null)
            {
                try
                {
                    fields = line.Split(Convert.ToChar(delimiter));
                    for (int i = 0; i < number; i++)
                    {
                        if (fields[1] == "")
                        {
                            throw new Exception("Invalid swimmer record. Invalid swimmer name:  \n\t" + line);
                        }
                        else
                        if (!DateTime.TryParse(fields[2], out date))
                        {
                            throw new Exception("Invalid swimmer record. Birth date is inalid: \n\t" + line);
                        }
                        else if (!long.TryParse(fields[7], out phone))
                        {
                            throw new Exception("Invalid swimmer record. Phone number wrong format: \n\t" + line);
                        }
                        else if (!int.TryParse(fields[0], out regNo))
                        {
                            throw new Exception("Invalid swimmer record. Invalid registration number: \n\t" + line);
                        }
                        else if (GetByRegNum(Convert.ToInt32(fields[0])) != null)
                        {
                            if (Swimmers.Contains(GetByRegNum(Convert.ToInt32(fields[0]))))

                            {
                                throw new Exception("Invalid swimmer record. Swimmer with the registration number already exists: \n\t" + line);
                            }
                            else
                            {
                                Address    address    = new Address(fields[3], fields[4], fields[5], fields[6]);
                                Registrant newSwimmer = new Registrant(Convert.ToInt32(fields[0]), fields[1], Convert.ToDateTime(fields[2]), address, Convert.ToUInt32(fields[7]));
                                Add(newSwimmer);
                            }
                        }
                    }
                    Address    address1    = new Address(fields[3], fields[4], fields[5], fields[6]);
                    Registrant newSwimmer1 = new Registrant(Convert.ToInt32(fields[0]), fields[1], Convert.ToDateTime(fields[2]), address1, Convert.ToUInt32(fields[7]));
                    Add(newSwimmer1);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    if (Swimmers[number] != null)
                    {
                        ++number;
                        reader.Close();
                    }
                }
                line = reader.ReadLine();
            }
        }
        public void Load(string fileName, string delimeter)
        {
            char         deli = Convert.ToChar(delimeter);
            string       record;
            FileStream   fileIn = null;
            StreamReader reader = null;

            try
            {
                fileIn = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                reader = new StreamReader(fileIn);

                record = reader.ReadLine();
                while (record != null)
                {
                    string[] fields = record.Split(deli);
                    int      regNumber;
                    DateTime dateTime;
                    long     phoneNumber;
                    int      clubNumber;
                    try
                    {
                        try
                        {
                            regNumber = Convert.ToInt32(fields[0]);
                        }
                        catch (Exception)
                        {
                            throw new Exception($"Invalid swimmer record. Invalid registration number:\n         {record}");
                        }
                        try
                        {
                            dateTime = Convert.ToDateTime(fields[2]);
                        }
                        catch (Exception)
                        {
                            throw new Exception($"Invalid swimmer record. Birth date is invalid:\n         {record}");
                        }
                        try
                        {
                            phoneNumber = Convert.ToInt64(fields[7]);
                        }
                        catch (Exception)
                        {
                            throw new Exception($"Invalid swimmer record. Phone number wrong format:\n         {record}");
                        }
                        if (fields[1] == "")
                        {
                            throw new Exception($"Invalid swimmer record. Invalid swimmer name: \n         {record}");
                        }

                        Registrant result = new Registrant(regNumber, fields[1], dateTime, new Address(fields[3], fields[4], fields[5], fields[6]), phoneNumber);
                        // assign the corresponding club to swimmer
                        //if (fields[8] != "")
                        //{
                        //    clubNumber = Convert.ToInt32(fields[8]);
                        //    result.Club = clmg.GetByRegNum(clubNumber);
                        //}
                        if (GetByRegNum(regNumber) == null)
                        {
                            Swimmers.Add(result);
                        }
                        else
                        {
                            throw new Exception($"Invalid Swimmer record. Swimmer with the registration number already exists:\n         {record}");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    finally
                    {
                        record = reader.ReadLine();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
                if (fileIn != null)
                {
                    fileIn.Close();
                }
            }
        }