/// <summary>
        /// 获取截图
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GetDeviceImage_Click(object sender, RoutedEventArgs e)
        {
            IssueCommand ic = new IssueCommand();

            ic.Command = AdvertManage.Model.Enum.CommandType.Caputre;
            ic.ShowDialog();
        }
Example #2
0
        /// <summary>
        /// 下发播放列表
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRelease_Click(object sender, RoutedEventArgs e)
        {
            PlaylistInfoViewModel Releaseplaylist = playlistdataGrid.Items[playlistdataGrid.SelectedIndex] as PlaylistInfoViewModel;
            IssueCommand          ic = new IssueCommand();

            ic.Command   = AdvertManage.Model.Enum.CommandType.Playlist;
            ic.CommandId = int.Parse(Releaseplaylist.Id);
            ic.ShowDialog();
        }
Example #3
0
        /// <summary>
        /// 下发播放列表
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRelease_Click(object sender, RoutedEventArgs e)
        {
            PrintTemplateViewModel Releasetemplate = TemplateGrid.Items[TemplateGrid.SelectedIndex] as PrintTemplateViewModel;
            IssueCommand           ic = new IssueCommand();

            ic.Command   = AdvertManage.Model.Enum.CommandType.PrintTemplate;
            ic.CommandId = Releasetemplate.Id;
            ic.ShowDialog();
        }
 /// <summary>
 /// 下发
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnRelease_Click(object sender, RoutedEventArgs e)
 {
     if (hardaddataGrid.SelectedIndex > -1)
     {
         HardAdViewModel vm = hardaddataGrid.Items[hardaddataGrid.SelectedIndex] as HardAdViewModel;
         IssueCommand    ic = new IssueCommand();
         ic.Command   = AdvertManage.Model.Enum.CommandType.HardAd;
         ic.CommandId = vm.ID;
         ic.ShowDialog();
     }
 }
Example #5
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (dataGrid1.SelectedIndex != -1)
     {
         AdvertManage.Model.ProgramUpgradeModel model = dataGrid1.SelectedItem as AdvertManage.Model.ProgramUpgradeModel;
         IssueCommand issue = new IssueCommand();
         issue.Command   = AdvertManage.Model.Enum.CommandType.ProgramUpgrade;
         issue.CommandId = model.Id;
         issue.Show();
     }
 }
Example #6
0
 /// <summary>
 /// 下发
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnRelease_Click(object sender, RoutedEventArgs e)
 {
     if (titleAddataGrid.SelectedIndex > -1)
     {
         TitleAdViewModel TitleVM = titleAddataGrid.Items[titleAddataGrid.SelectedIndex] as TitleAdViewModel;
         IssueCommand     ic      = new IssueCommand();
         ic.Command   = AdvertManage.Model.Enum.CommandType.TitleAd;
         ic.CommandId = TitleVM.Id;
         ic.ShowDialog();
     }
 }
        private async Task <bool> ProcessIssue(IBitcoinTransaction transaction, CashInOutQueueMessage msg)
        {
            var isOffchain = await _clientSettingsRepository.IsOffchainClient(msg.ClientId);

            //Get client wallet
            var walletCredentials = await _walletCredentialsRepository
                                    .GetAsync(msg.ClientId);

            var amount  = msg.Amount.ParseAnyDouble();
            var context = await _bitcoinTransactionService.GetTransactionContext <IssueContextData>(transaction.TransactionId);

            //Register cash operation
            var cashOperationId = await _cashOperationsRepository
                                  .RegisterAsync(new CashInOutOperation
            {
                Id            = Guid.NewGuid().ToString("N"),
                ClientId      = msg.ClientId,
                Multisig      = walletCredentials.MultiSig,
                AssetId       = msg.AssetId,
                Amount        = Math.Abs(amount),
                DateTime      = DateTime.UtcNow,
                AddressTo     = walletCredentials.MultiSig,
                TransactionId = transaction.TransactionId,
                State         = isOffchain ? TransactionStates.InProcessOffchain : TransactionStates.InProcessOnchain
            });

            context.CashOperationId = cashOperationId;
            var contextJson = context.ToJson();
            var cmd         = new IssueCommand
            {
                Amount        = amount,
                AssetId       = msg.AssetId,
                Multisig      = walletCredentials.MultiSig,
                Context       = contextJson,
                TransactionId = Guid.Parse(transaction.TransactionId)
            };

            await _bitcoinTransactionsRepository.UpdateAsync(transaction.TransactionId, cmd.ToJson(), null, "");

            await _bitcoinTransactionService.SetTransactionContext(transaction.TransactionId, context);

            if (isOffchain)
            {
                await _offchainRequestService.CreateOffchainRequestAndNotify(transaction.TransactionId, msg.ClientId, msg.AssetId, (decimal)amount, null, OffchainTransferType.CashinToClient);
            }
            else
            {
                await _bitcoinCommandSender.SendCommand(cmd);
            }

            return(true);
        }
Example #8
0
        public async Task <IActionResult> IssueGiftCard([FromBody] GiftCardInputModel model)
        {
            var aggregateId = GiftCardId.New;

            var command = new IssueCommand(aggregateId, model.Credits);

            var executionResult = await _aggregateManager.Ask <ExecutionResult>(command);

            if (executionResult.IsSuccess)
            {
                return(Accepted(new { Id = aggregateId.GetGuid() }));
            }

            return(BadRequest(executionResult.ToString()));
        }
Example #9
0
        private async Task ProcessIssue(IssueCommand cmd)
        {
            var request = new IssueData
            {
                TransactionId = cmd.TransactionId,
                Address       = cmd.Multisig,
                Amount        = cmd.Amount,
                AssetId       = cmd.AssetId
            };

            var response = await _bitcoinApiClient.IssueAsync(request);

            var reqMsg = $"{BitCoinCommands.Issue}:{request.ToJson()}";

            await ProcessBitcoinApiResponse(reqMsg, BitCoinCommands.Issue, response, cmd.Context);
        }
Example #10
0
        public bool Execute(IssueCommand command)
        {
            if (IsNew)
            {
                Emit(new IssuedEvent(command.Credits));
                Sender.Tell(new SuccessExecutionResult(), Self);
            }
            else
            {
                Log.Error($"{command.GetType().PrettyPrint()} has failed ");
                Sender.Tell(new FailedExecutionResult(new List <string> {
                    "aggregate is not created"
                }), Self);
            }

            return(true);
        }
Example #11
0
 public IActionResult Issue([FromBody] IssueCommand test)
 {
     return(PublishCommand(test));
 }