Exemplo n.º 1
0
        //   Bir kategor silindiği zaman ona bağlı olan şeyleride silmemzi lazım bunun için ise delete methodunu eziyoruz
        public override int Delete(Category category)//ManagerBase içindeki delete methodunu override ile eziyoruz
        {
            NoteManager    noteManager = new NoteManager();
            LikedManager   liked       = new LikedManager();
            CommentManager comment     = new CommentManager();

            //Kategori ile işkişi notlarını silinmesi gerekiyor
            foreach (Note note in category.Notes.ToList())//notların içinde dönerek onları delete edicez
            {
                //note ile ilişkili like ların silinmesi
                foreach (Liked like in note.Likes.ToList())
                {
                    liked.Delete(like);
                }

                //Notu ile ilişkili commentlerin silinmesi
                foreach (Comment commet in note.Comments.ToList())
                {
                    comment.Delete(commet);
                }

                noteManager.Delete(note);
            }

            return(base.Delete(category));
        }
Exemplo n.º 2
0
        public ActionResult MyLikedNotes()
        {
            using (LikedManager likedManager = new LikedManager())
            {
                var myLikedNotes = likedManager.ListQueryable().Include(x => x.likedUser).Include(x => x.Shareing).Where(x => x.likedUser.Id == CurrentSession.shareBookUser.Id).Select(x => x.Shareing).Include(x => x.Category).Include(x => x.Owner).Select(x => new SharingViewModel()
                {
                    Category     = x.Category,
                    Comments     = x.Comments,
                    Likes        = x.Likes,
                    Title        = x.Title,
                    ImageUrl     = x.ImageUrl,
                    ShareContent = x.ShareContent,
                    Owner        = x.Owner,
                    ModifiedOn   = x.ModifiedOn,
                    CreatedOn    = x.CreatedOn,
                    ModifiedBy   = x.ModifiedBy,
                    Id           = x.Id,
                    CategoryId   = x.CategoryId,
                    isDraft      = x.isDraft,
                    isDelete     = x.isDelete,
                    LikeCount    = x.LikeCount,
                }).OrderByDescending(x => x.ModifiedOn).ToList();

                return(View("Index", myLikedNotes));
            }
        }
        //DataAccessLayer.EntityFramework içerisindeki Repository içerisindeki Note class'ına erişiyoruz
        //private Repository<Note> repo_note = new Repository<Note>();

        /*
         * //Notları alıp listedik
         * public List<Note> GetAllNote()
         * {
         *  return repo_note.List();
         * }
         *
         * public IQueryable<Note> GetAllNoteQueryable()
         * {
         *  return repo_note.ListQueryable();
         * }
         */


        public override int Delete(Note notes)
        {
            //Note ile ilişkili olanların silinmesi gerekir.

            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            //En sonda Kategoriyi siliyoruz.
            //Listeyi ayarlamak için ToList diyoruz.


            //O notlarla alakalı like silmemiz gerekir.
            foreach (Liked like in notes.Likes.ToList())
            {
                likedManager.Delete(like);
            }

            //O notlarla alakalı yorumların silmemiz gerekir.
            foreach (Comment comment in notes.Comments.ToList())
            {
                commentManager.Delete(comment);
            }


            //en sonda notların siliniyor.
            return(base.Delete(notes));
        }
Exemplo n.º 4
0
        public override int Delete(Category category)
        {
            NoteManager    noteManager    = new NoteManager();
            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            // Kategori ile ilişkili notların silinmesi gerekiyor.
            foreach (Note note in category.Notes.ToList())
            {
                // Note ile ilişikili like'ların silinmesi.
                foreach (Liked like in note.Likes.ToList())
                {
                    likedManager.Delete(like);
                }

                // Note ile ilişkili comment'lerin silinmesi
                foreach (Comment comment in note.Comments.ToList())
                {
                    commentManager.Delete(comment);
                }

                noteManager.Delete(note);
            }

            return(base.Delete(category));
        }
Exemplo n.º 5
0
        public override int Delete(Category category)
        {
            //1)Yöntem: Kategori ile ilişkili notların silinmesi gerekiyor.
            // Burada override edildi çünkü uyguulamalar arası köprü gören kısım burası burda olması daha doğru
            //2)Yöntem: Dbtarafında Database Diagramda oluşan yapı üzerinde ilişkili okların üerini tıklayarak properties tarafıdan delete action'ı cascade et.
            //3) Yöntem: Databese in oluştuğu yer (DatabaseContext) buraya OnModelCreating override ederek FluentApi şeklinde oluşturulabilir.

            NoteManager    noteManager    = new NoteManager();
            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            foreach (Note note in category.Notes.ToList())
            {
                foreach (Liked like in note.Likes.ToList())
                {
                    likedManager.Delete(like);
                }

                foreach (Comment comment in note.Comments.ToList())
                {
                    commentManager.Delete(comment);
                }

                noteManager.Delete(note);
            }

            return(base.Delete(category));
        }
