コード例 #1
0
        public async Task <GetShortLinkDto> GenerateShortURL(string Url, DateTime?expiredDate = null)
        {
            var dto = new GetShortLinkDto();


            //Check ExpiredDate if is null Add expiredDate 3 Month
            if (expiredDate is null)
            {
                var nowdate = Now();
                expiredDate = nowdate.AddDays(7);
            }

            var baseUrl  = "http://ssml.cc/";
            var shortURL = CheckAndGenerateShortUrl(baseUrl);

            //Add To Medel
            var shortLink = new Models.ShortLink.ShortLink();

            shortLink.LongURL     = Url;
            shortLink.ShortURL    = shortURL;
            shortLink.ExpiredDate = expiredDate.Value.Date;
            shortLink.CreatedById = Guid.Parse(GetUserId());
            shortLink.CreatedDate = Now();

            //Save Change
            await _dBContext.ShortLinks.AddAsync(shortLink);

            await _dBContext.SaveChangesAsync();

            //Map To Dto
            dto = _mapper.Map <GetShortLinkDto>(shortLink);

            //Return
            return(dto);
        }
コード例 #2
0
        public async Task <GetShortLinkDto> GetURL(string URL)
        {
            var shortlinkDto = new GetShortLinkDto();
            var objShortLink = await _dBContext.ShortLinks.Where(x => x.ShortURL == URL && x.ExpiredDate > Now().Date).SingleOrDefaultAsync();

            if (objShortLink != null)
            {
                shortlinkDto = _mapper.Map <GetShortLinkDto>(objShortLink);
            }

            return(shortlinkDto);
        }