Beispiel #1
0
        public void Work()
        {
            Console.WriteLine("Enter FirstName");
            var firstName = Console.ReadLine();

            var position = GetSelectedPosition();

            if (position == Position.Worker)
            {
                Worker currentEmployee = Workers.FirstOrDefault(e => e.Name == firstName);

                currentEmployee.Work(currentEmployee.Task);
            }

            if (position == Position.Taskmaster)
            {
                Taskmaster currentTaskmaster = Taskmasters.FirstOrDefault(e => e.Name == firstName);

                Taskmaster.Work(currentTaskmaster.Task);
            }

            if (position == Position.Manager)
            {
                Manager currentManager = Managers.FirstOrDefault(e => e.Name == firstName);

                Manager.Work(currentManager.Task);
            }
        }
Beispiel #2
0
        public void UpdateWorker(WorkerModel worker)
        {
            int index = Workers.IndexOf(Workers.FirstOrDefault(w => w.Id == worker.Id));

            Workers[index] = worker.Clone();
            UpdateDepartments();
            UpdateOrders();
        }
Beispiel #3
0
        /// <summary>
        ///  Takes a worker’s id as a parameter.
        ///  It should return the Worker with the given id.
        ///  If it is not found then return null.
        /// </summary>
        /// <param name="workerId"></param>
        /// <returns></returns>
        public Worker FindWorker(int workerId)
        {
            var worker = Workers.FirstOrDefault(w => w.Id == workerId);

            if (worker == null)
            {
                return(null);
            }

            return(worker);
        }
Beispiel #4
0
        public void RemoveWorker(IConsoleWorker existingWorker)
        {
            WorkerManager worker = Workers.FirstOrDefault(w => w.UniqueID.Equals(existingWorker.UniqueID));

            if (worker == null)
            {
                throw new InvalidOperationException("Worker is not in console");
            }

            Workers.Remove(worker);
            worker.StopAsync().Wait();
        }
        public void AddWorkPlanElement()
        {
            IsWorkPlanElementEditVisible = true;
            EditedWorkPlanElement        = new WorkPlanElement();
            PrepareLists();

            EditedWorkPlanElement.Room      = RoomList.FirstOrDefault();
            EditedWorkPlanElement.Class     = ClassList.FirstOrDefault();
            EditedWorkPlanElement.StartTime = TimeList.First();
            EditedWorkPlanElement.EndTime   = TimeList.ElementAt(1);
            EditedWorkPlanElement.Worker    = Workers.FirstOrDefault();
            _selectedOperation = CrudOperation.Create;
        }
Beispiel #6
0
        public void SetTaskToWorker()
        {
            Console.Clear();
            if (Workers.Count == 0)
            {
                Console.WriteLine("Now not Employee");
            }
            else
            {
                Console.WriteLine("Enter FirstName for set task to worker");

                var    firstName     = Console.ReadLine();
                Worker currentWorker = Workers.FirstOrDefault(e => e.Name == firstName);
                Manager.SetTask(currentWorker);
            }
        }
        public Worker BuyWorker(int cost = 4)
        {
            if (Money < cost)
            {
                return(null);
            }
            var availableWorker = Workers.FirstOrDefault(p => !p.IsBought);

            if (availableWorker == null)
            {
                return(null);
            }
            availableWorker.IsBought    = true;
            availableWorker.HasBeenUsed = true;
            Money -= cost;
            return(availableWorker);
        }
Beispiel #8
0
 void FindWorkersCompleted(object sender, FindWorkersCompletedEventArgs e)
 {
     if (e.Error == null)
     {
         Workers = e.Result;
         if (SelectedUser != null)
         {
             SelectedWorker = (selectedUser.WorkerID != null ? Workers.FirstOrDefault(c => c.ID == selectedUser.WorkerID) : null);
         }
     }
     else
     {
         ErrorProvider.ShowError(e.Error, Navigator);
     }
     dataClient.FindWorkersCompleted -= FindWorkersCompleted;
     Busy = false;
 }
Beispiel #9
0
        /// <summary>
        /// Remove task from scheduler.
        /// </summary>
        /// <param name="name">The loaded work item name.</param>
        public static void Remove(string name)
        {
            var item = Workers.FirstOrDefault(e => e.Name.Equals(name, StringComparison.OrdinalIgnoreCase));

            if (item != null)
            {
                if (item.Cancellation != null && item.Cancellation.Token != null && item.Cancellation.Token.CanBeCanceled)
                {
                    item.Cancellation.Cancel();
                }

                Workers.Remove(item);
            }

            if (File.Exists(item.File))
            {
                File.Delete(item.File);
            }
        }
Beispiel #10
0
        public void RemoveEmployee()
        {
            var position = GetSelectedPosition();

            Console.WriteLine("Enter FirstName to delete");
            var firstName = Console.ReadLine();

            if (position == Position.Worker)
            {
                Worker currentWorker = Workers.FirstOrDefault(e => e.Name == firstName);

                if (currentWorker != null)
                {
                    Workers.Remove(currentWorker);
                }
            }

            if (position == Position.Taskmaster)
            {
                Taskmaster currentTaskmaster = Taskmasters.FirstOrDefault(e => e.Name == firstName);

                if (currentTaskmaster != null)
                {
                    Taskmasters.Remove(currentTaskmaster);
                }
            }

            if (position == Position.Manager)
            {
                Manager currentManager = Managers.FirstOrDefault(e => e.Name == firstName);

                if (currentManager != null)
                {
                    Managers.Remove(currentManager);
                }
            }
        }
Beispiel #11
0
 /// <summary>
 /// Основной метод программы
 /// </summary>
 /// <param name="args"></param>
 static void Main(string[] args)
 {
     while (true)
     {
         Console.WriteLine("Команда:");
         var command = Console.ReadLine();
         if (command.ToLower() == "build")
         {
             if (!HasPrepareDir)
             {
                 PrepareEndClearDir();
             }
             var worker = Fabrica.CreateWorker(counter.ID, Dir);
             Workers.Add(worker);
             worker.Completed += (object sender, EventArgs e) =>
             {
                 var removingWorker = worker as IWorker;
                 Workers.TryTake(out removingWorker);
             };
             worker.StartWorker();
             Console.WriteLine($"Ваш запрос за номером {worker.Id} в обработке ...");
         }
         else if (command.ToLower().StartsWith("stop") &&
                  command.Split(' ').Length > 1 &&
                  int.TryParse(command.Split(' ')[1], out var id))
         {
             var worker = Workers.FirstOrDefault(x => x.Id == id);
             worker?.StopWorker(null);
             Console.WriteLine($"Принят запрос на остановку процесса обработки номер {id}");
         }
         else
         {
             Console.WriteLine("Не понял команду");
         }
     }
 }
Beispiel #12
0
 public virtual Settler.Settler GetWorkerToReplace()
 {
     return(Workers.FirstOrDefault());
 }