Ejemplo n.º 1
0
        /* 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();
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
0
        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();
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
0
 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();
     }
 }