예제 #1
0
 public static IList <Picture> GetUserPictures(Guid userId)
 {
     using (var db = new PicshareDbContext())
     {
         return(db.Pictures.Where(p => p.UserId == userId && p.Title != "avatar").ToList());
     }
 }
예제 #2
0
 public static IList <Picture> GetSharedPictures(Guid sharedForUserId)
 {
     using (var db = new PicshareDbContext())
     {
         var pictureIds = db.ShareEntries.Where(e => e.ToUserId == sharedForUserId).Select(s => s.PictureId);
         return(db.Pictures.Where(p => pictureIds.Contains(p.Id)).ToList());
     }
 }
예제 #3
0
 public static IList <PictureComment> GetPictureComments(Guid pictureId)
 {
     using (var db = new PicshareDbContext())
     {
         var com = db.PictureComments.ToList();
         return(db.PictureComments.Where(c => c.PictureId == pictureId).ToList());
     }
 }
예제 #4
0
 public static Board GetUserBoard(Guid userId)
 {
     using (var db = new PicshareDbContext())
     {
         var board = db.Boards.FirstOrDefault(b => b.UserId == userId);
         return(board);
     }
 }
예제 #5
0
        public static async Task SaveShareEntries(IEnumerable <ShareEntry> shareEntries)
        {
            using (var db = new PicshareDbContext())
            {
                foreach (var shareEntry in shareEntries)
                {
                    if (db.ShareEntries.Any(se => se.OwnerUserId == shareEntry.OwnerUserId && se.ToUserId == shareEntry.ToUserId && se.PictureId == shareEntry.PictureId))
                    {
                        continue;
                    }

                    db.ShareEntries.Add(shareEntry);
                }

                await db.SaveChangesAsync();
            }
        }
예제 #6
0
        public static async Task SavePictureComment(PictureComment pictureComment)
        {
            using (var db = new PicshareDbContext())
            {
                if (pictureComment.Id == Guid.Empty)
                {
                    pictureComment.Id = Guid.NewGuid();
                }

                if (pictureComment.CreatedOn == DateTime.MinValue)
                {
                    pictureComment.CreatedOn = DateTime.Now;
                }

                db.PictureComments.Add(pictureComment);
                await db.SaveChangesAsync();
            }
        }
예제 #7
0
        public static async Task <bool> SavePicture(Picture picture)
        {
            using (var db = new PicshareDbContext())
            {
                if (picture.Id == Guid.Empty)
                {
                    picture.Id = Guid.NewGuid();
                }

                if (picture.CreatedOn == DateTime.MinValue)
                {
                    picture.CreatedOn = DateTime.Now;
                }

                if (!db.Pictures.Any(p => p.Id == picture.Id))
                {
                    db.Pictures.Add(picture);
                    await db.SaveChangesAsync();
                }
            }

            return(true);
        }