Exemple #1
0
        public async Task UpdateCourseDesignAsync(CourseDesignViewModel model)
        {
            await UpdateAsync(model.CourseDesign);

            var courseSeminars = await _context.CourseSeminars.ToListAsync();

            model.CheckList.ForEach(async item =>
            {
                var existingEntry = courseSeminars
                                    .FirstOrDefault(x => x.CourseDesignId == model.CourseDesign.CourseDesignId &&
                                                    x.SeminarId == item.Id);
                if (!item.IsSelected && existingEntry != null)
                {
                    await RemoveAsync(existingEntry);
                }

                if (item.IsSelected && existingEntry == null)
                {
                    CourseSeminar cs = new CourseSeminar()
                    {
                        CourseDesignId = model.CourseDesign.CourseDesignId,
                        SeminarId      = item.Id
                    };
                    _context.Add(cs);
                }
            });
            await _context.SaveChangesAsync();
        }
Exemple #2
0
        public async Task <IActionResult> Edit(int id, CourseDesignViewModel model)
        {
            int courseDesignId = model.CourseDesign.CourseDesignId;

            if (id != courseDesignId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (model.Uid != "")
                {
                    model.CourseDesign.Name = model.CourseDesign.Name.Prepend(model.Uid);
                }
                try
                {
                    await _db.UpdateCourseDesignAsync(model);
                }
                catch (Exception)
                {
                    return(NotFound());
                }
                return(Redirect(model.LastPage));
            }
            return(View(model));
        }
Exemple #3
0
        public async Task <IActionResult> DeleteConfirmed(CourseDesignViewModel model)
        {
            var courseDesign = await _db.GetAsync <CourseDesign>(model.CourseDesign.CourseDesignId);

            await _db.RemoveCourseDesignAsync(courseDesign);

            return(Redirect(model.LastPage));
        }
Exemple #4
0
        public async Task <IActionResult> Create(CourseDesignViewModel model)
        {
            if (ModelState.IsValid)
            {
                await _db.AddCourseDesignAsync(model);

                return(Redirect(model.LastPage));
            }
            return(View(model));
        }
        public async Task Create_stores_new_CourseDesign()
        {
            var courseDesignView = new CourseDesignViewModel(CourseDesign7, "http://www.completevocaltraining.nl")
            {
                CheckList = new List <CheckedId>()
            };

            await Controller.Create(courseDesignView);

            Resultcontext.CourseDesigns.Should().HaveCount(4);
        }
        public async Task Edit_returns_NotFound_if_Id_changes()
        {
            var cd = Context.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 1);

            var courseDesignView = new CourseDesignViewModel {
                CourseDesign = cd, CheckList = new List <CheckedId>()
            };

            var result = await Controller.Edit(8, courseDesignView);

            result.Should().BeOfType <NotFoundResult>();
        }
        public async Task Create_stores_CourseDesign_with_correct_properties()
        {
            var courseDesignView = new CourseDesignViewModel(CourseDesign7, "http://www.completevocaltraining.nl")
            {
                CheckList = new List <CheckedId>()
            };

            await Controller.Create(courseDesignView);

            Resultcontext.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 7)
            .Should().BeEquivalentTo(CourseDesign7);
        }
        public async Task Edit_returns_NotFound_if_concurrencyException_occurs()
        {
            var cd = await Context.CourseDesigns.FirstOrDefaultAsync(x => x.CourseDesignId == 1);

            var seminars = await Context.Seminars.ToListAsync();

            var courseDesignView = new CourseDesignViewModel(cd, seminars);

            Context.Remove(cd);
            await Context.SaveChangesAsync();

            var result = await Controller.Edit(1, courseDesignView);

            result.Should().BeOfType <NotFoundResult>();
        }
        public async Task Edit_updates_CourseDesign_with_correct_CourseSeminars()
        {
            var cd       = Context.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 1);
            var seminars = await Context.Seminars.ToListAsync();

            var courseDesignView = new CourseDesignViewModel(cd, seminars, "", "http://www.completevocaltraining.nl");

            courseDesignView.CheckList[2].IsSelected = false;
            courseDesignView.CheckList[1].IsSelected = false;
            courseDesignView.CheckList[0].IsSelected = true;

            await Controller.Edit(1, courseDesignView);

            Resultcontext.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 1)?.CourseSeminars.Should()
            .HaveCount(1).And.Contain(x => x.Seminar.Name == "Seminar3");
        }
        public async Task Edit_returns_View_if_modelstate_not_valid()
        {
            var controller = Controller;

            controller.ViewData.ModelState.AddModelError("key", "some error");
            var courseDesignView = new CourseDesignViewModel
            {
                CourseDesign = new CourseDesign()
                {
                    CourseDesignId = 1
                }, CheckList = new List <CheckedId>()
            };

            var result = await controller.Edit(1, courseDesignView);

            result.Should().BeOfType <ViewResult>();
        }
Exemple #11
0
        public async Task AddCourseDesignAsync(CourseDesignViewModel model)
        {
            await AddAsync(model.CourseDesign);

            foreach (var item in model.CheckList)
            {
                if (item.IsSelected)
                {
                    CourseSeminar cs = new CourseSeminar()
                    {
                        CourseDesignId = model.CourseDesign.CourseDesignId,
                        SeminarId      = item.Id
                    };
                    _context.Add(cs);
                }
            }
            await _context.SaveChangesAsync();
        }
        public async Task Edit_updates_CourseDesign_with_correct_properties()
        {
            var courseDesign = Context.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 1);

            courseDesign.Name        = "Effects";
            courseDesign.Description = "Learn about effects";

            var courseDesignView = new CourseDesignViewModel(courseDesign, "http://www.completevocaltraining.nl")
            {
                CheckList = new List <CheckedId>()
            };

            await Controller.Edit(1, courseDesignView);

            Resultcontext.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 1)
            .Should().BeEquivalentTo(courseDesign, options => options
                                     .Excluding(cd => cd.CourseSeminars));
        }
        public async Task Create_stores_CourseDesign_with_correct_CourseSeminars()
        {
            var seminars = await Context.Seminars.ToListAsync();

            var courseDesignView = new CourseDesignViewModel(seminars, "http://www.completevocaltraining.nl")
            {
                CourseDesign = CourseDesign7
            };

            courseDesignView.CheckList[0].IsSelected = true;
            courseDesignView.CheckList[2].IsSelected = true;

            await Controller.Create(courseDesignView);

            var result = Resultcontext.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 7);

            result?.CourseSeminars.Should().HaveCount(2)
            .And.Contain(x => x.Seminar.Name == "Seminar1")
            .And.Contain(x => x.Seminar.Name == "Seminar3");
        }