btcpayserver/BTCPayServer/Models/WalletViewModels/PullPaymentsModel.cs

74 lines
2.8 KiB
C#
Raw Normal View History

2020-06-28 21:44:35 -05:00
using System;
2020-06-24 10:34:09 +09:00
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc.Rendering;
using BTCPayServer.Payments;
using BTCPayServer.Client.Models;
2020-06-24 10:34:09 +09:00
namespace BTCPayServer.Models.WalletViewModels
{
2021-12-31 16:59:02 +09:00
public class PullPaymentsModel : BasePagingViewModel
2020-06-24 10:34:09 +09:00
{
public class PullPaymentModel
{
public class ProgressModel
{
public int CompletedPercent { get; set; }
public int AwaitingPercent { get; set; }
public string CompletedFormatted { get; set; }
public string AwaitingFormatted { get; set; }
public string LimitFormatted { get; set; }
2020-06-24 10:34:09 +09:00
public string ResetIn { get; set; }
public string EndIn { get; set; }
public decimal Awaiting { get; set; }
public decimal Completed { get; set; }
public decimal Limit { get; set; }
2020-06-24 10:34:09 +09:00
}
public string Id { get; set; }
public string Name { get; set; }
public string ProgressText { get; set; }
public ProgressModel Progress { get; set; }
public DateTimeOffset StartDate { get; set; }
public DateTimeOffset? EndDate { get; set; }
public bool AutoApproveClaims { get; set; }
public bool Archived { get; set; } = false;
2020-06-24 10:34:09 +09:00
}
public List<PullPaymentModel> PullPayments { get; set; } = new List<PullPaymentModel>();
public override int CurrentPageCount => PullPayments.Count;
public string PaymentMethodId { get; set; }
public IEnumerable<PaymentMethodId> PaymentMethods { get; set; }
public PullPaymentState ActiveState { get; set; } = PullPaymentState.Active;
2020-06-24 10:34:09 +09:00
}
public class NewPullPaymentModel
{
[MaxLength(30)]
public string Name { get; set; }
public string Description { get; set; }
2020-06-24 10:34:09 +09:00
[Required]
public decimal Amount
{
get; set;
}
[Required]
[ReadOnly(true)]
public string Currency { get; set; }
[MaxLength(500)]
[Display(Name = "Custom CSS URL")]
public string CustomCSSLink { get; set; }
[Display(Name = "Custom CSS Code")]
public string EmbeddedCSS { get; set; }
[Display(Name = "Payment Methods")]
public IEnumerable<string> PaymentMethods { get; set; }
public IEnumerable<SelectListItem> PaymentMethodItems { get; set; }
[Display(Name = "Minimum acceptable expiration time for BOLT11 for refunds")]
[Range(1, 365 * 10)]
public long BOLT11Expiration { get; set; } = 30;
[Display(Name = "Automatically approve claims")]
public bool AutoApproveClaims { get; set; } = false;
2020-06-24 10:34:09 +09:00
}
}