示例#1
0
        public async Task <VisitorResponseDto> RegisterVisitor(VisitorRequestDto visitorRequest)
        {
            Domain.Entities.ShortUrl shortUrl = _shortUrlRepository.GetByFilter(x => x.ShortURL == visitorRequest.ShortUrl).Result.FirstOrDefault();

            var newVisitor = new Domain.Entities.Visitor
            {
                Date      = DateTime.Now,
                IsDeleted = false,
                Ip        = visitorRequest.Ip,
                UserAgent = visitorRequest.UserAgent,
                ShortUrl  = shortUrl
            };

            await _visitorRepository.Create(newVisitor);

            try
            {
                _visitorRepository.Commit();

                return(new VisitorResponseDto
                {
                    Message = "Visitor registered",
                    Success = true
                });
            }
            catch (Exception ex)
            {
                _visitorRepository.Rollback();
                throw ex;
            }
        }
示例#2
0
 private bool ShortUrlExists(string url)
 {
     return(_shortUrlRepository.GetByFilter(x => x.ShortURL.Equals(url)).Result.Any());
 }