/// <summary>
        /// Add all divers to list of divers
        /// </summary>
        /// <param name="diversRaw">File content. Every file line is one array element</param>
        public void AddDiversToList(string[] diversRaw, string[] superPowerRaw)
        {
            string[] diver;
            string   name;
            string   birthDate;
            string   federationName;
            string   certificateName;
            string   level;
            int      depthDeterminedByCertificate;

            CertificateHelper           certHelper         = new CertificateHelper();
            CertificateFlyweightFactory certificateFactory = CertificateFlyweightFactory.GetInstance();

            foreach (string d in diversRaw)
            {
                diver = d.Split(';');

                name           = diver[0];
                federationName = diver[1];
                level          = diver[2];
                birthDate      = diver[3];

                // Validate data
                if (diver.Count() != 4 || !Validation.ValidateFederationName(federationName) || !Validation.ValidateDiverLevel(level))
                {
                    continue;
                }

                // Create new certificate
                certificateName = certHelper.GetCertificateName(federationName, level);
                depthDeterminedByCertificate = certHelper.GetDepthDeterminedByCertificate(level);
                Certificate certificate = certificateFactory.GetCertificateInstance(federationName, certificateName, level, depthDeterminedByCertificate);

                // Create new diver
                Diver diverObj = new Diver(name, birthDate, certificate, federationName);

                // Add super powers
                List <string> superPowers = CheckForDiversSuperPower(superPowerRaw, diverObj.name);
                diverObj.AddSuperPowers(superPowers);

                // Add diver to divers list
                diversList.Add(diverObj);
            }
        }
Exemplo n.º 2
0
 public void AddDiver(Diver diver)
 {
     divers.Add(diver);
 }