using Infrastructure.Application; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace Application.Models { [Display(Name = "命令")] public class EditCommandModel : EditModel { [DataType("SelectList")] [Display(Name = "节点")] [Required(ErrorMessage = nameof(RequiredAttribute))] public Guid? NodeId { get; set; } [DataType("SelectList")] [Display(Name = "设备")] [Required(ErrorMessage = nameof(RequiredAttribute))] public Guid? DeviceId { get; set; } [DataType("SelectList")] [Display(Name = "Api")] [Required(ErrorMessage = nameof(RequiredAttribute))] public Guid? ApiId { get; set; } [Display(Name = "命令名称")] [MaxLength(24, ErrorMessage = "{0}最大长度为{1}")] [Required(ErrorMessage = nameof(RequiredAttribute))] public string Name { get; set; } [Display(Name = "序号")] public int DisplayOrder { get; set; } [Display(Name = "隐藏")] public bool Disabled { get; set; } [Display(Name = "延迟")] public int Delay { get; set; } [HiddenInput(DisplayValue = false)] [ScaffoldColumn(true)] public string QueryString { get; set; } [Display(Name = "参数", Order = 50)] [ScaffoldColumn(false)] public List Parameters { get; set; } = new List(); public string GetQueryString() { if (this.Parameters.Any()) { var queryString = string.Empty; foreach (var item in this.Parameters) { queryString += $"&{item.Name}={item.Value}"; } return queryString.TrimStart('&'); } return null; } } }