public ResponseModel PostCreateWallet([FromBody] CreateWallet createWallet) { int user_Id = createWallet.User_Id; float amount = createWallet.Amount; Wallet insert = new Wallet(); var check = false; insert.Amount_Wallet = amount; insert.User_Id = user_Id.ToString(); insert.Name_Wallet = "Ví tiền mặt"; insert.Description = ""; insert.Id_Type_Wallet = "1"; User user = _context.Users.Where(x => x.User_Id == user_Id).FirstOrDefault(); user.Check_Wallet = true; try { _context.Wallets.Add(insert); _context.Users.Update(user); _context.SaveChanges(); check = true; } catch { check = false; } if (check == false) { ResponseModel res = new ResponseModel("Create fail", null, "404"); return(res); } else { ResponseModel res = new ResponseModel("Create success", null, "200"); return(res); } }
public async Task <WalletCreated> CreateWallet(CreateWallet request) { var walletId = Guid.NewGuid(); var privateKey = new Key(); var reexPrivateKey = privateKey.GetWif(network); var reexPublicKey = privateKey.PubKey.GetAddress(network); var walletLabel = "Main Wallet"; var addressLabel = "Main Address"; var address = new Address(Guid.NewGuid(), walletId, reexPublicKey.ToString(), addressLabel); var addresses = new List <Address>() { address }; var wallet = new Wallet(walletId, request.Id, reexPrivateKey.ToString(), string.Empty, true, walletLabel, request.Email, addresses); // import new private key var rpcImportResult = await rpcClient.SendCommandAsync(new RPCRequest(RPCOperations.importprivkey, new object[] { wallet.PrivateKey, wallet.UserId.ToString(), true })); rpcImportResult.ThrowIfError(); // create an account corresponding to the new address key var rpcResult = await rpcClient.SendCommandAsync(new RPCRequest(RPCOperations.setaccount, new object[] { address.MyAddress, wallet.WalletId.ToString() })); rpcResult.ThrowIfError(); // save the data to CosmosDB await firebaseDbService.CreateWallet(wallet); return(new WalletCreated(wallet.WalletId, reexPublicKey.ToString(), addressLabel)); }
public async Task <IActionResult> PutCreateWallet([FromRoute] int id, [FromBody] CreateWallet createWallet) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != createWallet.User_Id) { return(BadRequest()); } _context.Entry(createWallet).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CreateWalletExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task Handle_returns_true_if_wallet_is_persisted() { var createWalletCommand = new CreateWallet(It.IsAny <string>()); _walletRepositoryMock.Setup(walletRepo => walletRepo.UnitOfWork.SaveEntitiesAsync(default(CancellationToken))) .Returns(Task.FromResult(true)); var handler = new CreateWalletHandler(_mediator.Object, _walletRepositoryMock.Object); var cancellationToken = new CancellationToken(); var result = await handler.Handle(createWalletCommand, cancellationToken); Assert.True(result); }
public void Wallet_Should_Be_Valid_When_Create_Wallet() { var createWallet = new CreateWallet { OwnerId = Guid.NewGuid().ToString(), Name = "Wallet Name", Moneys = new[] { new MoneyModel { Amount = 120M, CurrencyCode = "USD" } } }; var createWalletValidator = new CreateWalletValidator(); var validator = createWalletValidator.Validate(createWallet); Assert.True(validator.IsValid); }
public void Wallet_Should_Be_Invalid_When_Name_And_OwnerId_Empty() { var createWallet = new CreateWallet { Moneys = new[] { new MoneyModel { Amount = 120M, CurrencyCode = "USD" } } }; var createWalletValidator = new CreateWalletValidator(); var validator = createWalletValidator.Validate(createWallet); Assert.False(validator.IsValid); Assert.Contains(validator.Errors, x => x.ErrorMessage == "'Name' boş olmamalı."); Assert.Contains(validator.Errors, x => x.ErrorMessage == "'Owner Id' boş olmamalı."); }
public async Task Create_Wallet_Handler() { var request = new CreateWallet { Name = "Name", Moneys = new[] { new MoneyModel { Amount = 120M, CurrencyCode = "USD" } }, OwnerId = Guid.NewGuid().ToString() }; var handler = new CreateWalletHandler(_context); var response = await handler.Handle(request, CancellationToken.None); Assert.True(Guid.TryParse(response.ToString(), out _)); }
public async Task <ActionResult <WalletCreated> > CreateWallet([FromBody] CreateWallet request) { try { if (string.IsNullOrEmpty(request.Email)) { return(BadRequest(new ArgumentNullException(nameof(request.Email)).Message)); } if (User.Identity.Name != request.Email) { return(BadRequest(RequestResponse.BadRequest())); } var result = await walletManagementService.CreateWallet(request); return(Ok(result)); } catch (Exception) { return(StatusCode((int)HttpStatusCode.InternalServerError, RequestResponse.InternalServerError())); } }
private void SetupViews() { Messenger.Default.Register <string>(this, "OpenAboutView", (string s) => About.ShowDialog()); Messenger.Default.Register <string>(this, "CloseAboutView", (string s) => About.Close()); Messenger.Default.Register <string>(this, "OpenCreateWalletView", (string s) => CreateWallet.ShowDialog()); Messenger.Default.Register <string>(this, "CloseCreateWalletView", (string s) => CreateWallet.Close()); Messenger.Default.Register <string>(this, "OpenLicenseView", (string s) => License.ShowDialog()); Messenger.Default.Register <string>(this, "CloseLicenseView", (string s) => License.Close()); Messenger.Default.Register <string>(this, "OpenManageWalletView", (string s) => ManageWallet.ShowDialog()); Messenger.Default.Register <string>(this, "CloseManageWalletView", (string s) => ManageWallet.Close()); Messenger.Default.Register <string>(this, "OpenPromptPasswordView", (string s) => PromptPassword.ShowDialog()); Messenger.Default.Register <string>(this, "ClosePromptPasswordView", (string s) => PromptPassword.Close()); Messenger.Default.Register <string>(this, "OpenReceiveView", (string s) => Receive.ShowDialog()); Messenger.Default.Register <string>(this, "CloseReceiveView", (string s) => Receive.Close()); Messenger.Default.Register <string>(this, "OpenRecoverWalletView", (string s) => RecoverWallet.ShowDialog()); Messenger.Default.Register <string>(this, "CloseRecoverWalletView", (string s) => RecoverWallet.Close()); Messenger.Default.Register <string>(this, "OpenRecoveryPhraseView", (string s) => RecoveryPhrase.ShowDialog()); Messenger.Default.Register <string>(this, "CloseRecoveryPhraseView", (string s) => RecoveryPhrase.Close()); Messenger.Default.Register <string>(this, "OpenSendView", (string s) => Send.ShowDialog()); Messenger.Default.Register <string>(this, "CloseSendView", (string s) => Send.Close()); Messenger.Default.Register <string>(this, "OpenSetLanguageView", (string s) => SetLanguage.ShowDialog()); Messenger.Default.Register <string>(this, "CloseSetLanguageView", (string s) => SetLanguage.Close()); Messenger.Default.Register <string>(this, "OpenSetPasswordView", (string s) => SetPassword.ShowDialog()); Messenger.Default.Register <string>(this, "CloseSetPasswordView", (string s) => SetPassword.Close()); Messenger.Default.Register <string>(this, "OpenSimpleDialogView", (string s) => SimpleDialog.ShowDialog()); Messenger.Default.Register <string>(this, "CloseSimpleDialogView", (string s) => SimpleDialog.Close()); Messenger.Default.Register <string>(this, "OpenTxInfoView", (string s) => TxInfo.ShowDialog()); Messenger.Default.Register <string>(this, "CloseTxInfoView", (string s) => TxInfo.Close()); Messenger.Default.Register <string>(this, "OpenWalletInfoView", (string s) => WalletInfo.ShowDialog()); Messenger.Default.Register <string>(this, "CloseWalletInfoView", (string s) => WalletInfo.Close()); Messenger.Default.Register <string>(this, "OpenWelcomeView", (string s) => Welcome.ShowDialog()); Messenger.Default.Register <string>(this, "CloseWelcomeView", (string s) => Welcome.Close()); }
public async Task <IActionResult> Create([FromBody] CreateWallet command) { var commandResult = await _mediator.Send(command); return(commandResult ? Ok() : (IActionResult)BadRequest()); }
public async Task <Guid> Post([FromBody] CreateWallet request) { var response = await _mediator.Send(request); return(response); }