static public String GenarateValue(SerialType type) { Random random = new Random(); StringBuilder serialNumber = new StringBuilder(); switch (type) { case SerialType.MCU: serialNumber.Append("MCU"); break; case SerialType.TRAILER: serialNumber.Append("TRAILER"); break; case SerialType.LANDMARK: serialNumber.Append("LM"); break; case SerialType.ID: break; default: return("UNKNOW"); } serialNumber.Append(random.Next(1000000).ToString()); return(serialNumber.ToString()); }
public override MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType type, string data,out bool success) { using (SqlQuery query = new SqlQuery()) { Guid serial = Guid.NewGuid(); DateTime createDate = DateTimeUtil.Now; query.CommandText = "bx_CreateSerial"; query.CommandType = System.Data.CommandType.StoredProcedure; query.CreateParameter<int>("@UserID", ownerUserId, SqlDbType.Int); query.CreateParameter<DateTime>("@ExpiresDate", expriseDate, SqlDbType.DateTime); query.CreateParameter<byte>("@Type", (byte)type, SqlDbType.TinyInt); query.CreateParameter<string>("@Data", data, SqlDbType.NVarChar, 1000); SqlParameter outputParam = query.CreateParameter<bool>("@Success", SqlDbType.Bit, ParameterDirection.Output); MaxSerial newSerial = null; using (XSqlDataReader reader = query.ExecuteReader()) { while (reader.Next) { newSerial = new MaxSerial(reader); } } success = (bool)outputParam.Value; return newSerial; } }
public static ListItem[] GetList(SerialType t, bool addAll) { if (t == SerialType.Day) { var _end = new List <ListItem>(); if (addAll) { _end.Add(new ListItem("All", string.Empty)); } for (int i = 1; i < 32; i++) { _end.Add(new ListItem(i.ToString("d2"))); } return(_end.ToArray()); } var nodes = from node in Current.XmlRoot.Descendants(t.ToString()).Single().Descendants("item") select new ListItem(node.Value, node.Attribute("value").Value); if (addAll) { var q = nodes.ToList(); q.Insert(0, new ListItem("All", string.Empty)); return(q.ToArray()); } else { return(nodes.ToArray()); } }
/// <summary> /// 创建磁盘文件接口实例 /// </summary> /// <param name="eType">序列化类型</param> /// <returns>磁盘文件存取操作接口</returns> public static IFileReadWrite CreateFileInstance(SerialType eType) { IFileReadWrite iReadWrite = null; try { switch (eType) { case SerialType.Binary: iReadWrite = new BinarySerialFile(); break; case SerialType.Soap: //iReadWrite = new SoapSerialFile(); break; case SerialType.Xml: //iReadWrite = new XmlSerialFile(); break; default: break; } } catch (IOException) { iReadWrite = null; } return(iReadWrite); }
// Single Serial Port Popup Event Handler void s_Closing(object sender, CancelEventArgs e) { SingleSerialPopup singleSerialPopup = sender as SingleSerialPopup; if (singleSerialPopup == null) { return; } SingleSerialType = singleSerialPopup.PortType; if (SingleSerialType == SerialType.Balance) { BalancePort = singleSerialPopup.PortName; Settings.Default.COMPort = BalancePort; } else if (SingleSerialType == SerialType.ColorMeter) { ColorPort = singleSerialPopup.PortName; Settings.Default.ColorCOMPort = ColorPort; } else { readBalanceButton.Enabled = false; readBalanceButton.Text = @"Disconnected"; } Settings.Default.Save(); }
/// <summary> /// 生成打印 POS流水单号 等编号等 /// </summary> /// <returns></returns> public static long ExtendGenerate(SerialType serialType) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); SerialCache gen = SerialCache.GetInstance(); return(gen.CreateID(typePrefix.Type)); }
private void tsmiLoadModule_Click(object sender, EventArgs e) { OpenFileDialog fd = new OpenFileDialog(); fd.CheckFileExists = true; fd.Filter = "Config|*.config|All|*.*"; if (fd.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) { return; } XmlDocument xDoc = new XmlDocument(); xDoc.Load(fd.FileName); XmlNodeList xModules = xDoc.SelectNodes("modules/module"); if (xDoc.SelectSingleNode("modules").Attributes["pendrive"] != null) { cbbPenDrive.Text = xDoc.SelectSingleNode("modules").Attributes["pendrive"].Value; } foreach (XmlNode xModule in xModules) { string moduleCode = xModule.Attributes["code"].Value; NameSpace nSpace = new NameSpace(xModule.Attributes["namespace"].Value); string moduleDir = Path.Combine(Path.GetDirectoryName(fd.FileName), nSpace.Folder); string menuFile = Path.Combine(moduleDir, "menu.config"); if (!File.Exists(menuFile)) { MessageBox.Show("Missing menu file"); return; } XmlDocument xDocMenu = new XmlDocument(); xDocMenu.Load(menuFile); XmlNodeList xMod = xDocMenu.SelectNodes("menu/module"); foreach (XmlNode xSignleMod in xMod) { int row = DataGridView1.Rows.Add(); DataGridView1.Rows[row].Cells["colenable"].Value = xSignleMod.Attributes["enable"].Value == bool.TrueString; SerialType sType = (SerialType)Enum.Parse(typeof(SerialType), xSignleMod.Attributes["serialtype"].Value); DataGridView1.Rows[row].Cells["colLicenseType"].Value = sType; DataGridView1.Rows[row].Cells["colApplication"].Value = moduleCode; DataGridView1.Rows[row].Cells["colModuleName"].Value = xSignleMod.Attributes["code"].Value; if (sType.HasFlag(SerialType.EXPIRATION_DATE)) { DataGridView1.Rows[row].Cells["colExpiration"].Value = xSignleMod.Attributes["expirationdate"].Value; } } } }
public override bool DeleteSerial(int userID, SerialType serialType) { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_DeleteSerialByUser"; query.CommandType = System.Data.CommandType.StoredProcedure; query.CreateParameter <int>("@UserID", userID, System.Data.SqlDbType.Int); query.CreateParameter <byte>("@Type", (byte)serialType, System.Data.SqlDbType.TinyInt); return(query.ExecuteNonQuery() > 0); } }
protected override void OnClosing(CancelEventArgs e) { if (DialogResult == System.Windows.Forms.DialogResult.OK) { serialType = 0; foreach (string i in listBox1.SelectedItems) { serialType |= (SerialType)Enum.Parse(typeof(SerialType), i); } } }
/// <summary> /// 生产指定长度的单号 /// </summary> /// <param name="serialType"></param> /// <param name="pkLength">序列号总长度</param> /// <returns></returns> public static string Generate(SerialType serialType, int length) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); if (typePrefix.IsRandom) { return(RandomSerial.CreateID(length)); } SerialCache cache = SerialCache.GetInstance(); return(cache.CreateID(typePrefix.Type, length)); }
public static void AddModule(string application, bool enable, string module, SerialType sType, DateTime expiration, string serial) { SerialModule sd = new SerialModule(); sd.Application = application; sd.Module = module; sd.Enable = enable.ToString(); sd.SerialType = sType.ToString(); sd.Expiration = expiration.ToShortDateString(); sd.SerialNo = serial; SerialData.Modules.Add(sd); }
public MaxSerial GetSerial(string serial, SerialType serialType) { Guid serialGuid; try { serialGuid = new Guid(serial); } catch { return(null); } return(GetSerial(serialGuid, serialType)); }
/// <summary> /// 生产单号 /// </summary> /// <param name="serialType">默认长度10位</param> /// <returns></returns> public static string Generate(SerialType serialType) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); if (typePrefix.IsRandom) { return(RandomSerial.CreateID(DefualtLength)); } SerialCache cache = SerialCache.GetInstance(); //日期5位 编号5位 return(cache.CreateID(typePrefix.Type, DefualtLength)); }
public static ISerializedContact GetSerialization(SerialType type) { switch (type) { case SerialType.XML: return(new XMLSerializedContact()); case SerialType.Json: return(new JsonSerializedContact()); case SerialType.Binary: default: return(new BinarySerializedContact()); } }
private void btnCreate_Click(object sender, EventArgs e) { for (int t = 0; t < DataGridView1.Rows.Count; t++) { DateTime expiration = DateTime.Today; SerialType sType = (SerialType)DataGridView1.Rows[t].Cells["colLicenseType"].Value; string application = (string)DataGridView1.Rows[t].Cells["colApplication"].Value; string module = (string)DataGridView1.Rows[t].Cells["colModuleName"].Value; if (sType.HasFlag(SerialType.EXPIRATION_DATE)) { expiration = (DateTime)DateTime.Parse(DataGridView1.Rows[t].Cells["colExpiration"].Value.ToString()); } DataGridView1.Rows[t].Cells["colSerial"].Value = SerialManager.CreateSerial(txtLicense.Text, txtMac.Text, application, module, sType, expiration, cbbPenDrive.Text); } }
/// <summary> /// 根据业务类型枚举,获取实际的业务类型和相应前缀 /// </summary> /// <param name="type">业务枚举</param> /// <returns></returns> public static TypePrefix GetSerialTypeAndPrefix(SerialType type) { var tp = new TypePrefix { Type = type.ToString().ToLower() }; switch (type) { case SerialType.Normal: tp.IsRandom = true; return(tp); default: tp.IsRandom = true; return(tp); } }
public string getPrefix(SerialType serialType) { var prefix = ""; switch (serialType) { case SerialType.ACCOUNT: prefix = "ACC-000-0000"; break; case SerialType.AGENT: prefix = "AGENT-000-0000"; break; case SerialType.BILL: prefix = "BILL-000-0000"; break; case SerialType.INVOICE: prefix = "INC-000-0000"; break; case SerialType.ORDER: prefix = "OR-000-0000"; break; } return(prefix); }
private static bool CheckSerialType(SerialModule sm) { int pos = 1; string[] parts = sm.SerialNo.Split(new char[] { '-' }); SerialType sType = (SerialType)Enum.Parse(typeof(SerialType), sm.SerialType); if (sType.HasFlag(SerialType.LICENSE_NAME)) { if (parts[pos++] != ConvertString(SerialData.License)) { return(false); } } if (sType.HasFlag(SerialType.MAC_ADDRESS)) { if (parts[pos++] != ConvertMacAddress(macAddres)) { return(false); } } if (sType.HasFlag(SerialType.EXPIRATION_DATE)) { if (ConvertFromString(parts[pos++]) < (UInt64)(GlobalInfo.CurrentDate.Year * 365 + GlobalInfo.CurrentDate.Month * 31 + GlobalInfo.CurrentDate.Day)) { return(false); } } if (sType.HasFlag(SerialType.PEN_DRIVE)) { string letter = USBSerialNumber.GetDriveLetterFromName(SerialData.PenDrive); if (letter == string.Empty || parts[pos++] != ConvertSerialNumber(USBSerialNumber.getSerialNumberFromDriveLetter(letter))) { return(false); } } return(true); }
public static Serializer SetDatatype(SerialType type) { if (type == SerialType.Binary) { Instance.mBin = Instance.mBin ?? new SerializeImp.Binary(); Instance.Implement = Instance.mBin; } if (type == SerialType.Binary2) { Instance.mBin2 = Instance.mBin2 ?? new SerializeImp.Binary2(); Instance.Implement = Instance.mBin2; } if (type == SerialType.String) { Instance.mStr = Instance.mStr ?? new SerializeImp.String(); Instance.Implement = Instance.mStr; } return(Instance); }
public override MaxSerial GetSerial(Guid serial, SerialType serialType) { using (SqlQuery query = new SqlQuery()) { query.CommandType = System.Data.CommandType.StoredProcedure; query.CommandText = "bx_GetSerial"; query.CreateParameter <Guid>("@Serial", serial, System.Data.SqlDbType.UniqueIdentifier); query.CreateParameter <byte>("@Type", (byte)serialType, System.Data.SqlDbType.TinyInt); using (XSqlDataReader reader = query.ExecuteReader()) { MaxSerial resault = null; while (reader.Next) { resault = new MaxSerial(reader); } return(resault); } } }
private void tsmActivationSave_Click(object sender, EventArgs e) { SerialManager.Clear(); SerialManager.SerialData.License = txtLicense.Text; SerialManager.SerialData.PenDrive = cbbPenDrive.Text; for (int t = 0; t < DataGridView1.Rows.Count; t++) { DateTime expiration = DateTime.Today; bool enable = (bool)DataGridView1.Rows[t].Cells["colEnable"].Value; SerialType sType = (SerialType)DataGridView1.Rows[t].Cells["colLicenseType"].Value; string application = (string)DataGridView1.Rows[t].Cells["colApplication"].Value; string module = (string)DataGridView1.Rows[t].Cells["colModuleName"].Value; if (sType.HasFlag(SerialType.EXPIRATION_DATE)) { expiration = DateTime.Parse(DataGridView1.Rows[t].Cells["colExpiration"].Value.ToString()); } string serial = DataGridView1.Rows[t].Cells["colSerial"].Value.ToString(); SerialManager.AddModule(application, enable, module, sType, expiration, serial); } SerialManager.Save(); }
public override MaxSerial GetSerial(Guid serial, SerialType serialType) { using (SqlQuery query = new SqlQuery()) { query.CommandType = System.Data.CommandType.StoredProcedure; query.CommandText = "bx_GetSerial"; query.CreateParameter<Guid>("@Serial", serial, System.Data.SqlDbType.UniqueIdentifier); query.CreateParameter<byte>("@Type", (byte)serialType, System.Data.SqlDbType.TinyInt); using (XSqlDataReader reader = query.ExecuteReader()) { MaxSerial resault = null; while (reader.Next) { resault = new MaxSerial(reader); } return resault; } } }
public override MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType type, string data, out bool success) { using (SqlQuery query = new SqlQuery()) { Guid serial = Guid.NewGuid(); DateTime createDate = DateTimeUtil.Now; query.CommandText = "bx_CreateSerial"; query.CommandType = System.Data.CommandType.StoredProcedure; query.CreateParameter <int>("@UserID", ownerUserId, SqlDbType.Int); query.CreateParameter <DateTime>("@ExpiresDate", expriseDate, SqlDbType.DateTime); query.CreateParameter <byte>("@Type", (byte)type, SqlDbType.TinyInt); query.CreateParameter <string>("@Data", data, SqlDbType.NVarChar, 1000); SqlParameter outputParam = query.CreateParameter <bool>("@Success", SqlDbType.Bit, ParameterDirection.Output); MaxSerial newSerial = null; using (XSqlDataReader reader = query.ExecuteReader()) { while (reader.Next) { newSerial = new MaxSerial(reader); } } success = (bool)outputParam.Value; return(newSerial); } }
public abstract MaxSerial GetSerial(Guid serial, SerialType serialType);
public static void SerializeInternal(int version, StringBuilder sb, Type type, object message, SerialType sType = SerialType.JSON, string keyName = "") { var nulChr = (object)null; if (type.IsNullable()) { type = Nullable.GetUnderlyingType(type); } if (message == null) { message = type.TypeDefaultValue(); //only underlying value type will be given a default value } // if (type == typeof(string)) { sb.Append('"'); if (!string.IsNullOrEmpty((string)message)) { Escape(sb, message.ToString()); } sb.Append('"'); } else if (type.IsEnum) { if (sType == SerialType.JSON) { var etype = type.GetEnumUnderlyingType(); SerializeInternal(version, sb, etype, Convert.ChangeType(message, etype), sType: sType); } else if (sType == SerialType.HDMap) { sb.Append(message.ToString()); } } else if (BuiltinMessageTypes.ContainsKey(type)) { if (type == typeof(bool)) { sb.Append(message.ToString().ToLower()); } else { sb.Append(message.ToString()); } } else if (type == typeof(PartialByteArray) && sType == SerialType.JSON) { PartialByteArray arr = (PartialByteArray)message; if (version == 1) { sb.Append('"'); sb.Append(System.Convert.ToBase64String(arr.Array, 0, arr.Length)); sb.Append('"'); } else { sb.Append(sType == SerialType.JSON ? '[' : nulChr); for (int i = 0; i < arr.Length; i++) { sb.Append(arr.Array[i]); if (i < arr.Length - 1) { sb.Append(sType == SerialType.JSON ? ',' : ' '); } } sb.Append(sType == SerialType.JSON ? ']' : nulChr); } } else if (type.IsArray) { if (type.GetElementType() == typeof(byte) && version == 1) { sb.Append('"'); sb.Append(System.Convert.ToBase64String((byte[])message)); sb.Append('"'); } else { Array arr = (Array)message; sb.Append(sType == SerialType.JSON ? '[' : nulChr); for (int i = 0; i < arr.Length; i++) { if (sType == SerialType.HDMap && i > 0) { sb.Append(keyName); } SerializeInternal(version, sb, type.GetElementType(), arr.GetValue(i), sType: sType); if (i < arr.Length - 1) { sb.Append(sType == SerialType.JSON ? ',' : ' '); } } sb.Append(sType == SerialType.JSON ? ']' : nulChr); } } else if (type.IsGenericList()) { IList list = (IList)message; sb.Append(sType == SerialType.JSON ? '[' : nulChr); for (int i = 0; i < list.Count; i++) { if (sType == SerialType.HDMap && i > 0) { sb.Append(keyName); } SerializeInternal(version, sb, list[i].GetType(), list[i], sType: sType); if (i < list.Count - 1) { sb.Append(sType == SerialType.JSON ? ',' : ' '); } } sb.Append(sType == SerialType.JSON ? ']' : nulChr); } else if (type == typeof(Time)) { Time t = (Time)message; if (version == 1) { sb.AppendFormat("{{\"data\":{{\"secs\":{0},\"nsecs\":{1}}}}}", (uint)t.secs, (uint)t.nsecs); } else { sb.AppendFormat("{{\"sec\":{0},\"nanosec\":{1}}}", (int)t.secs, (uint)t.nsecs); } } else { var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance); sb.Append('{'); for (int i = 0; i < fields.Length; i++) { var field = fields[i]; if (version == 2 && type == typeof(Header) && field.Name == "seq") { continue; } var fieldType = field.FieldType; var fieldValue = field.GetValue(message); if (fieldValue != null && typeof(IOneOf).IsAssignableFrom(fieldType)) //only when it is a OneOf field { var oneof = fieldValue as IOneOf; if (oneof != null) //only when this is a non-null OneOf { var oneInfo = oneof.GetOne(); if (oneInfo.Value != null) //only hwne at least one subfield assgined { var oneFieldName = oneInfo.Key; var oneFieldValue = oneInfo.Value; var oneFieldType = oneInfo.Value.GetType(); sb.Append(sType == SerialType.JSON ? '"' : nulChr); sb.Append(oneFieldName); sb.Append(sType == SerialType.JSON ? '"' : nulChr); if (sType == SerialType.HDMap) { if (CheckBasicType(oneFieldType) || (oneFieldType.IsCollectionType() && CheckBasicType(oneFieldType.GetCollectionElement()))) { sb.Append(':'); } SerializeInternal(version, sb, oneFieldType, oneFieldValue, sType: sType, keyName: oneFieldName); } else if (sType == SerialType.JSON) { sb.Append(':'); SerializeInternal(version, sb, oneFieldType, oneFieldValue, sType: sType); } sb.Append(sType == SerialType.JSON ? ',' : ' '); } } } else if (fieldValue != null || (fieldType.IsNullable() && Attribute.IsDefined(field, typeof(global::Apollo.RequiredAttribute)))) { sb.Append(sType == SerialType.JSON ? '"' : nulChr); sb.Append(field.Name); sb.Append(sType == SerialType.JSON ? '"' : nulChr); if (sType == SerialType.HDMap) { if (CheckBasicType(fieldType) || (fieldType.IsCollectionType() && CheckBasicType(fieldType.GetCollectionElement()))) { sb.Append(':'); } SerializeInternal(version, sb, fieldType, fieldValue, sType: sType, keyName: field.Name); } else if (sType == SerialType.JSON) { sb.Append(':'); SerializeInternal(version, sb, fieldType, fieldValue, sType: sType); } sb.Append(sType == SerialType.JSON ? ',' : ' '); } } if (sType == SerialType.JSON) { if (sb[sb.Length - 1] == ',') { sb.Remove(sb.Length - 1, 1); } } sb.Append('}'); } }
// Single Serial Port Popup Event Handler void s_Closing(object sender, CancelEventArgs e) { SingleSerialPopup singleSerialPopup = sender as SingleSerialPopup; if (singleSerialPopup == null) return; SingleSerialType = singleSerialPopup.PortType; if (SingleSerialType == SerialType.Balance) { BalancePort = singleSerialPopup.PortName; Settings.Default.COMPort = BalancePort; } else if (SingleSerialType == SerialType.ColorMeter) { ColorPort = singleSerialPopup.PortName; Settings.Default.ColorCOMPort = ColorPort; } else { readBalanceButton.Enabled = false; readBalanceButton.Text = @"Disconnected"; } Settings.Default.Save(); }
//public abstract bool DeleteSerial(Guid serialGuid); public abstract bool DeleteSerial(int userID, SerialType serialType);
public MaxSerial GetSerial(Guid serialGuid, SerialType serialType) { MaxSerial serial = SerialDao.Instance.GetSerial(serialGuid, serialType); return(serial); }
public abstract MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType type, string data, out bool success);
public static string CreateSerial(string license, string macAddress, string application, string module, SerialType sType, DateTime expiration, string pendrive) { string serial = string.Empty; concat(ref serial, ConvertString(application) + ConvertString(module)); if (sType.HasFlag(SerialType.LICENSE_NAME)) { concat(ref serial, ConvertString(license)); } if (sType.HasFlag(SerialType.MAC_ADDRESS)) { concat(ref serial, ConvertMacAddress(macAddress)); } if (sType.HasFlag(SerialType.EXPIRATION_DATE)) { concat(ref serial, ConvertToString((UInt64)(expiration.Year * 365 + expiration.Month * 31 + expiration.Day))); } if (sType.HasFlag(SerialType.PEN_DRIVE)) { string letter = USBSerialNumber.GetDriveLetterFromName(pendrive); concat(ref serial, ConvertSerialNumber(USBSerialNumber.getSerialNumberFromDriveLetter(letter))); } // Checksum concat(ref serial, ConvertString(serial)); return(serial); }
public MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType serialType) { bool success = false; return(CreateSerial(ownerUserId, expriseDate, serialType, null, out success)); }
public override bool DeleteSerial(int userID, SerialType serialType) { using (SqlQuery query = new SqlQuery()) { query.CommandText = "bx_DeleteSerialByUser"; query.CommandType = System.Data.CommandType.StoredProcedure; query.CreateParameter<int>("@UserID", userID, System.Data.SqlDbType.Int); query.CreateParameter<byte>("@Type", (byte)serialType, System.Data.SqlDbType.TinyInt); return query.ExecuteNonQuery() > 0; } }
public MaxSerial CreateSerial(int ownerUserId, DateTime expriseDate, SerialType serialType, string data, out bool success) { return(SerialDao.Instance.CreateSerial(ownerUserId, expriseDate, serialType, data, out success)); }
public bool DeleteSerial(int userID, SerialType serialType) { return(SerialDao.Instance.DeleteSerial(userID, serialType)); }
public string getPrefix(SerialType serialType) { var prefix = ""; switch (serialType) { case SerialType.ACCOUNT: prefix = "ACC-000-0000"; break; case SerialType.AGENT: prefix = "AGENT-000-0000"; break; case SerialType.BILL: prefix = "BILL-000-0000"; break; case SerialType.INVOICE: prefix = "INC-000-0000"; break; case SerialType.ORDER: prefix = "OR-000-0000"; break; } return prefix; }