public ActionResult Delete([DataSourceRequest] DataSourceRequest request, AdvertisementAdministrationViewModel advertisement) { if (advertisement != null) { var advertisementFromDb = this.advertisements.GetById(advertisement.Id).FirstOrDefault(); foreach (var commentId in advertisementFromDb.Comments.Select(c => c.Id).ToList()) { var comments = this.comments .GetAll() .Where(c => c.AdvertisementId == advertisementFromDb.Id) .Select(c => c.Id) .ToList(); foreach (var id in comments) { var comment = this.comments.GetById(id).FirstOrDefault(); this.comments.Remove(comment); } this.comments.Save(); } this.advertisements.Remove(advertisementFromDb); this.advertisements.Save(); } return this.Json(new[] { advertisement }.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public ActionResult Update([DataSourceRequest] DataSourceRequest request, AdvertisementAdministrationViewModel advertisement) { if (advertisement != null && this.ModelState.IsValid) { if (string.IsNullOrWhiteSpace(advertisement.Title)) { this.ModelState.AddModelError("Title", "Заглавието на обява е задължително."); } if (string.IsNullOrWhiteSpace(advertisement.Description)) { this.ModelState.AddModelError("Description", "Описанието на обява е задължително."); } var advertisementFromDb = this.advertisements.GetById(advertisement.Id).FirstOrDefault(); advertisementFromDb.Title = advertisement.Title; advertisementFromDb.Description = advertisement.Description; advertisementFromDb.Price = advertisement.Price; advertisementFromDb.CategoryId = advertisement.Category.Id; advertisementFromDb.TownId = advertisement.Town.Id; this.advertisements.Save(); } return this.Json(new[] { advertisement }.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }