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); }
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); }