public ActionResult AdvertCreate(Advert model,HttpPostedFileBase image) { var cats = MongoDbContext.db.GetCollection<Category>("Category").Find(n => true).ToListAsync().GetAwaiter().GetResult(); ViewBag.CategoryId = new SelectList(cats, "Id", "Name"); //attempt to add the advert if(ModelState.IsValid) { bool addSucceded; try { if (image != null && image.IsImage()) { image.SaveAs(Server.MapPath("~/Content/Images/") + image.FileName); model.Photo = image.FileName; } else model.Photo = null; model.Id = ObjectId.GenerateNewId().ToString(); model.PublicationDate = DateTime.Now; model.ViewNumber = 0; //model.VIP = false; model.UserId = MongoDbContext.getUser(User.Identity.Name).Id.ToString(); context.AddAdvert(model); addSucceded = true; } catch (Exception e) { addSucceded = false; } if (addSucceded) return RedirectToAction("AdvertCreate", new { Message = ManageMessageId.ChangePasswordSuccess }); else ModelState.AddModelError("", "Ошибка добавления объявления"); } // If we got this far, something failed, redisplay form return View(model); }
public void AddAdvert(Advert advert) { db.GetCollection <Advert>("Advert").InsertOneAsync(advert).Wait(); }
public ActionResult Edit(Advert model, HttpPostedFileBase image) { var cats = MongoDbContext.db.GetCollection<Category>("Category").Find(n => true).ToListAsync().GetAwaiter().GetResult(); var old = MongoDbContext.db.GetCollection<Advert>("Advert").Find(m => m.Id == model.Id).FirstAsync().GetAwaiter().GetResult(); ViewBag.CategoryId = new SelectList(cats, "Id", "Name", model.CategoryId); //attempt to edit the advert if (ModelState.IsValid) { bool editSucceded; try { if (image != null && image.IsImage()) { image.SaveAs(Server.MapPath("~/Content/Images/") + image.FileName); model.Photo = image.FileName; } else model.Photo = old.Photo; model.PublicationDate = old.PublicationDate; model.ViewNumber = old.ViewNumber; model.UserId = old.UserId; //model.VIP = old.VIP; MongoDbContext.db.GetCollection<Advert>("Advert").ReplaceOneAsync(m => m.Id == model.Id, model).GetAwaiter().GetResult(); editSucceded = true; } catch (Exception e) { editSucceded = false; } if (editSucceded) return RedirectToAction("Edit", new { Message = ManageMessageId.Success }); else ModelState.AddModelError("", "Ошибка добавления объявления"); } // If we got this far, something failed, redisplay form return View(model); }
public void AddAdvert(Advert advert) { db.GetCollection<Advert>("Advert").InsertOneAsync(advert).Wait(); }