internal void DoResumeClient(RequestResumeClient req) { // Verificar existencia de clave. if (!_clientList.ContainsGuid(req.Id)) { //TODO Log clave inexistente. return; } #if !TEST // Comenzar cambio cuando no se ejecuta queue manager process. _areClientUpdate.WaitOne(); #endif // Obtener cliente. ClientData client = _clientList.GetClient(req.Id); // Modificar Status. client.Status = ClientStatus.Operacional; // Quitar de _pausedList. lock (_pausedList) { if (_pausedList.Contains(client)) { _pausedList.Remove(client); } } // Poner en _workList. lock (_workList) { if (!_workList.Contains(client)) { _workList.Add(client); } } // Enviar actualizacion a Supervisor SendQueueStatus(); MessageBus.Send(new RequestSendEmail(EMessageAction.Resume, DateTime.Now, client)); Builder.Output(string.Format("{0} : Cliente {1} movido a cola de Trabajo.", ClassName, client.Name), TraceEventType.Verbose); }
public void ResumeClient(RequestResumeClient req) { DoResumeClient(req); }