btcpayserver/BTCPayServer/Models/CustodianAccountViewModels/CreateCustodianAccountViewModel.cs
Nicolas Dorier 1b672a1ace
Allow multi-step settings in custodian (#4838)
* Allow multi-step settings in custodian

* Fix CustodianAccount.Name not saved

* Reuse TradeQuantity for SimulateTrade

* TradeQuantityJsonConverter accepts numerics

* Fix build
2023-04-04 14:48:29 +09:00

48 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using BTCPayServer.Abstractions.Custodians;
using BTCPayServer.Abstractions.Form;
using Microsoft.AspNetCore.Mvc.Rendering;
namespace BTCPayServer.Models.CustodianAccountViewModels
{
public class CreateCustodianAccountViewModel
{
public void SetCustodianRegistry(IEnumerable<ICustodian> custodianRegistry)
{
var choices = custodianRegistry.Select(o => new Format
{
Name = o.Name,
Value = o.Code
}).ToArray();
var chosen = choices.FirstOrDefault();
Custodians = new SelectList(choices, nameof(chosen.Value), nameof(chosen.Name), chosen);
}
class Format
{
public string Name { get; set; }
public string Value { get; set; }
}
[Required]
[MaxLength(50)]
[MinLength(1)]
[Display(Name = "Name")]
public string Name { get; set; }
[Display(Name = "Store")]
public string StoreId { get; set; }
[Required]
[Display(Name = "Custodian")]
public string SelectedCustodian { get; set; }
//
public SelectList Custodians { get; set; }
public Form ConfigForm { get; set; }
public string Config { get; set; }
}
}