public ActionResult Edit(string id) { ObjectId objectId = new ObjectId(id); var applicationUser = this.userManager.GetUserAsync(HttpContext.User).Result; var user = this.mongoContext.Users.Find(u => u.Id.Equals(applicationUser.ActorId)).First(); if (user.Curriculum.Equals(this.emptyId) || !user.Curriculum.Equals(objectId)) { TempData["ErrorMessage"] = "You can't edit this curriculum."; return(RedirectToAction(nameof(Index))); } var curriculum = this.mongoContext.Curriculums.Find(c => c.Id.Equals(objectId)).First(); var eCurriculum = new CreateCurriculumViewModel { Name = curriculum.Name, Surname = curriculum.Surname, Titles = string.Join(",", curriculum.Titles.ToArray()), Knowledges = string.Join(",", curriculum.Knowledges.ToArray()) }; return(View(eCurriculum)); }
public ActionResult Create(CreateCurriculumViewModel collection) { if (ModelState.IsValid) { try { // TODO: Add insert logic here var applicationUser = this.userManager.GetUserAsync(HttpContext.User).Result; var user = this.mongoContext.Users.Find(u => u.Id.Equals(applicationUser.ActorId)).First(); if (!user.Curriculum.Equals(this.emptyId)) { TempData["Empty"] = "false"; TempData["ErrorMessage"] = "You have already a curriculum."; return(RedirectToAction(nameof(Index))); } Curriculum curriculum = new Curriculum { Id = ObjectId.GenerateNewId(), Name = collection.Name, Surname = collection.Surname, Titles = collection.Titles.Split(","), Knowledges = collection.Knowledges.Split(",") }; this.mongoContext.Curriculums.InsertOne(curriculum); UpdateDefinition <User> updateDefinition = Builders <User> .Update.Set(u => u.Curriculum, curriculum.Id); this.mongoContext.Users.FindOneAndUpdate(u => u.Id.Equals(user.Id), updateDefinition); TempData["Empty"] = "false"; return(RedirectToAction(nameof(Index))); } catch { return(View()); } } return(View(collection)); }
public ActionResult Edit(string id, CreateCurriculumViewModel collection) { if (ModelState.IsValid) { try { // TODO: Add update logic here ObjectId objectId = new ObjectId(id); var applicationUser = this.userManager.GetUserAsync(HttpContext.User).Result; var user = this.mongoContext.Users.Find(u => u.Id.Equals(applicationUser.ActorId)).First(); if (user.Curriculum.Equals(this.emptyId) || !user.Curriculum.Equals(objectId)) { TempData["ErrorMessage"] = "You can't edit this curriculum."; return(RedirectToAction(nameof(Index))); } UpdateDefinition <Curriculum> update = Builders <Curriculum> .Update.Set(c => c.Name, collection.Name) .Set(c => c.Surname, collection.Surname) .Set(c => c.Titles, collection.Titles.Split(",")) .Set(c => c.Knowledges, collection.Knowledges.Split(",")); this.mongoContext.Curriculums.FindOneAndUpdate(c => c.Id.Equals(objectId), update); return(RedirectToAction(nameof(Index))); } catch { return(View()); } } return(View()); }