protected string MappingID(string id, bool saveIfNotExist = false) { if (id == null) { return(null); } string result; if (id.StartsWith(Id)) { result = Regex.Replace(BitConverter.ToString(Hasher.Hash(id.ToString(), HashAlg.MD5)), "-", "").ToLower(); } else { result = FilesDbContext.ThirdpartyIdMapping .Where(r => r.HashId == id) .Select(r => r.Id) .FirstOrDefault(); } if (saveIfNotExist) { var newMapping = new DbFilesThirdpartyIdMapping { Id = id, HashId = result, TenantId = TenantID }; FilesDbContext.ThirdpartyIdMapping.Add(newMapping); FilesDbContext.SaveChanges(); } return(result); }
protected object MappingID(object id, bool saveIfNotExist) { if (id == null) { return(null); } var isNumeric = int.TryParse(id.ToString(), out var n); if (isNumeric) { return(n); } object result; if (id.ToString().StartsWith("sbox") || id.ToString().StartsWith("box") || id.ToString().StartsWith("dropbox") || id.ToString().StartsWith("spoint") || id.ToString().StartsWith("drive") || id.ToString().StartsWith("onedrive")) { result = Regex.Replace(BitConverter.ToString(Hasher.Hash(id.ToString(), HashAlg.MD5)), "-", "").ToLower(); } else { result = Query(FilesDbContext.ThirdpartyIdMapping) .Where(r => r.HashId == id.ToString()) .Select(r => r.Id) .FirstOrDefault(); } if (saveIfNotExist) { var newItem = new DbFilesThirdpartyIdMapping { Id = id.ToString(), HashId = result.ToString() }; FilesDbContext.AddOrUpdate(r => r.ThirdpartyIdMapping, newItem); } return(result); }