示例#1
0
        private void AddStandartEmployee(string[] inputArgs)
        {
            var name = inputArgs[1];

            var emloyee = new StandartEmployee(name);

            this.employees.Add(emloyee);
        }
        public static void Main()
        {
            var jobs      = new JobRepository();
            var employees = new EmployeeRopository();

            var input = Console.ReadLine()
                        .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            while (!input[0].Equals("End"))
            {
                switch (input[0])
                {
                case "Job":
                {
                    var jobName          = input[1];
                    var jobHoursRequired = int.Parse(input[2]);
                    var employee         = employees.GetEmployee(input[3]);

                    var job = new Job(jobName, jobHoursRequired, employee);
                    job.JobDone += jobs.FinishedJob;
                    jobs.AddJob(job);
                }

                break;

                case "StandartEmployee":
                {
                    var employeeName = input[1];
                    var employee     = new StandartEmployee(employeeName);
                    employees.AddEmployee(employee);
                }

                break;

                case "PartTimeEmployee":
                {
                    var employeeName = input[1];
                    var employee     = new PartTimeEmployee(employeeName);
                    employees.AddEmployee(employee);
                }

                break;

                case "Pass":
                    jobs.Update();
                    break;

                case "Status":
                    jobs.Status();
                    break;
                }

                input = Console.ReadLine()
                        .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            }
        }
    public static void Main()
    {
        Jobs.Subscribe();
        List <Employee> employees = new List <Employee>();

        string input = Console.ReadLine();

        while (input != "End")
        {
            string[] data = input.Split();

            switch (data[0])
            {
            case "Job":
                string   employeeName = data[3];
                Employee employee     = employees.First(e => e.Name == employeeName);
                Job      job          = new Job(data[1], int.Parse(data[2]), employee);
                Jobs.AddJob(job);
                break;

            case "StandartEmployee":
                Employee employeeNew = new StandartEmployee(data[1]);
                employees.Add(employeeNew);
                break;

            case "PartTimeEmployee":
                Employee employeeNew2 = new PartTimeEmployee(data[1]);
                employees.Add(employeeNew2);
                break;

            case "Pass":
                foreach (var jobToUpdate in Jobs.jobs)
                {
                    jobToUpdate.Update();
                }
                Jobs.RemoveFinishedJobs();
                break;

            case "Status":
                foreach (var jobToPrint in Jobs.jobs)
                {
                    Console.WriteLine(jobToPrint);
                }
                break;

            default:
                break;
            }

            input = Console.ReadLine();
        }
    }
示例#4
0
        public void Run()
        {
            while (true)
            {
                var inputLine = Console.ReadLine().Split();
                var command   = inputLine[0];

                if (command == "End")
                {
                    break;
                }
                else if (command == "StandartEmployee")
                {
                    //CreateStandartEmployee()
                    var employeeName = inputLine[1];
                    var employee     = new StandartEmployee(employeeName);

                    employees.Add(employee);
                }
                else if (command == "PartTimeEmployee")
                {
                    //CreatePartTimeEpmloyee()
                    var employeeName = inputLine[1];
                    var employee     = new PartTimeEmployee(employeeName);

                    employees.Add(employee);
                }
                else if (command == "Job")
                {
                    // CreateJob()
                    var jobName       = inputLine[1];
                    var hoursRequired = int.Parse(inputLine[2]);
                    var employeeName  = inputLine[3];

                    var employee = employees.First(x => x.Name == employeeName);

                    var job = new Job(jobName, hoursRequired, employee);


                    jobs.AddAndSubscribe(job);
                }
                else if (command == "Pass")
                {
                    jobs.PassWeek();
                }
                else if (command == "Status")
                {
                    jobs.PrintStatus();
                }
            }
        }
示例#5
0
    static void Main(string[] args)
    {
        JobList             jobs      = new JobList();
        List <BaseEmployee> employees = new List <BaseEmployee>();

        string[] input = Console.ReadLine().Split();

        while (input[0] != "End")
        {
            switch (input[0])
            {
            case "Job":
                Job realJob = new Job(input[1], int.Parse(input[2]), employees.FirstOrDefault(e => e.Name == input[3]));

                realJob.JobDone += realJob.OnJobDone;
                jobs.Add(realJob);
                break;

            case "StandartEmployee":
                BaseEmployee employee = new StandartEmployee(input[1]);
                employees.Add(employee);
                break;

            case "PartTimeEmployee":
                BaseEmployee pTemployee = new PartTimeEmployee(input[1]);
                employees.Add(pTemployee);
                break;

            case "Pass":
                foreach (var job in jobs)
                {
                    job.Update();
                }
                break;

            case "Status":
                foreach (var job in jobs)
                {
                    if (!job.IsDone)
                    {
                        Console.WriteLine(job.ToString());
                    }
                }
                break;
            }

            input = Console.ReadLine().Split();
        }
    }
    public static void Main()
    {
        var jobs      = new JobsList();
        var employees = new List <IEmployee>();

        var input = Console.ReadLine().Split();

        while (!input[0].Equals("End"))
        {
            switch (input[0])
            {
            case "Job":
                var currentJob = new Job(input[1], int.Parse(input[2]), employees.FirstOrDefault(e => e.Name.Equals(input[3])));
                jobs.Add(currentJob);
                currentJob.JobDone += jobs.OnJobDone;
                break;

            case "StandartEmployee":
                var standartEmployee = new StandartEmployee(input[1]);
                employees.Add(standartEmployee);
                break;

            case "PartTimeEmployee":
                var parttimeEmployee = new PartTimeEmployee(input[1]);
                employees.Add(parttimeEmployee);
                break;

            case "Pass":

                foreach (Job job in jobs.ToArray())
                {
                    job.Update();
                }

                break;

            case "Status":

                foreach (Job job in jobs)
                {
                    Console.WriteLine(job);
                }

                break;
            }

            input = Console.ReadLine().Split();
        }
    }
