Пример #1
0
        public string GetOrAllocateMapping(string value, int projectNumber, UIDType uidType)
        {
            using (var con = _database.Server.GetConnection())
            {
                con.Open();

                var cmd =
                    _server.GetCommand(
                        "SELECT ReleaseUID from UIDMapping WHERE ProjectNumber = @ProjectNumber AND UIDType = @UIDType AND PrivateUID = @PrivateUID",
                        con);

                _server.AddParameterWithValueToCommand("@ProjectNumber", cmd, projectNumber);
                _server.AddParameterWithValueToCommand("@UIDType", cmd, uidType);
                _server.AddParameterWithValueToCommand("@PrivateUID", cmd, value);

                var result = cmd.ExecuteScalar();

                if (result == DBNull.Value || result == null)
                {
                    var m = new UIDMapping();
                    m.UIDType             = uidType;
                    m.ProjectNumber       = projectNumber;
                    m.PrivateUID          = value;
                    m.ReleaseUID          = GetKindaUid();
                    m.IsExternalReference = false;

                    InsertMapping(m);

                    return(m.ReleaseUID);
                }

                return(result.ToString());
            }
        }
Пример #2
0
		public static object GetNextId(UIDType uidType, bool appendDomain)
		{
			object id;
			switch (uidType)
			{
				case UIDType.TimeSpan:
					id = TimeSpanUIDGenerator.GetInstance().GetNextId();
					break;
				case UIDType.Guid:
					id = GuidUIDGenerator.GetInstance().GetNextId();
					break;
				default:
					id = TimeSpanUIDGenerator.GetInstance().GetNextId();
					break;
			}

			if (appendDomain)
			{
				id = domain + id;
			}
			return id;
		}
Пример #3
0
		public static object GetNextId(UIDType uidType)
		{
			return GetNextId(t, false);
		}
Пример #4
0
 public UIDInfo(UIDType uidType, int objectID)
 {
     TypeID   = (int)uidType;
     ObjectID = objectID.ToString();
 }