Example #1
0
        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);
        }
Example #2
0
        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);
        }