示例#7
0
文件: Startup.cs 项目: nayots/SoftUni
        private static void Main(string[] args)
        {
            IList <IEmployee> employees = new List <IEmployee>();
            JobList           jobs      = new JobList();

            string command = string.Empty;

            while ((command = Console.ReadLine()) != "End")
            {
                string[]  tokens = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                IEmployee emp    = null;

                switch (tokens[0])
                {
                case "Job":
                    emp = employees.First(e => e.Name == tokens[3]);
                    Job job = new Job(tokens[1], int.Parse(tokens[2]), emp);
                    job.JobDone += jobs.HandleJobCompletion;
                    jobs.Add(job);
                    break;

                case "StandartEmployee":
                    emp = new StandartEmployee(tokens[1]);
                    employees.Add(emp);
                    break;

                case "PartTimeEmployee":
                    emp = new PartTimeEmployee(tokens[1]);
                    employees.Add(emp);
                    break;

                case "Pass":
                    List <Job> dummyJobs = new List <Job>(jobs);
                    foreach (var j in dummyJobs)
                    {
                        j.Update();
                    }
                    break;

                case "Status":
                    jobs.ForEach(j => Console.WriteLine(j));
                    break;

                default:
                    break;
                }
            }
        }
示例#8
0
        private void ExecuteCommands()
        {
            string command;

            while ((command = Console.ReadLine()) != "End")
            {
                var info = command.Split();

                switch (info[0])
                {
                case "StandardEmployee":
                    var newEmp1 = new StandartEmployee(info[1]);
                    employees.Add(newEmp1);
                    break;

                case "PartTimeEmployee":
                    var newEmp2 = new PartTimeEmployee(info[1]);
                    employees.Add(newEmp2);
                    break;

                case "Job":
                    var emp    = this.employees.FirstOrDefault(x => x.Name == info[3]);
                    var newJob = new Job(info[1], int.Parse(info[2]), emp);
                    newJob.Update += newJob.OnUpdate;
                    this.jobs.Add(newJob);
                    break;

                case "Pass":
                    foreach (var job in jobs.ToArray())
                    {
                        job.OnUpdate(job, new JobEventArgs(job));
                        if (job.RequiredWorkHours <= 0)
                        {
                            jobs.Remove(job);
                            continue;
                        }
                    }
                    break;

                case "Status":
                    foreach (var job in jobs)
                    {
                        Console.WriteLine(job.ToString());
                    }
                    break;
                }
            }
        }
    static void Main()
    {
        ModifiedList jobs = new ModifiedList();
        Dictionary <string, Employee> employeesByName = new Dictionary <string, Employee>();

        string input = Console.ReadLine();

        while (input != "End")
        {
            string[] inputArgs = input.Split();
            switch (inputArgs[0])
            {
            case "StandartEmployee":
                var standartEmployee = new StandartEmployee(inputArgs[1]);
                employeesByName[inputArgs[1]] = standartEmployee;
                break;

            case "PartTimeEmployee":
                var partTimeEmployee = new PartTimeEmployee(inputArgs[1]);
                employeesByName[inputArgs[1]] = partTimeEmployee;
                break;

            case "Job":
                var employee = employeesByName[inputArgs[3]];
                var job      = new Job(inputArgs[1], int.Parse(inputArgs[2]), employee);
                jobs.Add(job);
                job.JobUpdate += jobs.HandleJobCompletion;
                break;

            case "Pass":

                List <Job> jobsToUpdate = new List <Job>(jobs);
                foreach (var jobToUpdate in jobsToUpdate)
                {
                    jobToUpdate.Update();
                }
                break;

            case "Status":
                foreach (var jobNumberTwo in jobs)
                {
                    Console.WriteLine(jobNumberTwo);
                }
                break;
            }
            input = Console.ReadLine();
        }
    }
    static void Main()
    {
        List <Employee> employees = new List <Employee>();
        JobList         jobs      = new JobList();

        string input = Console.ReadLine();

        while (input != "End")
        {
            string[] commandTokens = input.Split(' ', StringSplitOptions.RemoveEmptyEntries);

            Job      job      = null;
            Employee employee = null;

            switch (commandTokens[0])
            {
            case "Job":
                string jobName       = commandTokens[1];
                int    hoursRequired = int.Parse(commandTokens[2]);
                employee = employees.First(e => e.Name == commandTokens[3]);
                job      = new Job(jobName, hoursRequired, employee);
                jobs.AddJob(job);
                break;

            case "StandardEmployee":
                employee = new StandartEmployee(commandTokens[1]);
                employees.Add(employee);
                break;

            case "PartTimeEmployee":
                employee = new PartTimeEmployee(commandTokens[1]);
                employees.Add(employee);
                break;

            case "Pass":
                Pass(jobs);
                break;

            case "Status":
                Status(jobs);
                break;
            }

            input = Console.ReadLine();
        }
    }
示例#11
0
        public void CreateStandartEmployee(string[] input)
        {
            var standartEmployee = new StandartEmployee(input[1]);

            this.employees.Add(standartEmployee);
        }
示例#12
0
        private void StandartEmployeeCommand(string[] parts)
        {
            StandartEmployee standartEmployee = new StandartEmployee(parts[1]);

            this.employees.Add(standartEmployee);
        }