mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 优化 自动 IsIgnore 处理;
This commit is contained in:
parent
d2d3870de0
commit
4b875eaf7c
946
FreeSql.Tests/FreeSql.Tests/AppSetting.cs
Normal file
946
FreeSql.Tests/FreeSql.Tests/AppSetting.cs
Normal file
@ -0,0 +1,946 @@
|
||||
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<T>(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false)
|
||||
{
|
||||
if (!force && EqualityComparer<T>.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<T>(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false)
|
||||
{
|
||||
if (!force && EqualityComparer<T>.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<T>(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false)
|
||||
{
|
||||
if (!force && EqualityComparer<T>.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<T>(ref T backingStore, T value, [CallerMemberName] string propertyName = "", Action onChanged = null, bool force = false)
|
||||
{
|
||||
if (!force && EqualityComparer<T>.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; }
|
||||
|
||||
/// <summary>
|
||||
/// 配置名称
|
||||
/// </summary>
|
||||
[DisplayName("配置名称")]
|
||||
public string SettingName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 配置文件路径
|
||||
/// </summary>
|
||||
[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<string> WindowState = new List<string> { "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 商品窗体设置
|
||||
/// <summary>
|
||||
/// 管理:商品库存过滤
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售:商品库存过滤
|
||||
/// </summary>
|
||||
bool filterStockVIP = false;
|
||||
public bool FilterStockVIP { get => filterStockVIP; set { if (SetProperty(ref filterStockVIP, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售:商品状态过滤
|
||||
/// </summary>
|
||||
bool filterStatusVIP = false;
|
||||
public bool FilterStatusVIP { get => filterStatusVIP; set { if (SetProperty(ref filterStatusVIP, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售:商品状态过滤字符串形式
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售父类排序
|
||||
/// </summary>
|
||||
string categories2OrderBy;
|
||||
public string Categories2OrderBy { get => categories2OrderBy; set { if (SetProperty(ref categories2OrderBy, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售类别排序
|
||||
/// </summary>
|
||||
string categoriesOrderBy = "CategoryID";
|
||||
public string CategoriesOrderBy { get => categoriesOrderBy; set { if (SetProperty(ref categoriesOrderBy, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售商品排序
|
||||
/// </summary>
|
||||
string productOrderBy;
|
||||
public string ProductOrderBy { get => productOrderBy; set { if (SetProperty(ref productOrderBy, value)) SaveAI(); } }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 自定义首页
|
||||
/// </summary>
|
||||
string vipIndex;
|
||||
public string VipIndex { get => vipIndex; set { if (SetProperty(ref vipIndex, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 用户资料锁定
|
||||
/// </summary>
|
||||
bool lockVIPDatas = false;
|
||||
public bool LockVIPDatas { get => lockVIPDatas; set { if (SetProperty(ref lockVIPDatas, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 禁止单位[件]
|
||||
/// </summary>
|
||||
bool disabledOrderSingleQuantity;
|
||||
public bool DisabledOrderSingleQuantity { get => disabledOrderSingleQuantity; set { if (SetProperty(ref disabledOrderSingleQuantity, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 指定游客账号ID
|
||||
/// </summary>
|
||||
string guestID;
|
||||
public string GuestID { get => guestID; set { if (SetProperty(ref guestID, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 默认注册email后缀
|
||||
/// </summary>
|
||||
string email;
|
||||
public string Email { get => email; set { if (SetProperty(ref email, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 默认Code
|
||||
/// </summary>
|
||||
string code;
|
||||
[DisplayName("默认Code")]
|
||||
public string Code { get => code; set { if (SetProperty(ref code, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 配货单列表排序
|
||||
/// </summary>
|
||||
string pickupListOrderBy = "PostalCode,OrderID";
|
||||
public string PickupListOrderBy { get => pickupListOrderBy; set { if (SetProperty(ref pickupListOrderBy, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 配货单据排序
|
||||
/// </summary>
|
||||
string pickupOrderBy = "BarCode";
|
||||
public string PickupOrderBy { get => pickupOrderBy; set { if (SetProperty(ref pickupOrderBy, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 使用紧凑型左类别条
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 旧版app图片路径,用于导入
|
||||
/// </summary>
|
||||
string appPhotoUrl;
|
||||
public string AppPhotoUrl { get => appPhotoUrl; set { if (SetProperty(ref appPhotoUrl, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 显示APP面板
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// H5的Url
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 监控输出SQL语句
|
||||
/// </summary>
|
||||
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(); } }
|
||||
/// <summary>
|
||||
/// 打开内测功能
|
||||
/// </summary>
|
||||
bool enableBataFunction;
|
||||
public bool EnableBataFunction { get => enableBataFunction; set { if (SetProperty(ref enableBataFunction, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 类别供应商显示序号
|
||||
/// </summary>
|
||||
bool categoriesDisplayID = true;
|
||||
public bool CategoriesDisplayID { get => categoriesDisplayID; set { if (SetProperty(ref categoriesDisplayID, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 导入单据过滤数量0的行
|
||||
/// </summary>
|
||||
bool importOrderSkipQuantityZero;
|
||||
public bool ImportOrderSkipQuantityZero { get => importOrderSkipQuantityZero; set { if (SetProperty(ref importOrderSkipQuantityZero, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 导入单据过滤库存0的行
|
||||
/// </summary>
|
||||
bool importOrderSkipStockZero;
|
||||
public bool ImportOrderSkipStockZero { get => importOrderSkipStockZero; set { if (SetProperty(ref importOrderSkipStockZero, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 打印通道3重定向到小票
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 精度计算:使用格式化2位后再累加
|
||||
/// </summary>
|
||||
bool taxDetalisCalculationAccuracyMethod2 = true;
|
||||
public bool TaxDetalisCalculationAccuracyMethod2 { get => taxDetalisCalculationAccuracyMethod2; set { if (SetProperty(ref taxDetalisCalculationAccuracyMethod2, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 测试功能:强制同步类别ID,供应商ID, 用于误删除商品表恢复数据
|
||||
/// </summary>
|
||||
bool forceSyncCategoryIDSupplierID;
|
||||
public bool ForceSyncCategoryIDSupplierID { get => forceSyncCategoryIDSupplierID; set { if (SetProperty(ref forceSyncCategoryIDSupplierID, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 使用极速版
|
||||
/// </summary>
|
||||
bool useORM = true;
|
||||
public bool UseORM { get => useORM; set { if (SetProperty(ref useORM, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 使用多发票序列
|
||||
/// </summary>
|
||||
bool useMoreFacturaSeriel;
|
||||
public bool UseMoreFacturaSeriel { get => useMoreFacturaSeriel; set { if (SetProperty(ref useMoreFacturaSeriel, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 显示独立结账提示窗体
|
||||
/// </summary>
|
||||
bool useExCheckOutDSP;
|
||||
public bool UseExCheckOutDSP { get => useExCheckOutDSP; set { if (SetProperty(ref useExCheckOutDSP, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 结账前提示输入邮编
|
||||
/// </summary>
|
||||
bool analysisOrderPostcode;
|
||||
public bool AnalysisOrderPostcode { get => analysisOrderPostcode; set { if (SetProperty(ref analysisOrderPostcode, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 只读的单元格显示大字体
|
||||
/// </summary>
|
||||
bool cellReadonlyToGreen;
|
||||
public bool CellReadonlyToGreen { get => cellReadonlyToGreen; set { if (SetProperty(ref cellReadonlyToGreen, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 接口历史文件地址
|
||||
/// </summary>
|
||||
string[] interfacePath = new string[] { "", "", "", "", "", "", "", "", "", "" };
|
||||
public string[] InterfacePath { get => interfacePath; set { if (SetProperty(ref interfacePath, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 客户评级
|
||||
/// </summary>
|
||||
bool customerStar;
|
||||
public bool CustomerStar { get => customerStar; set { if (SetProperty(ref customerStar, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 客户供应商删除限制
|
||||
/// </summary>
|
||||
bool customerDisableDel = true;
|
||||
public bool CustomerDisableDel { get => customerDisableDel; set { if (SetProperty(ref customerDisableDel, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 导出资料自动传送
|
||||
/// </summary>
|
||||
bool autoSend;
|
||||
public bool AutoSend { get => autoSend; set { if (SetProperty(ref autoSend, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// FTP资料
|
||||
/// </summary>
|
||||
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(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 导出单据使用名称替换条码
|
||||
/// </summary>
|
||||
bool expOrderWithName;
|
||||
public bool ExpOrderWithName { get => expOrderWithName; set { if (SetProperty(ref expOrderWithName, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 预热数据连接
|
||||
/// </summary>
|
||||
bool warmupDataConnection;
|
||||
public bool WarmupDataConnection { get => warmupDataConnection; set { if (SetProperty(ref warmupDataConnection, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单内部查找包含名称模糊查找
|
||||
/// </summary>
|
||||
bool orderSearchIncName;
|
||||
public bool OrderSearchIncName { get => orderSearchIncName; set { if (SetProperty(ref orderSearchIncName, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单商品重复提示
|
||||
/// </summary>
|
||||
bool orderItemDuplicateReminder;
|
||||
public bool OrderItemDuplicateReminder { get => orderItemDuplicateReminder; set { if (SetProperty(ref orderItemDuplicateReminder, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// VP过滤VO单据
|
||||
/// </summary>
|
||||
bool vPfiltersVO;
|
||||
public bool VPfiltersVO { get => vPfiltersVO; set { if (SetProperty(ref vPfiltersVO, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// VP过滤VO单据并过滤金额
|
||||
/// </summary>
|
||||
bool vPfiltersVOwithAmount;
|
||||
public bool VPfiltersVOwithAmount { get => vPfiltersVOwithAmount; set { if (SetProperty(ref vPfiltersVOwithAmount, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 导出单据附加发票号码到备注
|
||||
/// </summary>
|
||||
bool expOrderWithInvoiceID;
|
||||
public bool ExpOrderWithInvoiceID { get => expOrderWithInvoiceID; set { if (SetProperty(ref expOrderWithInvoiceID, value)) SaveAI(); } }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 优先用webapi或者本机连接
|
||||
/// </summary>
|
||||
bool vipUseWebAPI;
|
||||
public bool VipUseWebAPI { get => vipUseWebAPI; set { if (SetProperty(ref vipUseWebAPI, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-销售数量完整后不能再更改
|
||||
/// </summary>
|
||||
bool comparisonOrderCompleteReadonly;
|
||||
public bool ComparisonOrderCompleteReadonly { get => comparisonOrderCompleteReadonly; set { if (SetProperty(ref comparisonOrderCompleteReadonly, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-超数量提醒
|
||||
/// </summary>
|
||||
bool comparisonOrderSuperAlert;
|
||||
public bool ComparisonOrderSuperAlert { get => comparisonOrderSuperAlert; set { if (SetProperty(ref comparisonOrderSuperAlert, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-点货数量正确才打勾
|
||||
/// </summary>
|
||||
bool comparisonOnlyQtqCorrctCheck;
|
||||
public bool ComparisonOnlyQtqCorrctCheck { get => comparisonOnlyQtqCorrctCheck; set { if (SetProperty(ref comparisonOnlyQtqCorrctCheck, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-进价加税
|
||||
/// </summary>
|
||||
bool comparisonPurchasePriceAddTax;
|
||||
public bool ComparisonPurchasePriceAddTax { get => comparisonPurchasePriceAddTax; set { if (SetProperty(ref comparisonPurchasePriceAddTax, value)) SaveAI(); } }
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 比对-售价为零,进价相同,自动使用系统售价
|
||||
/// </summary>
|
||||
bool comparisonUnitpriceAuto1;
|
||||
public bool ComparisonUnitpriceAuto1 { get => comparisonUnitpriceAuto1; set { if (SetProperty(ref comparisonUnitpriceAuto1, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-数量默认为追加
|
||||
/// </summary>
|
||||
bool comparisonDefaultAdditionalQuantity;
|
||||
public bool ComparisonDefaultAdditionalQuantity { get => comparisonDefaultAdditionalQuantity; set { if (SetProperty(ref comparisonDefaultAdditionalQuantity, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售-计算重量总计
|
||||
/// </summary>
|
||||
bool salesCalcWeightTotal;
|
||||
public bool SalesCalcWeightTotal { get => salesCalcWeightTotal; set { if (SetProperty(ref salesCalcWeightTotal, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 测试年结送优惠券/月结送优惠券,宽松条件方式
|
||||
/// </summary>
|
||||
bool testMonthlyOff;
|
||||
public bool TestMonthlyOff { get => testMonthlyOff; set { if (SetProperty(ref testMonthlyOff, value)) SaveAI(); } }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 比对-调用供应商的销售价公式
|
||||
/// </summary>
|
||||
bool comparisonUseSuppliersSalesPriceFormula = true;
|
||||
public bool ComparisonUseSuppliersSalesPriceFormula { get => comparisonUseSuppliersSalesPriceFormula; set { if (SetProperty(ref comparisonUseSuppliersSalesPriceFormula, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-毛利率公式II => 毛利率 =(1-不含税进价/不含税售价)×100%
|
||||
/// </summary>
|
||||
bool comparisonGrossFormulaII = true;
|
||||
public bool ComparisonGrossFormulaII { get => comparisonGrossFormulaII; set { if (SetProperty(ref comparisonGrossFormulaII, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 比对-四舍五入
|
||||
/// </summary>
|
||||
bool comparisonRounding = true;
|
||||
public bool ComparisonRounding { get => comparisonRounding; set { if (SetProperty(ref comparisonRounding, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 打开单据不关闭挂单列表
|
||||
/// </summary>
|
||||
bool doNotCloseListOfOrders;
|
||||
public bool DoNotCloseListOfOrders { get => doNotCloseListOfOrders; set { if (SetProperty(ref doNotCloseListOfOrders, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 销售-启用Lote
|
||||
/// </summary>
|
||||
bool salesEnableLote;
|
||||
[DisplayName("销售-启用Lote")]
|
||||
public bool SalesEnableLote { get => salesEnableLote; set { if (SetProperty(ref salesEnableLote, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 精度计算:发票含税单据合计直接使用商品合计,不反算税率合计
|
||||
/// </summary>
|
||||
bool orderSubtotalUseOldMethod;
|
||||
[DisplayName("精度计算:发票含税单据合计直接使用商品合计,不反算税率合计")]
|
||||
public bool OrderSubtotalUseOldMethod { get => orderSubtotalUseOldMethod; set { if (SetProperty(ref orderSubtotalUseOldMethod, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小票:打印Json格式收货地址
|
||||
/// </summary>
|
||||
bool ticketWithJsonRemark;
|
||||
[DisplayName("小票:打印Json格式收货地址")]
|
||||
public bool TicketWithJsonRemark { get => ticketWithJsonRemark; set { if (SetProperty(ref ticketWithJsonRemark, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小票:打印客户资料地址II
|
||||
/// </summary>
|
||||
bool ticketClientDataII;
|
||||
[DisplayName("小票:打印客户资料地址II")]
|
||||
public bool TicketClientDataII { get => ticketClientDataII; set { if (SetProperty(ref ticketClientDataII, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小票:打印备注
|
||||
/// </summary>
|
||||
bool ticketWithRemark;
|
||||
[DisplayName("小票:打印备注")]
|
||||
public bool TicketWithRemark { get => ticketWithRemark; set { if (SetProperty(ref ticketWithRemark, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小票:打印部分备注
|
||||
/// </summary>
|
||||
bool ticketWithRemarkLite;
|
||||
[DisplayName("小票:打印部分备注")]
|
||||
public bool TicketWithRemarkLite { get => ticketWithRemarkLite; set { if (SetProperty(ref ticketWithRemarkLite, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 大票:打印Json格式收货地址
|
||||
/// </summary>
|
||||
bool a4WithJsonRemark;
|
||||
[DisplayName("大票:打印Json格式收货地址")]
|
||||
public bool A4WithJsonRemark { get => a4WithJsonRemark; set { if (SetProperty(ref a4WithJsonRemark, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 大票:打印收货地址(客户资料地址II)
|
||||
/// </summary>
|
||||
bool a4WithClientDataII;
|
||||
[DisplayName("大票:打印收货地址(客户资料地址II)")]
|
||||
public bool A4WithClientDataII { get => a4WithClientDataII; set { if (SetProperty(ref a4WithClientDataII, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序客户名称自动转拼音
|
||||
/// </summary>
|
||||
bool autoAppCustomerNameTransToPinyin;
|
||||
[DisplayName("自动")]
|
||||
public bool AutoAppCustomerNameTransToPinyin { get => autoAppCustomerNameTransToPinyin; set { if (SetProperty(ref autoAppCustomerNameTransToPinyin, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 更新客户资料到原始小程序单据
|
||||
/// </summary>
|
||||
bool autoAppSaveInfoII2miniOrders;
|
||||
[DisplayName("更新客户资料到原始小程序单据")]
|
||||
public bool AutoAppSaveInfoII2miniOrders { get => autoAppSaveInfoII2miniOrders; set { if (SetProperty(ref autoAppSaveInfoII2miniOrders, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序单据窗口最大化
|
||||
/// </summary>
|
||||
bool formMiniWebAPPWindowMax = true;
|
||||
[DisplayName("窗口最大化")]
|
||||
public bool FormMiniWebAPPWindowMax { get => formMiniWebAPPWindowMax; set { if (SetProperty(ref formMiniWebAPPWindowMax, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序单据自动调入详单
|
||||
/// </summary>
|
||||
bool formMiniWebAppAutoLoadOrderDetails = true;
|
||||
[DisplayName("详单")]
|
||||
public bool FormMiniWebAppAutoLoadOrderDetails { get => formMiniWebAppAutoLoadOrderDetails; set { if (SetProperty(ref formMiniWebAppAutoLoadOrderDetails, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 使用会员卡&优惠券窗口自动关闭
|
||||
/// </summary>
|
||||
bool formUsingCouponAutoClose = true;
|
||||
[DisplayName("自动关闭")]
|
||||
public bool FormUsingCouponAutoClose { get => formUsingCouponAutoClose; set { if (SetProperty(ref formUsingCouponAutoClose, value)) SaveAI(); } }
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 提醒非正常商品状态
|
||||
/// </summary>
|
||||
bool alertProductStatus;
|
||||
[DisplayName("提醒非正常商品状态")]
|
||||
public bool AlertProductStatus { get => alertProductStatus; set { if (SetProperty(ref alertProductStatus, value)) SaveAI(); } }
|
||||
|
||||
/// <summary>
|
||||
/// 新打印模块
|
||||
/// </summary>
|
||||
bool newPrintModel;
|
||||
[DisplayName("新小票打印模块")]
|
||||
public bool NewPrintModel { get => newPrintModel; set { if (SetProperty(ref newPrintModel, value)) SaveAI(); } }
|
||||
|
||||
public void SaveAI()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -407,6 +407,372 @@
|
||||
导航属性
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:AME.Helpers.AppSettingII.SettingName">
|
||||
<summary>
|
||||
配置名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:AME.Helpers.AppSettingII.FilePath">
|
||||
<summary>
|
||||
配置文件路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.filterStock">
|
||||
<summary>
|
||||
管理:商品库存过滤
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.filterStockVIP">
|
||||
<summary>
|
||||
销售:商品库存过滤
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.filterStatusVIP">
|
||||
<summary>
|
||||
销售:商品状态过滤
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.filterStatusVIPstr">
|
||||
<summary>
|
||||
销售:商品状态过滤字符串形式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.categories2OrderBy">
|
||||
<summary>
|
||||
销售父类排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.categoriesOrderBy">
|
||||
<summary>
|
||||
销售类别排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.productOrderBy">
|
||||
<summary>
|
||||
销售商品排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.vipIndex">
|
||||
<summary>
|
||||
自定义首页
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.lockVIPDatas">
|
||||
<summary>
|
||||
用户资料锁定
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.disabledOrderSingleQuantity">
|
||||
<summary>
|
||||
禁止单位[件]
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.guestID">
|
||||
<summary>
|
||||
指定游客账号ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.email">
|
||||
<summary>
|
||||
默认注册email后缀
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.code">
|
||||
<summary>
|
||||
默认Code
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.pickupListOrderBy">
|
||||
<summary>
|
||||
配货单列表排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.pickupOrderBy">
|
||||
<summary>
|
||||
配货单据排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.useLiteCategoriesBar">
|
||||
<summary>
|
||||
使用紧凑型左类别条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.appPhotoUrl">
|
||||
<summary>
|
||||
旧版app图片路径,用于导入
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.showAppPanel">
|
||||
<summary>
|
||||
显示APP面板
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.h5url">
|
||||
<summary>
|
||||
H5的Url
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.useMonitorCommand">
|
||||
<summary>
|
||||
监控输出SQL语句
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.enableBataFunction">
|
||||
<summary>
|
||||
打开内测功能
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.categoriesDisplayID">
|
||||
<summary>
|
||||
类别供应商显示序号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.importOrderSkipQuantityZero">
|
||||
<summary>
|
||||
导入单据过滤数量0的行
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.importOrderSkipStockZero">
|
||||
<summary>
|
||||
导入单据过滤库存0的行
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.printA4_3_to_Ticket">
|
||||
<summary>
|
||||
打印通道3重定向到小票
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.taxDetalisCalculationAccuracyMethod2">
|
||||
<summary>
|
||||
精度计算:使用格式化2位后再累加
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.forceSyncCategoryIDSupplierID">
|
||||
<summary>
|
||||
测试功能:强制同步类别ID,供应商ID, 用于误删除商品表恢复数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.useORM">
|
||||
<summary>
|
||||
使用极速版
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.useMoreFacturaSeriel">
|
||||
<summary>
|
||||
使用多发票序列
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.useExCheckOutDSP">
|
||||
<summary>
|
||||
显示独立结账提示窗体
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.analysisOrderPostcode">
|
||||
<summary>
|
||||
结账前提示输入邮编
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.cellReadonlyToGreen">
|
||||
<summary>
|
||||
只读的单元格显示大字体
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.interfacePath">
|
||||
<summary>
|
||||
接口历史文件地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.customerStar">
|
||||
<summary>
|
||||
客户评级
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.customerDisableDel">
|
||||
<summary>
|
||||
客户供应商删除限制
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.autoSend">
|
||||
<summary>
|
||||
导出资料自动传送
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII._FTPs">
|
||||
<summary>
|
||||
FTP资料
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.expOrderWithName">
|
||||
<summary>
|
||||
导出单据使用名称替换条码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.warmupDataConnection">
|
||||
<summary>
|
||||
预热数据连接
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.orderSearchIncName">
|
||||
<summary>
|
||||
销售单内部查找包含名称模糊查找
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.orderItemDuplicateReminder">
|
||||
<summary>
|
||||
销售单商品重复提示
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.vPfiltersVO">
|
||||
<summary>
|
||||
VP过滤VO单据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.vPfiltersVOwithAmount">
|
||||
<summary>
|
||||
VP过滤VO单据并过滤金额
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.expOrderWithInvoiceID">
|
||||
<summary>
|
||||
导出单据附加发票号码到备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.vipUseWebAPI">
|
||||
<summary>
|
||||
优先用webapi或者本机连接
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonOrderCompleteReadonly">
|
||||
<summary>
|
||||
比对-销售数量完整后不能再更改
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonOrderSuperAlert">
|
||||
<summary>
|
||||
比对-超数量提醒
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonOnlyQtqCorrctCheck">
|
||||
<summary>
|
||||
比对-点货数量正确才打勾
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonPurchasePriceAddTax">
|
||||
<summary>
|
||||
比对-进价加税
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonUnitpriceAuto1">
|
||||
<summary>
|
||||
比对-售价为零,进价相同,自动使用系统售价
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonDefaultAdditionalQuantity">
|
||||
<summary>
|
||||
比对-数量默认为追加
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.salesCalcWeightTotal">
|
||||
<summary>
|
||||
销售-计算重量总计
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.testMonthlyOff">
|
||||
<summary>
|
||||
测试年结送优惠券/月结送优惠券,宽松条件方式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonUseSuppliersSalesPriceFormula">
|
||||
<summary>
|
||||
比对-调用供应商的销售价公式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonGrossFormulaII">
|
||||
<summary>
|
||||
比对-毛利率公式II => 毛利率 =(1-不含税进价/不含税售价)×100%
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.comparisonRounding">
|
||||
<summary>
|
||||
比对-四舍五入
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.doNotCloseListOfOrders">
|
||||
<summary>
|
||||
打开单据不关闭挂单列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.salesEnableLote">
|
||||
<summary>
|
||||
销售-启用Lote
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.orderSubtotalUseOldMethod">
|
||||
<summary>
|
||||
精度计算:发票含税单据合计直接使用商品合计,不反算税率合计
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.ticketWithJsonRemark">
|
||||
<summary>
|
||||
小票:打印Json格式收货地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.ticketClientDataII">
|
||||
<summary>
|
||||
小票:打印客户资料地址II
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.ticketWithRemark">
|
||||
<summary>
|
||||
小票:打印备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.ticketWithRemarkLite">
|
||||
<summary>
|
||||
小票:打印部分备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.a4WithJsonRemark">
|
||||
<summary>
|
||||
大票:打印Json格式收货地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.a4WithClientDataII">
|
||||
<summary>
|
||||
大票:打印收货地址(客户资料地址II)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.autoAppCustomerNameTransToPinyin">
|
||||
<summary>
|
||||
小程序客户名称自动转拼音
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.autoAppSaveInfoII2miniOrders">
|
||||
<summary>
|
||||
更新客户资料到原始小程序单据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.formMiniWebAPPWindowMax">
|
||||
<summary>
|
||||
小程序单据窗口最大化
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.formMiniWebAppAutoLoadOrderDetails">
|
||||
<summary>
|
||||
小程序单据自动调入详单
|
||||
</summary>
|
||||
</member>
|
||||
<!-- Badly formed XML comment ignored for member "F:AME.Helpers.AppSettingII.formUsingCouponAutoClose" -->
|
||||
<member name="F:AME.Helpers.AppSettingII.alertProductStatus">
|
||||
<summary>
|
||||
提醒非正常商品状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:AME.Helpers.AppSettingII.newPrintModel">
|
||||
<summary>
|
||||
新打印模块
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:SaleIDO.Entity.Storeage.AdjustPriceOrder">
|
||||
<summary>
|
||||
调价单
|
||||
|
@ -1,4 +1,5 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using AME.Helpers;
|
||||
using FreeSql.DataAnnotations;
|
||||
using FreeSql.Internal;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -15,6 +16,20 @@ namespace FreeSql.Tests
|
||||
[Fact]
|
||||
public void VersionByte()
|
||||
{
|
||||
g.sqlserver.Insert(new AppSettingII
|
||||
{
|
||||
|
||||
}).ExecuteAffrows();
|
||||
var item33 = g.sqlserver.Select<AppSettingII>().ToList();
|
||||
var sql22 = g.sqlserver.Select<AppSettingII>()
|
||||
.OrderBy(a => a.ID)
|
||||
.Count(out var total)
|
||||
.Page(1, 10).ToSql();
|
||||
var items22 = g.sqlserver.Select<AppSettingII>().WithSql(sql22).ToList();
|
||||
|
||||
var defv1 = typeof(decimal).CreateInstanceGetDefaultValue();
|
||||
var defv2 = typeof(decimal?).CreateInstanceGetDefaultValue();
|
||||
|
||||
var fsql = g.mysql;
|
||||
fsql.Delete<ts_ver_byte>().Where("1=1").ExecuteAffrows();
|
||||
var id = Guid.NewGuid();
|
||||
|
@ -524,6 +524,19 @@ namespace FreeSql.Internal
|
||||
var isLazy = vp != null && vp.Item1 != null && !string.IsNullOrEmpty(trytbTypeLazyName);
|
||||
|
||||
AddTableRef(common, trytb, pnv, isLazy, vp, cscode);
|
||||
if (trytb.GetTableRef(pnv.Name, false) == null)
|
||||
{
|
||||
trytb.ColumnsByCsIgnore.Add(pnv.Name, new ColumnInfo
|
||||
{
|
||||
Table = trytb,
|
||||
CsName = pnv.Name,
|
||||
CsType = pnv.PropertyType,
|
||||
Attribute = new ColumnAttribute
|
||||
{
|
||||
IsIgnore = true
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (cscode?.Length > cscodeLength)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user