コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: MongoDbContext.cs プロジェクト: vnavka/AdvertSite
 public void AddAdvert(Advert advert)
 {
     db.GetCollection <Advert>("Advert").InsertOneAsync(advert).Wait();
 }
コード例 #3
0
        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);
        }
コード例 #4
0
 public void AddAdvert(Advert advert)
 {
     db.GetCollection<Advert>("Advert").InsertOneAsync(advert).Wait();
 }