Développeur C#

//  Recrutement

//  Created by puting on 08/10/2018.

//  Copyright (c) 2018 puting. All rights reserved.

namespace TwoSComputing.Recrutement

{

    using System.Collections.Generic;

    using System.Linq;

    using TwoSComputing.Cdi;

    using TwoSComputing.Experience;

    using TwoSComputing.Skill;

 

    public static class Recrutement

    {

        private const int EXPERIENCE_MIN = 5;

        private const int DIPLOMA_LEVEL = 5;

        private const int EXIT_FAILURE = -1;

 

        public static int Main(string[] args)

        {

            int matchingSkills = 0;

 

            Candidate myself = new Candidate();

            myself.Experience = new Experience().Gather();

 

            // Will throw TwoSComputing.Recrutement.IntrospectionException if required skill is not found

            myself.Experience.CheckRequiredSkill("C#");

            myself.Experience.CheckRequiredSkill("DotNet");

 

            // Will raise thread priority if bonus skill is found

            myself.Experience.CheckBonusSkill("ASP.NET CORE");

            myself.Experience.CheckBonusSkill("Entity Framework");

            myself.Experience.CheckBonusSkill("Unity");

 

            if (myself.Experience.Years >= EXPERIENCE_MIN)                       

            {

                if ((myself.Diploma >= DIPLOMA_LEVEL) || (myself.IsAnywayAGoodCandidate))

                {

                    IEnumerable<Skill> skills = myself.Skills;

 

                    foreach (string skill_name in args)

                    {

                        if (skills.Any(f => f.Name == skill_name))

                        {

                            matchingSkills++;

                        }

                    }

 

                    if (((double)matchingSkills / args.Length) >= 0.9)

                    {

                        SendApplicationNow("recrutement@puting.fr", new CDI());

                    }

                }

            }

 

            return EXIT_FAILURE;

        }

 

        public static int SendApplicationNow(string email, CDI wanted)

        {

            /* email, social network or quantic teleportation are fine solutions for the implementation */

            return 1;

        }

    }

 

}

//

// projets industriels, R&D, informatique embarqué, applications mobile, CIR (crédit impôt recherche)

// SSII et cabinet de recrutement