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()); } }
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; }
public static object GetNextId(UIDType uidType) { return GetNextId(t, false); }
public UIDInfo(UIDType uidType, int objectID) { TypeID = (int)uidType; ObjectID = objectID.ToString(); }