public async Task UpadteNextNumber(CurrentQueueNumber next, ServiceType serviceType) { string service = serviceType.ToString(); try { await _tableClient.GetTableReference(_options.NextTable).ExecuteAsync(TableOperation.InsertOrReplace(next)); } catch (Exception e) { throw new Exception("", e); } }
public Task UpadteNextNumber(CurrentQueueNumber next, ServiceType serviceType) { if (serviceType == ServiceType.Nurse) { nextNurseNumber++; } if (serviceType == ServiceType.Pharmacist) { nextPharmacistNumber++; } return(Task.CompletedTask); }
public Task <CurrentQueueNumber> GetCurrentNumber(ServiceType serviceType) { CurrentQueueNumber current = new CurrentQueueNumber(); if (serviceType == ServiceType.Nurse) { current.NextNumber = nextNurseNumber; } if (serviceType == ServiceType.Nurse) { current.NextNumber = nextPharmacistNumber; } return(Task.FromResult(current)); }
public async Task <EnqueuePositionResult> AddToQueue(EnqueuePosition item) { if (item is null) { throw new ArgumentNullException(nameof(item)); } CurrentQueueNumber currentNumber = await _repository.GetCurrentNumber(item.ServiceType); currentNumber.NextNumber++; await _repository.UpadteNextNumber(currentNumber, item.ServiceType); QueueItem newItem = new QueueItem() { UserID = item.UserID, UserNumber = currentNumber.NextNumber }; await _repository.AddItem(item.ServiceType, newItem); return(new EnqueuePositionResult { UserNumber = newItem.UserNumber }); }