void IDispositioningServiceInternal.Dispatch(int operationId, string emkResourceId) { lock (SyncRoot) { using (var entities = EntityFrameworkHelper.CreateContext <DispositioningEntities>(EdmxPath)) { bool exists = entities.DispResources.Any(_ => _.Operation_Id == operationId && _.EmkResourceId == emkResourceId); if (exists) { throw new InvalidOperationException(Properties.Resources.DispatchNotPossibleEntryAlreadyExists); } DispResourceData data = new DispResourceData(); data.Operation_Id = operationId; data.EmkResourceId = emkResourceId; data.Timestamp = DateTime.Now; entities.DispResources.AddObject(data); entities.SaveChanges(); } } DispositionEventArgs args = new DispositionEventArgs(operationId, emkResourceId, DispositionEventArgs.ActionType.Dispatch); OnDispositionEventArgs(args); }
void IDispositioningServiceInternal.Recall(int operationId, string emkResourceId) { lock (SyncRoot) { using (var entities = EntityFrameworkHelper.CreateContext <DispositioningEntities>(EdmxPath)) { DispResourceData exists = entities.DispResources.SingleOrDefault(_ => _.Operation_Id == operationId && _.EmkResourceId == emkResourceId); if (exists == null) { throw new InvalidOperationException(Properties.Resources.RecallNotPossibleEntryDoesNotExist); } entities.DispResources.DeleteObject(exists); entities.SaveChanges(); } } DispositionEventArgs args = new DispositionEventArgs(operationId, emkResourceId, DispositionEventArgs.ActionType.Recall); OnDispositionEventArgs(args); }