/* public members */ public static void CreateUser(string username, string firstName, string lastName, string authCode) { ValidateUsername(username); ValidateName(firstName); ValidateName(lastName); ValidateAuthCode(authCode); using (GalleryContext context = new GalleryContext()) { var usernameToLower = username.ToLower(); var firstNameToLower = firstName.ToLower(); var lastNameToLower = lastName.ToLower(); var dbUser = context.Users.FirstOrDefault(u => u.Username.ToLower() == usernameToLower); if (dbUser != null) { if (dbUser.Username.ToLower() == usernameToLower) { throw new ServerErrorException("Username already exists", "ERR_DUP_USR"); } } dbUser = new User() { Username = usernameToLower, FirstName = firstName, LastName = lastName, AuthCode = authCode }; context.Users.Add(dbUser); context.SaveChanges(); } }
public static void CreateAlbum(AlbumModel album, int userID) { ValidateAlbumName(album.Title); using (GalleryContext context = new GalleryContext()) { var albumNameToLower = album.Title.ToLower(); //var dbUser = context.Users.FirstOrDefault(u => u.Username.ToLower() == usernameToLower); var dbAlbum = context.Albums.FirstOrDefault(a => a.Title.ToLower() == albumNameToLower); if (dbAlbum != null) { if (dbAlbum.Title.ToLower() == albumNameToLower) { throw new ServerErrorException("Album already exists", "ERR_DUP_USR"); } } dbAlbum = new Album() { Title = albumNameToLower, DateCreated = album.DateCreated, DateModified = album.DateModified }; context.Users.Find(userID).Galleries.First().Albums.Add(dbAlbum); context.Albums.Add(dbAlbum); context.SaveChanges(); } }
public static void CreateGallery(string name, string sessionKey) { using (GalleryContext context = new GalleryContext()) { var dbGallery = new Gallery.Models.Gallery() { Name = name }; var userId = context.Users.Where(u => u.SessionKey == sessionKey).FirstOrDefault().ID; context.Users.Find(userId).Galleries.Add(dbGallery); context.SaveChanges(); } }
public static void CreateComment(int? imageId, string text, int userId) { using (GalleryContext context = new GalleryContext()) { var author = context.Users.Find(userId); var image = context.Images.Find(imageId); var dbComment = new Gallery.Models.Comment() { Text=text, Author=author, Image = image }; context.Comments.Add(dbComment); context.SaveChanges(); } }
public static string LoginUser(string username, string authCode, out string firstName, out string lastName) { ValidateUsername(username); ValidateAuthCode(authCode); var context = new GalleryContext(); using (context) { var usernameToLower = username.ToLower(); var user = context.Users.FirstOrDefault(u => u.Username.ToLower() == usernameToLower && u.AuthCode == authCode); if (user == null) { throw new ServerErrorException("Invalid user authentication", "INV_USR_AUTH"); } var sessionKey = GenerateSessionKey((int)user.ID); user.SessionKey = sessionKey; firstName = user.FirstName; lastName = user.LastName; context.SaveChanges(); return sessionKey; } }
public static void LogoutUser(string sessionKey) { ValidateSessionKey(sessionKey); var context = new GalleryContext(); using (context) { var user = context.Users.FirstOrDefault(u => u.SessionKey == sessionKey); if (user == null) { throw new ServerErrorException("Invalid user authentication", "INV_USR_AUTH"); } user.SessionKey = null; context.SaveChanges(); } }