private Url CheckIfUserShortenedThisUrl(string url, int id) { using (var context = new UrlsDataContext(_connectionString)) { return(context.Urls.Where(u => u.UserId == id).FirstOrDefault(u => u.RealUrl == url)); } }
public IEnumerable <Url> GetUrlsByUser(int id) { using (var context = new UrlsDataContext(_connectionString)) { return(context.Urls.Where(u => u.UserId == id).ToList()); } }
public User GetByEmail(string email) { using (var context = new UrlsDataContext(_connectionString)) { return(context.Users.FirstOrDefault(u => u.Email == email)); } }
public string GetRealUrl(string url) { using (var context = new UrlsDataContext(_connectionString)) { var currentUrl = context.Urls.FirstOrDefault(u => u.ShortUrl == url); if (currentUrl == null) { return(null); } context.ExecuteCommand("UPDATE Urls set TimesUsed = TimesUsed + 1 Where id = {0}", currentUrl.Id); return(currentUrl.RealUrl); } }
public void NewUser(User user, string password) { var salt = PasswordHelper.GenerateSalt(); var hash = PasswordHelper.HashPassword(password, salt); user.PasswordHash = hash; user.PasswordSalt = salt; using (var context = new UrlsDataContext(_connectionString)) { context.Users.InsertOnSubmit(user); context.SubmitChanges(); } }
public Url ShortenUrl(string url, int id) { var newUrl = CheckIfUserShortenedThisUrl(url, id); if (newUrl != null) { return(newUrl); } using (var context = new UrlsDataContext(_connectionString)) { newUrl = new Url { RealUrl = url, ShortUrl = ShortId.Generate(true, false), UserId = id, }; context.Urls.InsertOnSubmit(newUrl); context.SubmitChanges(); return(newUrl); } }