Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public void Create(RawUrlEntity rawUrlEntity)
 {
     if (rawUrlEntity == null)
     {
         throw new ArgumentNullException("rawUrlEntity");
     }
     _context.RawUrls.Add(rawUrlEntity);
     _context.SaveChanges();
 }