public PendingTransfer[] GetPendingTransfers() { Recordset recordset = null; PendingTransfer[] pendingTransfers = null; Dictionary <string, string> paramaters = new Dictionary <string, string>(); try { // paramaters.Add("Whs", GetUserDefaultWarehouse()); paramaters.Add("Whs", "CRHE"); var query = this.GetSQL("GetPendingTransfers").Inject(paramaters); recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); recordset.DoQuery(query); if (recordset.RecordCount > 0) { pendingTransfers = new PendingTransfer[recordset.RecordCount]; for (int i = 0; i < recordset.RecordCount; i++) { var pendingTransfer = new PendingTransfer(); Parallel.ForEach(recordset.Fields.OfType <Field>(), field => { pendingTransfer.GetType().GetProperty(field.Name).SetValue(pendingTransfer, field.Value); }); pendingTransfers[i] = pendingTransfer; recordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetPendingTransfers"); } return(pendingTransfers); }
public ClientSession(string identity, GenericEnums.RoomType roomType) { try { _identity = identity; _peers = new PeerStates(); switch (roomType) { case GenericEnums.RoomType.Audio: AudioSessionState = GenericEnums.SessionState.Pending; break; case GenericEnums.RoomType.Video: AudioSessionState = GenericEnums.SessionState.Pending; VideoSessionState = GenericEnums.SessionState.Pending; break; case GenericEnums.RoomType.Remoting: RemotingSessionState = GenericEnums.SessionState.Pending; break; } _pendingTransfer = new PendingTransfer(); _pendingTransfer.Audio = false; _pendingTransfer.Video = false; _pendingTransfer.Remoting = false; _transferUpdating = new ConferenceStatus(); _transferUpdating.IsAudioStatusUpdating = false; _transferUpdating.IsVideoStatusUpdating = false; _transferUpdating.IsRemotingStatusUpdating = false; } catch (Exception ex) { Tools.Instance.Logger.LogError(ex.ToString()); } }
protected override bool Receive(object message) { var handled = base.Receive(message); if (!handled) { if (message is AccountCommands.Transfer) { var transfer = message as AccountCommands.Transfer; var sender = Retrieve(transfer.FromAccountId); var recipient = Retrieve(transfer.ToAccountId); var transactionId = Guid.NewGuid(); var transaction = Context.ActorOf(Props.Create(() => new TransactionCoordinator()), "transfer-" + transactionId.ToString("N")); var payload = new PendingTransfer(transactionId, sender, recipient, transfer.Amount); transaction.Tell(new TransactionCoordinator.BeginTransaction(transactionId, new[] { sender, recipient }, payload)); //TODO: what if AccountCoordinator will harvest transaction participants before transaction ends? } else if (message is AccountCommands.CreateAccount) { var userId = Guid.NewGuid(); ForwardCommand(userId, message as AccountCommands.CreateAccount); } else if (message is GetState) { var getState = message as GetState; ForwardCommand(getState.Id, getState); } else if (message is IAddressed && message is IAccountCommand) { var addressed = message as IAddressed; ForwardCommand(addressed.RecipientId, message as IAccountCommand); } else return false; return true; } return true; }