private void EndWork(object obj, EventArgs eventArgs) { Doctor doc = (Doctor)obj; Patient patient; if (!_queueViewingRoomInService.TryRemove(doc.GetPatient().Id, out patient)) { return; } if (doc.Consultant == null) { Debug.Write($"Доктор {doc.ID} осмотрел пациента {doc.GetPatient().Id}"); } else { Debug.Write($"Доктор {doc.ID} и {doc.Consultant.ID} осмотрели пациента {doc.GetPatient().Id} "); } if (doc.Consultant != null) { doc.Consultant.Consultant = null; doc.Consultant.EndWork -= EndWork; _listFreeDoctors.Enqueue(doc.Consultant); } doc.EndWork -= EndWork; doc.Consultant = null; _listFreeDoctors.Enqueue(doc); Viewing(); PermissionEnter?.Invoke(this, new EventArgs()); }
public void PushPatinentInQueue(Patient patient) { _queuePatients.Enqueue(patient); Debug.Write($"Пациент {patient.Id} ({(patient.IsInfected ? "заражен" : "не заражен")}) встал в очередь (Пациентов в очереди: {CountInQueue})"); if (CountPatient() < _countSeats) { PermissionEnter?.Invoke(this, new EventArgs()); } }