btcpayserver/BTCPayServer/Models/AppViewModels/UpdatePointOfSaleViewModel.cs

103 lines
3.6 KiB
C#
Raw Normal View History

2020-06-28 21:44:35 -05:00
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using BTCPayServer.Services.Apps;
using BTCPayServer.Validation;
using Microsoft.AspNetCore.Mvc.Rendering;
2018-04-03 11:50:41 +09:00
namespace BTCPayServer.Models.AppViewModels
{
public class UpdatePointOfSaleViewModel
{
public string StoreId { get; set; }
public string StoreName { get; set; }
2021-12-31 16:59:02 +09:00
[Required]
[MaxLength(50)]
[MinLength(1)]
[Display(Name = "App Name")]
public string AppName { get; set; }
2018-04-03 11:50:41 +09:00
[Required]
[MaxLength(30)]
[Display(Name = "Display Title")]
2018-04-03 11:50:41 +09:00
public string Title { get; set; }
[MaxLength(5)]
public string Currency { get; set; }
public string Template { get; set; }
2018-04-26 22:09:18 +09:00
[Display(Name = "Point of Sale Style")]
public PosViewType DefaultView { get; set; }
2018-04-26 22:09:18 +09:00
[Display(Name = "User can input custom amount")]
public bool ShowCustomAmount { get; set; }
[Display(Name = "User can input discount in %")]
public bool ShowDiscount { get; set; }
[Display(Name = "Enable tips")]
public bool EnableTips { get; set; }
2018-05-24 23:54:48 +09:00
public string Example1 { get; internal set; }
public string Example2 { get; internal set; }
public string ExampleCallback { get; internal set; }
public string InvoiceUrl { get; internal set; }
2020-06-28 17:55:27 +09:00
[Display(Name = "Callback Notification URL")]
[Uri]
public string NotificationUrl { get; set; }
[Display(Name = "Redirect URL")]
2020-10-13 15:51:28 +08:00
[Uri]
public string RedirectUrl { get; set; }
[Required]
[MaxLength(30)]
[Display(Name = "Text to display on each button for items with a specific price")]
public string ButtonText { get; set; }
[Required]
[MaxLength(30)]
[Display(Name = "Text to display on buttons allowing the user to enter a custom amount")]
public string CustomButtonText { get; set; }
[Required]
[MaxLength(30)]
2018-12-13 21:36:19 +08:00
[Display(Name = "Text to display in the tip input")]
public string CustomTipText { get; set; }
2018-12-13 21:36:19 +08:00
[MaxLength(30)]
[Display(Name = "Tip percentage amounts (comma separated)")]
public string CustomTipPercentages { get; set; }
[MaxLength(500)]
[Display(Name = "Custom CSS URL")]
public string CustomCSSLink { get; set; }
public string Id { get; set; }
[Display(Name = "Redirect invoice to redirect url automatically after paid")]
public string RedirectAutomatically { get; set; } = string.Empty;
public string AppId { get; set; }
public string SearchTerm { get; set; }
public SelectList RedirectAutomaticallySelectList =>
2020-06-28 17:55:27 +09:00
new SelectList(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Yes",
Value = "true"
},
new SelectListItem()
{
Text = "No",
Value = "false"
},
new SelectListItem()
{
Text = "Use Store Settings",
Value = ""
}
}, nameof(SelectListItem.Value), nameof(SelectListItem.Text), RedirectAutomatically);
[Display(Name = "Custom CSS Code")]
public string EmbeddedCSS { get; set; }
public string Description { get; set; }
[Display(Name = "Require refund email on checkout")]
public RequiresRefundEmail RequiresRefundEmail { get; set; } = RequiresRefundEmail.InheritFromStore;
2018-04-03 11:50:41 +09:00
}
}