Example #1
0
        private String createSerialNo(IObjectProxy proxy, Property property)
        {
            var    str        = property.Format;
            var    nostrs     = str.Split(new char[] { '[', ']' }, StringSplitOptions.RemoveEmptyEntries);
            string Fomate     = "";
            int    len        = 0;
            var    dataFormat = "";
            int    prelen     = 0;

            foreach (var item in nostrs)
            {
                if (item == "S")
                {
                }
                else if (item[0] == 'S')
                {
                    //时间
                    var strs = item.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    len = System.Convert.ToInt32(strs[0].Substring(1));
                    if (strs.Length > 1)
                    {
                        prelen = System.Convert.ToInt32(strs[1]);
                    }
                }
                else if (item[0] == 'D')
                {
                    var date = new Soway.DB.DBContext(GetSqlCon(proxy.Model).ToString()).GetServerDateTime().ToString(item.Substring(1));
                    Fomate += date;
                }
                else if (item[0] == 's')
                {
                    Fomate += item.Substring(1);
                }
                else
                {
                    Fomate += item.Trim();
                }
            }
            string getPreStr = Fomate;

            if (prelen == 0)
            {
                prelen = Fomate.Length;
            }
            if (string.IsNullOrEmpty(Fomate) == false)
            {
                getPreStr = Fomate.Substring(0, prelen);
            }
            //   //// // System.Diagnostics.Trace.WriteLine("preLen:" + getPreStr);
            var s = new Soway.DB.DBContext(GetSqlCon(proxy.Model).ToString()).GetSerialNo(getPreStr, len, "");

            return(s.Insert(prelen, Fomate.Substring(prelen, Fomate.Length - prelen)));
        }