示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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());
        }