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);
        }