private CloudInstance GetCloudInstance(string threadGroup) { using (var context = new InteractContext()) { return(context.CloudInstance.Where(c => c.Threadgroup == threadGroup).FirstOrDefault()); } }
public Library.Structure.ConsumerStatus GetThreadGroupServerStatus(string threadGroup) { using (var context = new InteractContext()) { return(context.CloudInstance.Where(c => c.Threadgroup == threadGroup).Select(c => (Library.Structure.ConsumerStatus)c.ConsumerStatusId).FirstOrDefault()); } }
public void SetConsumerThreadStatus(string threadGroup, string identifier, Library.Structure.ConsumerStatus clientStatus) { using (var context = new InteractContext()) { using (var scope = CreateTransactionScope()) { var clientInstance = context.CloudClientInstance.Where(c => c.Identifier == identifier).FirstOrDefault(); if (clientInstance == null) { var serverInstance = GetCloudInstance(threadGroup); if (serverInstance == null) { throw new NotFoundException($"Consumer Instance not fount to the threadgroup = {threadGroup}"); } context.CloudClientInstance.Add(new CloudClientInstance { Identifier = identifier, CloudInstanceId = serverInstance.Id, ConsumerStatusId = Convert.ToInt32(clientStatus), Created = DateTime.Now, Updated = DateTime.Now }); } else { clientInstance.ConsumerStatusId = Convert.ToInt32(clientStatus); clientInstance.Updated = DateTime.Now; context.CloudClientInstance.Update(clientInstance); } context.SaveChanges(); scope.Complete(); } } }