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); } }
public void UpdateWorker(WorkerModel worker) { int index = Workers.IndexOf(Workers.FirstOrDefault(w => w.Id == worker.Id)); Workers[index] = worker.Clone(); UpdateDepartments(); UpdateOrders(); }
/// <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); }
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; }
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); }
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; }
/// <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); } }
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); } } }
/// <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("Не понял команду"); } } }
public virtual Settler.Settler GetWorkerToReplace() { return(Workers.FirstOrDefault()); }