// 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)); }
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)); }
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)); }
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)); }
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)); }
public NoteController() { noteManager = new NoteManager(); userManager = new UserManager(); categoryManager = new CategoryManager(); likedManager = new LikedManager(); }
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())); }
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 })); } } }
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)); }
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 })); } } }
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)); }