using System; using System.Diagnostics; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System.ComponentModel; using System.Collections.Generic; using System.Runtime.CompilerServices; using Newtonsoft.Json; using System.Runtime.Serialization.Json; using System.Threading.Tasks; using FreeSql.DataAnnotations; namespace AME.Helpers { #region COREIDS public class COREIDS : INotifyPropertyChanged { #region INotifyPropertyChanged protected bool SetProperty(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false) { if (!force && EqualityComparer.Default.Equals(backingStore, value)) return false; backingStore = value; onChanged?.Invoke(); OnPropertyChanged(propertyName); return true; } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = "") { var changed = PropertyChanged; if (changed == null) return; changed.Invoke(this, new PropertyChangedEventArgs(propertyName)); } #endregion string name; public string Name { get => name; set => SetProperty(ref name, value); } string coreid; public string COREID { get => coreid; set => SetProperty(ref coreid, value); } int syncprice = 1; public int SyncPrice { get => syncprice; set => SetProperty(ref syncprice, value); } bool syncProductName = true; public bool SyncProductName { get => syncProductName; set => SetProperty(ref syncProductName, value); } } public class FTPs : INotifyPropertyChanged { #region INotifyPropertyChanged protected bool SetProperty(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false) { if (!force && EqualityComparer.Default.Equals(backingStore, value)) return false; backingStore = value; onChanged?.Invoke(); OnPropertyChanged(propertyName); return true; } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = "") { var changed = PropertyChanged; if (changed == null) return; changed.Invoke(this, new PropertyChangedEventArgs(propertyName)); } #endregion string name; public string Name { get => name; set => SetProperty(ref name, value); } string hostName; public string HostName { get => hostName; set => SetProperty(ref hostName, value); } int port = 21; public int Port { get => port; set => SetProperty(ref port, value); } string username; public string Username { get => username; set => SetProperty(ref username, value); } string password; public string Password { get => password; set => SetProperty(ref password, value); } string token; public string Token { get => token; set => SetProperty(ref token, value); } bool autoSend; public bool AutoSend { get => autoSend; set => SetProperty(ref autoSend, value); } } public class COREIDS_Sync : INotifyPropertyChanged { #region INotifyPropertyChanged protected bool SetProperty(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false) { if (!force && EqualityComparer.Default.Equals(backingStore, value)) return false; backingStore = value; onChanged?.Invoke(); OnPropertyChanged(propertyName); return true; } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = "") { var changed = PropertyChanged; if (changed == null) return; changed.Invoke(this, new PropertyChangedEventArgs(propertyName)); } #endregion string name; public string Name { get => name; set => SetProperty(ref name, value); } string coreid; public string COREID { get => coreid; set => SetProperty(ref coreid, value); } string status; public string Status { get => status; set => SetProperty(ref status, value); } bool doit; public bool Doit { get => doit; set => SetProperty(ref doit, value); } string info; public string Info { get => info; set => SetProperty(ref info, value); } public bool SyncCategories { get; set; } = true; public bool SyncSuppliers { get; set; } = true; public bool SyncPricePurchase { get; set; } = true; public int SyncPrice { get; set; } = 1; public bool SyncProductName { get; set; } = true; } #endregion public class AppSettingII : INotifyPropertyChanged { #region INotifyPropertyChanged protected bool SetProperty(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false) { if (!force && EqualityComparer.Default.Equals(backingStore, value)) return false; backingStore = value; onChanged?.Invoke(); OnPropertyChanged(propertyName); return true; } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = "") { var changed = PropertyChanged; if (changed == null) return; changed.Invoke(this, new PropertyChangedEventArgs(propertyName)); } #endregion [JsonProperty, Column(IsPrimary = true, IsIdentity = true)] public int ID { get; set; } /// /// 配置名称 /// [DisplayName("配置名称")] public string SettingName { get; set; } /// /// 配置文件路径 /// [JsonIgnore] [DisplayName("配置文件路径")] public string FilePath { get; set; } #region WPF private bool _ConsoleWrite; public bool ConsoleWrite { get => _ConsoleWrite; set { if (SetProperty(ref _ConsoleWrite, value)) SaveAI(); } } private int _DebugLevel; public int DebugLevel { get => _DebugLevel; set { if (SetProperty(ref _DebugLevel, value)) SaveAI(); } } private int _DebugOutput; public int DebugOutput { get => _DebugOutput; set { if (SetProperty(ref _DebugOutput, value)) SaveAI(); } } private string _cfgs; public string cfgs { get => _cfgs; set { if (SetProperty(ref _cfgs, value)) SaveAI(); } } private bool autoStartPrintServer; public bool AutoStartPrintServer { get => autoStartPrintServer; set { if (SetProperty(ref autoStartPrintServer, value)) SaveAI(); } } private bool pdf; public bool PDF { get => pdf; set { if (SetProperty(ref pdf, value)) SaveAI(); } } private bool _isdebug; public bool isdebug { get => _isdebug; set { if (SetProperty(ref _isdebug, value)) SaveAI(); } } bool isDark = false; public bool IsDark { get => isDark; set { if (SetProperty(ref isDark, value)) SaveAI(); } } string mainWindowMax = "Maximized"; public string MainWindowMax { get => mainWindowMax; set { if (SetProperty(ref mainWindowMax, value)) SaveAI(); } } string myFontFamily = "幼圆"; public string MyFontFamily { get => myFontFamily; set { if (SetProperty(ref myFontFamily, value)) SaveAI(); } } int myfontsize = 13; public int Myfontsize { get => myfontsize; set { if (SetProperty(ref myfontsize, value)) SaveAI(); } } //public List WindowState = new List { "Maximized", "Normal", "Minimized" }; string cif; public string Cif { get => cif; set { if (SetProperty(ref cif, value)) SaveAI(); } } string hddid; public string Hddid { get => hddid; set { if (SetProperty(ref hddid, value)) SaveAI(); } } string regkey; public string Regkey { get => regkey; set { if (SetProperty(ref regkey, value)) SaveAI(); } } bool loadAllProduct = false; public bool LoadAllProduct { get => loadAllProduct; set { if (SetProperty(ref loadAllProduct, value)) SaveAI(); } } bool autoDownloadPhoto = false; public bool AutoDownloadPhoto { get => autoDownloadPhoto; set { if (SetProperty(ref autoDownloadPhoto, value)) SaveAI(); } } int ver; public int VER { get => ver; set { if (SetProperty(ref ver, value)) SaveAI(); } } #endregion //同步app第一版设置 #region app第一版设置 string printerIP = "192.168.1.232"; public string PrinterIP { get => printerIP; set { if (SetProperty(ref printerIP, value)) SaveAI(); } } string dsid = "demo"; public string DSID { get => dsid; set { if (SetProperty(ref dsid, value)) { dsid = dsid.ToLower(); SaveAI(); } } } public string localuuid { get; set; } public string DSIDsin { get => (string.IsNullOrEmpty(localuuid) ? "" : localuuid + "_") + DSID.Replace(":", "").Replace(",", "").Replace(".", "").Replace("*", ""); } string dsuser = "t9"; public string DSUser { get => dsuser; set { if (SetProperty(ref dsuser, value)) SaveAI(); } } string dspassword = "0"; public string DSPassword { get => dspassword; set { if (SetProperty(ref dspassword, value)) SaveAI(); } } string syncTime; public string SyncTime { get => syncTime; set { if (SetProperty(ref syncTime, value)) SaveAI(); } } string uuid; public string UUID { get => uuid; set { if (SetProperty(ref uuid, value)) SaveAI(); } } bool isLocalDB = false; public bool IsLocalDB { get => isLocalDB; set { if (SetProperty(ref isLocalDB, value)) SaveAI(); } } string ip = "192.168.1.100"; public string IP { get => ip; set { if (SetProperty(ref ip, value)) SaveAI(); } } string port = "1200"; public string PORT { get => port; set { if (SetProperty(ref port, value)) SaveAI(); } } bool autologin = false; public bool Autologin { get => autologin; set { if (SetProperty(ref autologin, value)) { if (!value) DSPassword = ""; SaveAI(); } } } bool printA4_2 = false; public bool PrintA4_2 { get => printA4_2; set { if (SetProperty(ref printA4_2, value)) SaveAI(); } } bool printA4_3 = false; public bool PrintA4_3 { get => printA4_3; set { if (SetProperty(ref printA4_3, value)) SaveAI(); } } string cOREID; public string COREID { get => cOREID; set { if (SetProperty(ref cOREID, value)) SaveAI(); } } bool useCache = false; public bool UseCache { get => useCache; set { if (SetProperty(ref useCache, value)) SaveAI(); } } string cachePath; public string CachePath { get => cachePath; set { if (SetProperty(ref cachePath, value)) SaveAI(); } } public Guid GUID { get; set; } = Guid.NewGuid(); bool productsShowPhoto = true; public bool ProductsShowPhoto { get => productsShowPhoto; set { if (SetProperty(ref productsShowPhoto, value)) SaveAI(); } } bool productsSelectKeepShow = false; public bool ProductsSelectKeepShow { get => productsSelectKeepShow; set { if (SetProperty(ref productsSelectKeepShow, value)) SaveAI(); } } COREIDS[] coreIDs = new COREIDS[] { new COREIDS { Name = "1" }, new COREIDS { Name = "2" }, new COREIDS { Name = "3" }, new COREIDS { Name = "4" }, new COREIDS { Name = "5" }, new COREIDS { Name = "6" }}; [JsonProperty, Column(IsIgnore = true)] public COREIDS[] COREIDS { get => coreIDs; set { if (SetProperty(ref coreIDs, value)) SaveAI(); } } #endregion #region 销售窗体设置 string orderDetailsWindowMax = "Maximized"; public string OrderDetailsWindowMax { get => orderDetailsWindowMax; set { if (SetProperty(ref orderDetailsWindowMax, value)) SaveAI(); } } bool orderDetailsShowMore = false; public bool OrderDetailsShowMore { get => orderDetailsShowMore; set { if (SetProperty(ref orderDetailsShowMore, value)) SaveAI(); } } bool orderDetailsShowDetailsCard = true; public bool OrderDetailsShowDetailsCard { get => orderDetailsShowDetailsCard; set { if (SetProperty(ref orderDetailsShowDetailsCard, value)) SaveAI(); } } bool orderDetailsShowCategories = false; public bool OrderDetailsShowCategories { get => orderDetailsShowCategories; set { if (SetProperty(ref orderDetailsShowCategories, value)) SaveAI(); } } bool orderDetailsShowSuppliers = false; public bool OrderDetailsShowSuppliers { get => orderDetailsShowSuppliers; set { if (SetProperty(ref orderDetailsShowSuppliers, value)) SaveAI(); } } int orderDetailsImagePreviewWidth = 30; public int OrderDetailsImagePreviewWidth { get => orderDetailsImagePreviewWidth; set { if (SetProperty(ref orderDetailsImagePreviewWidth, value)) SaveAI(); } } #endregion #region 商品窗体设置 /// /// 管理:商品库存过滤 /// bool filterStock = false; public bool FilterStock { get => filterStock; set { if (SetProperty(ref filterStock, value)) SaveAI(); } } string productsWindowMax = "Maximized"; public string ProductsWindowMax { get => productsWindowMax; set { if (SetProperty(ref productsWindowMax, value)) SaveAI(); } } bool productsShowMore = false; public bool ProductsShowMore { get => productsShowMore; set { if (SetProperty(ref productsShowMore, value)) SaveAI(); } } bool productsShowDetailsCard = true; public bool ProductsShowDetailsCard { get => productsShowDetailsCard; set { if (SetProperty(ref productsShowDetailsCard, value)) SaveAI(); } } bool productsShowCategories = false; public bool ProductsShowCategories { get => productsShowCategories; set { if (SetProperty(ref productsShowCategories, value)) SaveAI(); } } bool productsShowSuppliers = false; public bool ProductsShowSuppliers { get => productsShowSuppliers; set { if (SetProperty(ref productsShowSuppliers, value)) SaveAI(); } } int productImagePreviewWidth = 30; public int ProductImagePreviewWidth { get => productImagePreviewWidth; set { if (SetProperty(ref productImagePreviewWidth, value)) SaveAI(); } } #endregion #region 类别窗体设置 string categoriesWindowMax = "Maximized"; public string CategoriesWindowMax { get => categoriesWindowMax; set { if (SetProperty(ref categoriesWindowMax, value)) SaveAI(); } } bool showCategories2 = false; public bool ShowCategories2 { get => showCategories2; set { if (SetProperty(ref showCategories2, value)) SaveAI(); } } bool categoriesShowMore = false; public bool CategoriesShowMore { get => categoriesShowMore; set { if (SetProperty(ref categoriesShowMore, value)) SaveAI(); } } bool categoriesShowDetailsCard = true; public bool CategoriesShowDetailsCard { get => categoriesShowDetailsCard; set { if (SetProperty(ref categoriesShowDetailsCard, value)) SaveAI(); } } int categoriesImagePreviewWidth = 30; public int CategoriesImagePreviewWidth { get => categoriesImagePreviewWidth; set { if (SetProperty(ref categoriesImagePreviewWidth, value)) SaveAI(); } } bool ignoreSecondLevelCategories; public bool IgnoreSecondLevelCategories { get => ignoreSecondLevelCategories; set { if (SetProperty(ref ignoreSecondLevelCategories, value)) SaveAI(); } } #endregion #region 客户窗体设置 string customersWindowMax = "Maximized"; public string CustomersWindowMax { get => customersWindowMax; set { if (SetProperty(ref customersWindowMax, value)) SaveAI(); } } bool customersShowMore = false; public bool CustomersShowMore { get => customersShowMore; set { if (SetProperty(ref customersShowMore, value)) SaveAI(); } } bool customersShowDetailsCard = true; public bool CustomersShowDetailsCard { get => customersShowDetailsCard; set { if (SetProperty(ref customersShowDetailsCard, value)) SaveAI(); } } int customersImagePreviewWidth = 30; public int CustomersImagePreviewWidth { get => customersImagePreviewWidth; set { if (SetProperty(ref customersImagePreviewWidth, value)) SaveAI(); } } #endregion #region 供应商窗体设置 string suppliersWindowMax = "Maximized"; public string SuppliersWindowMax { get => suppliersWindowMax; set { if (SetProperty(ref suppliersWindowMax, value)) SaveAI(); } } bool suppliersShowMore = false; public bool SuppliersShowMore { get => suppliersShowMore; set { if (SetProperty(ref suppliersShowMore, value)) SaveAI(); } } bool suppliersShowDetailsCard = true; public bool SuppliersShowDetailsCard { get => suppliersShowDetailsCard; set { if (SetProperty(ref suppliersShowDetailsCard, value)) SaveAI(); } } int suppliersImagePreviewWidth = 30; public int SuppliersImagePreviewWidth { get => suppliersImagePreviewWidth; set { if (SetProperty(ref suppliersImagePreviewWidth, value)) SaveAI(); } } #endregion #region 用户窗体设置 string usersWindowMax = "Maximized"; public string UsersWindowMax { get => usersWindowMax; set { if (SetProperty(ref usersWindowMax, value)) SaveAI(); } } bool usersShowMore = false; public bool UsersShowMore { get => usersShowMore; set { if (SetProperty(ref usersShowMore, value)) SaveAI(); } } bool usersShowDetailsCard = true; public bool UsersShowDetailsCard { get => usersShowDetailsCard; set { if (SetProperty(ref usersShowDetailsCard, value)) SaveAI(); } } int usersImagePreviewWidth = 30; public int UsersImagePreviewWidth { get => usersImagePreviewWidth; set { if (SetProperty(ref usersImagePreviewWidth, value)) SaveAI(); } } #endregion #region 图片窗体设置 string photosWindowMax = "Maximized"; public string PhotosWindowMax { get => photosWindowMax; set { if (SetProperty(ref photosWindowMax, value)) SaveAI(); } } int photosImagePreviewWidth = 30; public int PhotosImagePreviewWidth { get => photosImagePreviewWidth; set { if (SetProperty(ref photosImagePreviewWidth, value)) SaveAI(); } } #endregion #region 单据列表窗体设置 string orderListWindowMax = "Maximized"; public string OrderListWindowMax { get => orderListWindowMax; set { if (SetProperty(ref orderListWindowMax, value)) SaveAI(); } } bool orderListShowMore = false; public bool OrderListShowMore { get => orderListShowMore; set { if (SetProperty(ref orderListShowMore, value)) SaveAI(); } } bool orderListShowDetailsCard = true; public bool OrderListShowDetailsCard { get => orderListShowDetailsCard; set { if (SetProperty(ref orderListShowDetailsCard, value)) SaveAI(); } } #endregion #region 小程序/VIP客户 string miniOrderDetailsOrderBy = "BarCode"; public string MiniOrderDetailsOrderBy { get => miniOrderDetailsOrderBy; set { if (SetProperty(ref miniOrderDetailsOrderBy, value)) SaveAI(); } } bool miniOrderDetailsShowBarcode; public bool MiniOrderDetailsShowBarcode { get => miniOrderDetailsShowBarcode; set { if (SetProperty(ref miniOrderDetailsShowBarcode, value)) SaveAI(); } } /// /// 销售:商品库存过滤 /// bool filterStockVIP = false; public bool FilterStockVIP { get => filterStockVIP; set { if (SetProperty(ref filterStockVIP, value)) SaveAI(); } } /// /// 销售:商品状态过滤 /// bool filterStatusVIP = false; public bool FilterStatusVIP { get => filterStatusVIP; set { if (SetProperty(ref filterStatusVIP, value)) SaveAI(); } } /// /// 销售:商品状态过滤字符串形式 /// string filterStatusVIPstr; public string FilterStatusVIPstr { get => filterStatusVIPstr; set { if (SetProperty(ref filterStatusVIPstr, value)) SaveAI(); } } bool forceOneNewOrder = false; public bool ForceOneNewOrder { get => forceOneNewOrder; set { if (SetProperty(ref forceOneNewOrder, value)) SaveAI(); } } bool inputNumber2 = false; public bool InputNumber2 { get => inputNumber2; set { if (SetProperty(ref inputNumber2, value)) SaveAI(); } } /// /// 销售父类排序 /// string categories2OrderBy; public string Categories2OrderBy { get => categories2OrderBy; set { if (SetProperty(ref categories2OrderBy, value)) SaveAI(); } } /// /// 销售类别排序 /// string categoriesOrderBy = "CategoryID"; public string CategoriesOrderBy { get => categoriesOrderBy; set { if (SetProperty(ref categoriesOrderBy, value)) SaveAI(); } } /// /// 销售商品排序 /// string productOrderBy; public string ProductOrderBy { get => productOrderBy; set { if (SetProperty(ref productOrderBy, value)) SaveAI(); } } /// /// 自定义首页 /// string vipIndex; public string VipIndex { get => vipIndex; set { if (SetProperty(ref vipIndex, value)) SaveAI(); } } /// /// 用户资料锁定 /// bool lockVIPDatas = false; public bool LockVIPDatas { get => lockVIPDatas; set { if (SetProperty(ref lockVIPDatas, value)) SaveAI(); } } /// /// 禁止单位[件] /// bool disabledOrderSingleQuantity; public bool DisabledOrderSingleQuantity { get => disabledOrderSingleQuantity; set { if (SetProperty(ref disabledOrderSingleQuantity, value)) SaveAI(); } } /// /// 指定游客账号ID /// string guestID; public string GuestID { get => guestID; set { if (SetProperty(ref guestID, value)) SaveAI(); } } /// /// 默认注册email后缀 /// string email; public string Email { get => email; set { if (SetProperty(ref email, value)) SaveAI(); } } /// /// 默认Code /// string code; [DisplayName("默认Code")] public string Code { get => code; set { if (SetProperty(ref code, value)) SaveAI(); } } /// /// 配货单列表排序 /// string pickupListOrderBy = "PostalCode,OrderID"; public string PickupListOrderBy { get => pickupListOrderBy; set { if (SetProperty(ref pickupListOrderBy, value)) SaveAI(); } } /// /// 配货单据排序 /// string pickupOrderBy = "BarCode"; public string PickupOrderBy { get => pickupOrderBy; set { if (SetProperty(ref pickupOrderBy, value)) SaveAI(); } } /// /// 使用紧凑型左类别条 /// bool useLiteCategoriesBar; public bool UseLiteCategoriesBar { get => useLiteCategoriesBar; set { if (SetProperty(ref useLiteCategoriesBar, value)) SaveAI(); } } #endregion #region 日志 string nlog_All; public string Nlog_All { get => nlog_All; set { if (SetProperty(ref nlog_All, value)) SaveAI(); } } string nlog_warn; public string Nlog_warn { get => nlog_warn; set { if (SetProperty(ref nlog_warn, value)) SaveAI(); } } #endregion #region 新加配置 string urlPhoto; public string UrlPhoto { get => urlPhoto; set { if (SetProperty(ref urlPhoto, value)) SaveAI(); } } string unsyncPriceTag; public string UnsyncPriceTag { get => unsyncPriceTag; set { if (SetProperty(ref unsyncPriceTag, value)) SaveAI(); } } bool syncPricePurchase = true; public bool SyncPricePurchase { get => syncPricePurchase; set { if (SetProperty(ref syncPricePurchase, value)) SaveAI(); } } bool syncStatus; public bool SyncStatus { get => syncStatus; set { if (SetProperty(ref syncStatus, value)) SaveAI(); } } /// /// 旧版app图片路径,用于导入 /// string appPhotoUrl; public string AppPhotoUrl { get => appPhotoUrl; set { if (SetProperty(ref appPhotoUrl, value)) SaveAI(); } } /// /// 显示APP面板 /// bool showAppPanel; public bool ShowAppPanel { get => showAppPanel; set { if (SetProperty(ref showAppPanel, value)) SaveAI(); } } bool autoUsercode; public bool AutoUsercode { get => autoUsercode; set { if (SetProperty(ref autoUsercode, value)) SaveAI(); } } /// /// H5的Url /// string h5url = "https://menu.freepos.es/"; public string H5url { get => h5url; set { if (SetProperty(ref h5url, value)) SaveAI(); } } bool loadH5url; public bool LoadH5url { get => loadH5url; set { if (SetProperty(ref loadH5url, value)) SaveAI(); } } /// /// 监控输出SQL语句 /// bool useMonitorCommand; public bool UseMonitorCommand { get => useMonitorCommand; set { if (SetProperty(ref useMonitorCommand, value)) SaveAI(); } } #region Winform版设置 bool productEditor20; public bool ProductEditor20 { get => productEditor20; set { if (SetProperty(ref productEditor20, value)) SaveAI(); } } /// /// 打开内测功能 /// bool enableBataFunction; public bool EnableBataFunction { get => enableBataFunction; set { if (SetProperty(ref enableBataFunction, value)) SaveAI(); } } /// /// 类别供应商显示序号 /// bool categoriesDisplayID = true; public bool CategoriesDisplayID { get => categoriesDisplayID; set { if (SetProperty(ref categoriesDisplayID, value)) SaveAI(); } } /// /// 导入单据过滤数量0的行 /// bool importOrderSkipQuantityZero; public bool ImportOrderSkipQuantityZero { get => importOrderSkipQuantityZero; set { if (SetProperty(ref importOrderSkipQuantityZero, value)) SaveAI(); } } /// /// 导入单据过滤库存0的行 /// bool importOrderSkipStockZero; public bool ImportOrderSkipStockZero { get => importOrderSkipStockZero; set { if (SetProperty(ref importOrderSkipStockZero, value)) SaveAI(); } } /// /// 打印通道3重定向到小票 /// bool printA4_3_to_Ticket; public bool PrintA4_3_to_Ticket { get => printA4_3_to_Ticket; set { if (SetProperty(ref printA4_3_to_Ticket, value)) SaveAI(); } } /// /// 精度计算:使用格式化2位后再累加 /// bool taxDetalisCalculationAccuracyMethod2 = true; public bool TaxDetalisCalculationAccuracyMethod2 { get => taxDetalisCalculationAccuracyMethod2; set { if (SetProperty(ref taxDetalisCalculationAccuracyMethod2, value)) SaveAI(); } } /// /// 测试功能:强制同步类别ID,供应商ID, 用于误删除商品表恢复数据 /// bool forceSyncCategoryIDSupplierID; public bool ForceSyncCategoryIDSupplierID { get => forceSyncCategoryIDSupplierID; set { if (SetProperty(ref forceSyncCategoryIDSupplierID, value)) SaveAI(); } } /// /// 使用极速版 /// bool useORM = true; public bool UseORM { get => useORM; set { if (SetProperty(ref useORM, value)) SaveAI(); } } /// /// 使用多发票序列 /// bool useMoreFacturaSeriel; public bool UseMoreFacturaSeriel { get => useMoreFacturaSeriel; set { if (SetProperty(ref useMoreFacturaSeriel, value)) SaveAI(); } } /// /// 显示独立结账提示窗体 /// bool useExCheckOutDSP; public bool UseExCheckOutDSP { get => useExCheckOutDSP; set { if (SetProperty(ref useExCheckOutDSP, value)) SaveAI(); } } /// /// 结账前提示输入邮编 /// bool analysisOrderPostcode; public bool AnalysisOrderPostcode { get => analysisOrderPostcode; set { if (SetProperty(ref analysisOrderPostcode, value)) SaveAI(); } } /// /// 只读的单元格显示大字体 /// bool cellReadonlyToGreen; public bool CellReadonlyToGreen { get => cellReadonlyToGreen; set { if (SetProperty(ref cellReadonlyToGreen, value)) SaveAI(); } } /// /// 接口历史文件地址 /// string[] interfacePath = new string[] { "", "", "", "", "", "", "", "", "", "" }; public string[] InterfacePath { get => interfacePath; set { if (SetProperty(ref interfacePath, value)) SaveAI(); } } /// /// 客户评级 /// bool customerStar; public bool CustomerStar { get => customerStar; set { if (SetProperty(ref customerStar, value)) SaveAI(); } } /// /// 客户供应商删除限制 /// bool customerDisableDel = true; public bool CustomerDisableDel { get => customerDisableDel; set { if (SetProperty(ref customerDisableDel, value)) SaveAI(); } } /// /// 导出资料自动传送 /// bool autoSend; public bool AutoSend { get => autoSend; set { if (SetProperty(ref autoSend, value)) SaveAI(); } } /// /// FTP资料 /// FTPs[] _FTPs = new FTPs[] { new FTPs { Name = "1.Directialogistica" }, new FTPs { Name = "2.Saveb2b" }, new FTPs { Name = "3" }, new FTPs { Name = "4" }, new FTPs { Name = "5" }, new FTPs { Name = "6" }}; [JsonProperty, Column(IsIgnore = true)] public FTPs[] FTPs { get => _FTPs; set { if (SetProperty(ref _FTPs, value)) SaveAI(); } } /// /// 导出单据使用名称替换条码 /// bool expOrderWithName; public bool ExpOrderWithName { get => expOrderWithName; set { if (SetProperty(ref expOrderWithName, value)) SaveAI(); } } /// /// 预热数据连接 /// bool warmupDataConnection; public bool WarmupDataConnection { get => warmupDataConnection; set { if (SetProperty(ref warmupDataConnection, value)) SaveAI(); } } /// /// 销售单内部查找包含名称模糊查找 /// bool orderSearchIncName; public bool OrderSearchIncName { get => orderSearchIncName; set { if (SetProperty(ref orderSearchIncName, value)) SaveAI(); } } /// /// 销售单商品重复提示 /// bool orderItemDuplicateReminder; public bool OrderItemDuplicateReminder { get => orderItemDuplicateReminder; set { if (SetProperty(ref orderItemDuplicateReminder, value)) SaveAI(); } } /// /// VP过滤VO单据 /// bool vPfiltersVO; public bool VPfiltersVO { get => vPfiltersVO; set { if (SetProperty(ref vPfiltersVO, value)) SaveAI(); } } /// /// VP过滤VO单据并过滤金额 /// bool vPfiltersVOwithAmount; public bool VPfiltersVOwithAmount { get => vPfiltersVOwithAmount; set { if (SetProperty(ref vPfiltersVOwithAmount, value)) SaveAI(); } } /// /// 导出单据附加发票号码到备注 /// bool expOrderWithInvoiceID; public bool ExpOrderWithInvoiceID { get => expOrderWithInvoiceID; set { if (SetProperty(ref expOrderWithInvoiceID, value)) SaveAI(); } } /// /// 优先用webapi或者本机连接 /// bool vipUseWebAPI; public bool VipUseWebAPI { get => vipUseWebAPI; set { if (SetProperty(ref vipUseWebAPI, value)) SaveAI(); } } /// /// 比对-销售数量完整后不能再更改 /// bool comparisonOrderCompleteReadonly; public bool ComparisonOrderCompleteReadonly { get => comparisonOrderCompleteReadonly; set { if (SetProperty(ref comparisonOrderCompleteReadonly, value)) SaveAI(); } } /// /// 比对-超数量提醒 /// bool comparisonOrderSuperAlert; public bool ComparisonOrderSuperAlert { get => comparisonOrderSuperAlert; set { if (SetProperty(ref comparisonOrderSuperAlert, value)) SaveAI(); } } /// /// 比对-点货数量正确才打勾 /// bool comparisonOnlyQtqCorrctCheck; public bool ComparisonOnlyQtqCorrctCheck { get => comparisonOnlyQtqCorrctCheck; set { if (SetProperty(ref comparisonOnlyQtqCorrctCheck, value)) SaveAI(); } } /// /// 比对-进价加税 /// bool comparisonPurchasePriceAddTax; public bool ComparisonPurchasePriceAddTax { get => comparisonPurchasePriceAddTax; set { if (SetProperty(ref comparisonPurchasePriceAddTax, value)) SaveAI(); } } #endregion /// /// 比对-售价为零,进价相同,自动使用系统售价 /// bool comparisonUnitpriceAuto1; public bool ComparisonUnitpriceAuto1 { get => comparisonUnitpriceAuto1; set { if (SetProperty(ref comparisonUnitpriceAuto1, value)) SaveAI(); } } /// /// 比对-数量默认为追加 /// bool comparisonDefaultAdditionalQuantity; public bool ComparisonDefaultAdditionalQuantity { get => comparisonDefaultAdditionalQuantity; set { if (SetProperty(ref comparisonDefaultAdditionalQuantity, value)) SaveAI(); } } /// /// 销售-计算重量总计 /// bool salesCalcWeightTotal; public bool SalesCalcWeightTotal { get => salesCalcWeightTotal; set { if (SetProperty(ref salesCalcWeightTotal, value)) SaveAI(); } } /// /// 测试年结送优惠券/月结送优惠券,宽松条件方式 /// bool testMonthlyOff; public bool TestMonthlyOff { get => testMonthlyOff; set { if (SetProperty(ref testMonthlyOff, value)) SaveAI(); } } /// /// 比对-调用供应商的销售价公式 /// bool comparisonUseSuppliersSalesPriceFormula = true; public bool ComparisonUseSuppliersSalesPriceFormula { get => comparisonUseSuppliersSalesPriceFormula; set { if (SetProperty(ref comparisonUseSuppliersSalesPriceFormula, value)) SaveAI(); } } /// /// 比对-毛利率公式II => 毛利率 =(1-不含税进价/不含税售价)×100% /// bool comparisonGrossFormulaII = true; public bool ComparisonGrossFormulaII { get => comparisonGrossFormulaII; set { if (SetProperty(ref comparisonGrossFormulaII, value)) SaveAI(); } } /// /// 比对-四舍五入 /// bool comparisonRounding = true; public bool ComparisonRounding { get => comparisonRounding; set { if (SetProperty(ref comparisonRounding, value)) SaveAI(); } } /// /// 打开单据不关闭挂单列表 /// bool doNotCloseListOfOrders; public bool DoNotCloseListOfOrders { get => doNotCloseListOfOrders; set { if (SetProperty(ref doNotCloseListOfOrders, value)) SaveAI(); } } /// /// 销售-启用Lote /// bool salesEnableLote; [DisplayName("销售-启用Lote")] public bool SalesEnableLote { get => salesEnableLote; set { if (SetProperty(ref salesEnableLote, value)) SaveAI(); } } /// /// 精度计算:发票含税单据合计直接使用商品合计,不反算税率合计 /// bool orderSubtotalUseOldMethod; [DisplayName("精度计算:发票含税单据合计直接使用商品合计,不反算税率合计")] public bool OrderSubtotalUseOldMethod { get => orderSubtotalUseOldMethod; set { if (SetProperty(ref orderSubtotalUseOldMethod, value)) SaveAI(); } } /// /// 小票:打印Json格式收货地址 /// bool ticketWithJsonRemark; [DisplayName("小票:打印Json格式收货地址")] public bool TicketWithJsonRemark { get => ticketWithJsonRemark; set { if (SetProperty(ref ticketWithJsonRemark, value)) SaveAI(); } } /// /// 小票:打印客户资料地址II /// bool ticketClientDataII; [DisplayName("小票:打印客户资料地址II")] public bool TicketClientDataII { get => ticketClientDataII; set { if (SetProperty(ref ticketClientDataII, value)) SaveAI(); } } /// /// 小票:打印备注 /// bool ticketWithRemark; [DisplayName("小票:打印备注")] public bool TicketWithRemark { get => ticketWithRemark; set { if (SetProperty(ref ticketWithRemark, value)) SaveAI(); } } /// /// 小票:打印部分备注 /// bool ticketWithRemarkLite; [DisplayName("小票:打印部分备注")] public bool TicketWithRemarkLite { get => ticketWithRemarkLite; set { if (SetProperty(ref ticketWithRemarkLite, value)) SaveAI(); } } /// /// 大票:打印Json格式收货地址 /// bool a4WithJsonRemark; [DisplayName("大票:打印Json格式收货地址")] public bool A4WithJsonRemark { get => a4WithJsonRemark; set { if (SetProperty(ref a4WithJsonRemark, value)) SaveAI(); } } /// /// 大票:打印收货地址(客户资料地址II) /// bool a4WithClientDataII; [DisplayName("大票:打印收货地址(客户资料地址II)")] public bool A4WithClientDataII { get => a4WithClientDataII; set { if (SetProperty(ref a4WithClientDataII, value)) SaveAI(); } } /// /// 小程序客户名称自动转拼音 /// bool autoAppCustomerNameTransToPinyin; [DisplayName("自动")] public bool AutoAppCustomerNameTransToPinyin { get => autoAppCustomerNameTransToPinyin; set { if (SetProperty(ref autoAppCustomerNameTransToPinyin, value)) SaveAI(); } } /// /// 更新客户资料到原始小程序单据 /// bool autoAppSaveInfoII2miniOrders; [DisplayName("更新客户资料到原始小程序单据")] public bool AutoAppSaveInfoII2miniOrders { get => autoAppSaveInfoII2miniOrders; set { if (SetProperty(ref autoAppSaveInfoII2miniOrders, value)) SaveAI(); } } /// /// 小程序单据窗口最大化 /// bool formMiniWebAPPWindowMax = true; [DisplayName("窗口最大化")] public bool FormMiniWebAPPWindowMax { get => formMiniWebAPPWindowMax; set { if (SetProperty(ref formMiniWebAPPWindowMax, value)) SaveAI(); } } /// /// 小程序单据自动调入详单 /// bool formMiniWebAppAutoLoadOrderDetails = true; [DisplayName("详单")] public bool FormMiniWebAppAutoLoadOrderDetails { get => formMiniWebAppAutoLoadOrderDetails; set { if (SetProperty(ref formMiniWebAppAutoLoadOrderDetails, value)) SaveAI(); } } /// /// 使用会员卡优惠券窗口自动关闭 /// bool formUsingCouponAutoClose = true; [DisplayName("自动关闭")] public bool FormUsingCouponAutoClose { get => formUsingCouponAutoClose; set { if (SetProperty(ref formUsingCouponAutoClose, value)) SaveAI(); } } #endregion /// /// 提醒非正常商品状态 /// bool alertProductStatus; [DisplayName("提醒非正常商品状态")] public bool AlertProductStatus { get => alertProductStatus; set { if (SetProperty(ref alertProductStatus, value)) SaveAI(); } } /// /// 新打印模块 /// bool newPrintModel; [DisplayName("新小票打印模块")] public bool NewPrintModel { get => newPrintModel; set { if (SetProperty(ref newPrintModel, value)) SaveAI(); } } public void SaveAI() { } } }