如何创建自动ID生成并允许用户创建手动ID

时间:2017-06-13 06:45:00

标签: c# c#-4.0 auto-increment

如何使用前缀创建自动增量ID,然后按格式

运行后者

(E1706130001)

E作为前缀值170613作为(yyMMdd)0001运行字母并且还允许用户创建手册ID示例格式

Ety433,TOI23423324

依此类推,但事情是,当我使用自动增量代码时,它不应受用户手册输入ID的影响 我的代码在下面,它在子串行中给出错误(索引越界)

我希望当用户只输入7字母以下的示例ID TRE12时,可能会发生这种情况,现在传递给substring(0,7)的值在这里我发现问题请帮助我处理这个问题

module.exports = function(user, segment) {
  let keys = Object.keys(segment.condition);
  keys.forEach(function(key) {                
    if(user[key] === segment.condition[key]) {
      return false;
    } 
  }) 

  return true;
}

以下代码适用于autoid和手动ID

            string kempty =null;          
            string autoiditem = "ID";
            string idname = "";
            try
            {

                var varbran = cnx.employeeidprefix_master.Select(x => new { x.IDName }).ToList();

                if (varbran.Count > 0)
                {
                    idname = varbran.ToString();                  
                }

                DateTime dt = DateTime.Today;


                string dtS = dt.ToString("yyMMdd");
                kempty = dtS;

                var varcountid = cnx.employee_master.Where(p => p.DOJ == dt.Date).Select(c => new { c.EmployeeID }).ToList();//.Select(m => m.Maintenance_ID.Substring(0, 1),m);
                string kjemplyeeid,kksubstring,kcheck;
                if (varcountid.Count > 0)
                {
                    foreach (var ch in varcountid)
                    {
                        kjemplyeeid = ch.EmployeeID;
                        kksubstring = kjemplyeeid.Substring(1, 10);
                        kcheck = txtempid.Text.Substring(0, 7);

                        if (kjemplyeeid == idname + dtS)
                        {

                            if (Convert.ToInt32(kksubstring) > maxval)
                            {
                                maxval = Convert.ToInt32(kksubstring);
                            }
                        }

                    }


                    autoiditem = idname + (Convert.ToInt32( maxval ) + Convert.ToInt32( 1 ));
                }

                else
                {
                    autoiditem = idname + kempty + "0001";
                }


            }
            catch (Exception ex)
            {

            }
            finally
            {
                txtempid.Text = autoiditem;
            }

先谢谢.....

0 个答案:

没有答案