private int GetOrCreateUrlIdFromUri(Uri uri) { if (uri == null) { throw new ArgumentNullException("uri"); } if (string.IsNullOrWhiteSpace(uri.Host)) { throw new ArgumentNullException("uri.Host"); } var rawUrlEntity = _unitOfWork .RawUrlRepository .RawUrls .SingleOrDefault(x => x.Data.ToLower() == uri.OriginalString.ToLower()); if (rawUrlEntity != null) { return(rawUrlEntity.Id); } rawUrlEntity = new RawUrlEntity() { Data = uri.OriginalString, Timestamp = DateTime.UtcNow, RawHostId = GetOrCreateHostIdFromUri(uri) }; _unitOfWork .RawUrlRepository .Create(rawUrlEntity); return(rawUrlEntity.Id); }
public void Create(RawUrlEntity rawUrlEntity) { if (rawUrlEntity == null) { throw new ArgumentNullException("rawUrlEntity"); } _context.RawUrls.Add(rawUrlEntity); _context.SaveChanges(); }