예제 #1
0
        public async Task <int> AddOrUpdateLink(LinkmirDbContext context)
        {
            int toReturn = 0;

            _link = new LinkmirLinkDbItem(Link);

            if (_link.IsValid())
            {
                var link = await context.Links.FindAsync(_link.ShortLink);

                if (link == null)
                {
                    link = _link;
                    context.Links.Add(link);
                }
                else
                {
                    link.SubmissionCount++;
                }

                await context.SaveChangesAsync();

                ShortLink = link.ShortLink;
                toReturn  = link.SubmissionCount;
            }
            return(toReturn);
        }
예제 #2
0
        public static async Task <LinkStatsDTO> GetLinkStats(LinkmirDbContext context, string shortlink)
        {
            var link = await context.Links.FindAsync(shortlink);

            if (link != null)
            {
                link.AccessCount++;

                await context.SaveChangesAsync();
            }

            var toReturn = new LinkStatsDTO
            {
                Link            = link.Link,
                ShortLink       = link.ShortLink,
                Domain          = link.Domain,
                Subdomain       = link.Subdomain,
                SubmissionCount = link.SubmissionCount,
                AccessCount     = link.AccessCount
            };

            return(toReturn);
        }