Exemple #1
0
        public async Task <int> DeleteAsync(Ulinker existingUrl)
        {
            using var connection = new NpgsqlConnection(_urlSettings.ConnString);
            var affectedRows = await connection.DeleteAsync <Ulinker>(existingUrl);

            return(affectedRows);
        }
Exemple #2
0
        /// <summary>
        /// Maps the Url Request object to the Domain Entities
        /// </summary>
        /// <param name="urlRequest"></param>
        /// <returns>Ulinker object</returns>
        private async Task <Ulinker> mapToDomainAsync(string originalUrl)
        {
            string shortUrlName = await GenerateShortName();

            var baseUrl = $"{_accessor.HttpContext.Request.Scheme}://{_accessor.HttpContext.Request.Host.Value.ToString()}";

            var newUrl = new Ulinker
            {
                id           = Guid.NewGuid(),
                UrlShortName = shortUrlName,
                OriginalUrl  = originalUrl,
                ShortenUrl   = $"{baseUrl}/{shortUrlName}",
                createdDate  = DateTimeOffset.UtcNow.DateTime
            };

            return(newUrl);
        }
Exemple #3
0
 public async Task CreateUrlAsync(Ulinker newUrl)
 {
     //using var connection = new NpgsqlConnection(_configuration.GetConnectionString("DefaultConnection"));
     using var connection = new NpgsqlConnection(_urlSettings.ConnString);
     await connection.InsertAsync <Ulinker>(newUrl);
 }