/// <summary> /// Queuings the tx number. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typeName">Name of the type. Enums: EnumHelper.TxType, EnumHelper.POType</param> /// <returns>TxNumber</returns> public static string QueuingTxNumber <T>(T typeName) { string query = " 1 = 1 "; string queuingType = string.Empty; switch (typeName.GetType().Name) { case "TxType": EnumHelper.TxType txType = (EnumHelper.TxType)Convert.ChangeType(typeName, typeof(EnumHelper.TxType)); query = "QueuingType = '" + txType.ToString() + "'"; queuingType = txType.ToString(); break; case "POType": EnumHelper.POType poType = (EnumHelper.POType)Convert.ChangeType(typeName, typeof(EnumHelper.POType)); query = "QueuingType = '" + poType.ToString() + "'"; queuingType = poType.ToString(); break; } long queuedTxNumber = 1; using (var ctx = new EF6.RT2020Entities()) { var oQueue = ctx.SystemQueue.SqlQuery( String.Format( "Select * from SystemQueue Where {0}", String.IsNullOrEmpty(query) ? "1 = 1" : query )) .FirstOrDefault(); if (oQueue == null) { oQueue = new EF6.SystemQueue(); oQueue.QueueId = Guid.NewGuid(); oQueue.QueuingType = queuingType; oQueue.LastNumber = "000000000000"; ctx.SystemQueue.Add(oQueue); } queuedTxNumber = Convert.ToInt64(oQueue.LastNumber) + 1; oQueue.LastNumber = queuedTxNumber.ToString(); ctx.SaveChanges(); } return(queuedTxNumber.ToString().PadLeft(12, '0')); }
/// <summary> /// Saves the queuing number. /// </summary> /// <param name="gbCtrl">The gb CTRL.</param> private void SaveQueuingNumber(GroupBox gbCtrl) { for (int i = 0; i < gbCtrl.Controls.Count; i++) { Control ctrl = gbCtrl.Controls[i]; if (ctrl is TextBox) { TextBox txtCtrl = ctrl as TextBox; if (txtCtrl != null) { string queueType = txtCtrl.Name.Remove(0, 3); if (queueType.Length == 3) { using (var ctx = new EF6.RT2020Entities()) { var queue = ctx.SystemQueue.Where(x => x.QueuingType == queueType).FirstOrDefault(); if (queue == null) { queue = new EF6.SystemQueue(); queue.QueueId = Guid.NewGuid(); queue.QueuingType = queueType; queue.LastNumber = "0".PadLeft(12, '0'); ctx.SystemQueue.Add(queue); } if (txtCtrl.Text.All(char.IsNumber)) //if (Common.Utility.IsNumeric(txtCtrl.Text)) { queue.LastNumber = txtCtrl.Text.ToString(); } ctx.SaveChanges(); } } } } } }