Exemplo n.º 6
0
        public override int Delete(Category category)
        {
            ProductManager productManager = new ProductManager();
            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            // Kategori ile ilişkili notların silinmesi gerekiyor.
            foreach (Product product in category.Products.ToList())
            {
                // Note ile ilişikili like'ların silinmesi.
                foreach (Liked like in product.Likes.ToList())
                {
                    likedManager.Delete(like);
                }

                // Note ile ilişkili comment'lerin silinmesi
                foreach (Comment comment in product.Comments.ToList())
                {
                    commentManager.Delete(comment);
                }

                productManager.Delete(product);
            }

            return(base.Delete(category));
        }
Exemplo n.º 7
0
 public NoteController()
 {
     noteManager     = new NoteManager();
     userManager     = new UserManager();
     categoryManager = new CategoryManager();
     likedManager    = new LikedManager();
 }
Exemplo n.º 8
0
        public ActionResult MyLikedNotes()
        {
            LikedManager likedManager = new LikedManager();
            var          notes        = likedManager.ListQueryable().Include("LikedUser").Include("Note").Where(
                x => x.LikedUser.Id == CurrentSession.User.Id).Select(
                x => x.Note).Include("Category").Include("Owner").OrderByDescending(
                x => x.ModifiedOn);

            return(View("Index", notes.ToList()));
        }
Exemplo n.º 9
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            using (LikedManager likedManager = new LikedManager())
            {
                using (SharingManager sharingManager = new SharingManager())
                {
                    int     result = 0;
                    Liked   like   = likedManager.Find(x => x.Shareing.Id == noteid && x.likedUser.Id == CurrentSession.shareBookUser.Id && !x.likedUser.isDeleted && !x.Shareing.isDelete);
                    Sharing share  = sharingManager.Find(x => x.Id == noteid && !x.Owner.isDeleted && !x.isDelete && !x.Owner.isDeleted);


                    if (like != null && liked == false)
                    {
                        result = likedManager.Delete(like);
                    }
                    else if (like == null && liked == true)
                    {
                        result = likedManager.Insert(new Liked()
                        {
                            likedUser = CurrentSession.shareBookUser,
                            Shareing  = share
                        });
                    }

                    if (result > 0)
                    {
                        if (liked)
                        {
                            share.LikeCount++;
                        }
                        else
                        {
                            share.LikeCount--;
                        }
                        sharingManager.Update(share);

                        return(Json(new { hasError = false, errorMessage = string.Empty, result = share.Likes.Where(x => !x.likedUser.isDeleted).ToList().Count }));
                    }


                    return(Json(new { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi", result = share.Likes.Where(x => !x.likedUser.isDeleted).ToList().Count }));
                }
            }
        }
Exemplo n.º 10
0
        public override int Delete(Category category)
        {
            ProductManager prdManager     = new ProductManager();
            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            foreach (Product prd in category.Products.ToList())
            {
                foreach (Liked like in prd.Likes.ToList())
                {
                    likedManager.Delete(like);
                }
                foreach (Comment comment in prd.Comments.ToList())
                {
                    commentManager.Delete(comment);
                }
                prdManager.Delete(prd);
            }
            return(base.Delete(category));
        }
Exemplo n.º 11
0
        public ActionResult GetLiked(int?[] ids)
        {
            using (LikedManager likedManager = new LikedManager())
            {
                List <int> likedSharingId = new List <int>();
                if (ids != null)
                {
                    if (CurrentSession.shareBookUser != null)
                    {
                        likedSharingId = likedManager.List(x => x.likedUser.Id == CurrentSession.shareBookUser.Id && ids.Contains(x.Shareing.Id)).Where(x => !x.likedUser.isDeleted).Select(x => x.Shareing.Id).ToList();

                        return(Json(new { Result = likedSharingId }));
                    }

                    return(Json(new { Result = likedSharingId }));
                }
                else
                {
                    return(Json(new { Result = likedSharingId }));
                }
            }
        }
Exemplo n.º 12
0
        public override int Delete(Category category)
        {
            NoteManager    noteManager    = new NoteManager();
            LikedManager   likedManager   = new LikedManager();
            CommentManager commentManager = new CommentManager();

            foreach (var note in category.Notes.ToList())
            {
                foreach (var liked in note.Likeds.ToList())
                {
                    likedManager.Delete(liked);
                }

                foreach (var comment in note.Comments.ToList())
                {
                    commentManager.Delete(comment);
                }

                noteManager.Delete(note);
            }

            return(base.Delete(category));
        }