コード例 #1
0
        /// <summary>
        /// Method for adding divers to divers list
        /// </summary>
        /// <param name="diversRaw">Contains file content. Every file line is one array element</param>
        private void AddDiversToList(string[] diversRaw)
        {
            string[] diver;
            string   name;
            string   birthDate;
            string   federationName;
            string   certificateName;
            string   level;
            int      depthDeterminedByCertificate;

            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))
                {
                    Console.WriteLine("{0} Preskačem pogrešan redak: {1};{2};{3};{4}\n", Validation.diverInputErr, name, federationName, level, birthDate);
                    continue;
                }

                // If federation doesn't exist in dictionary then create it
                InstitutionAbstract federation = certificateFlyweightFactory.GetFederationInstance(federationName);
                // Add federation as observer
                divingClub.addObserver(federation);

                // Create new certificate
                certificateName = certHelper.getCertificateName(federationName, level);
                depthDeterminedByCertificate = certHelper.getDepthDeterminedByCertificate(level);
                Certificate certificate = certificateFlyweightFactory.GetCertificateInstance(federationName, certificateName, level, depthDeterminedByCertificate);

                // Create new diver
                Diver diverObj = new Diver(name, birthDate, certificate, federationName);
                // Add diver to divers list
                divers.Add(diverObj);
                // Add diver to federation
                federation.divers.Add(diverObj);
                HRS.divers.Add(diverObj);
            }
        }