Пример #1
0
        public ActionResult Create([Bind(Include = "Name,Description,StartDate,EndDate")] CreateModuleViewModel moduleModel, int?id)
        {
            if (ModelState.IsValid && id != null)
            {
                var course = db.Courses.FirstOrDefault(c => c.Id == id);
                if (course == null)
                {
                    return(HttpNotFound());
                }

                var module = new ModuleModel {
                    Course      = course,
                    Name        = moduleModel.Name,
                    Description = moduleModel.Description,
                    StartDate   = moduleModel.StartDate,
                    EndDate     = moduleModel.EndDate,
                };

                db.Modules.Add(module);
                db.SaveChanges();
                return(RedirectToAction("Overview", "Course", new { id }));
            }

            return(View(moduleModel));
        }
Пример #2
0
        public ActionResult Create(int?courseId)
        {
            if (courseId == null)
            {
                return(RedirectToAction("Index", "Courses", null));
            }

            else
            {
                var course = db.Courses.FirstOrDefault(c => c.Id == courseId);
                if (course == null)
                {
                    return(RedirectToAction("Index", "Courses", null));
                }

                var model = new CreateModuleViewModel
                {
                    CourseName  = course.Name,
                    CourseStart = course.StartDate.ToShortDateString(),
                    CourseEnd   = course.EndDate.ToShortDateString(),
                    StartDate   = DateTime.Today,
                    EndDate     = DateTime.Today,
                    CourseId    = (int)courseId
                };

                return(View(model));
            }
        }
Пример #3
0
        public ActionResult EditModal(int?id)
        {
            Session["service"] = _service;

            BootstrapModalViewModel  modelOut   = new BootstrapModalViewModel();
            CreateModuleViewModel    editModule = new CreateModuleViewModel();
            BootstrapButtonViewModel button     = new BootstrapButtonViewModel();

            if (id.HasValue)
            {
                editModule.module   = Mapper.Map <Module, ModuleDTO>(_moduleService.Get(id.Value));
                modelOut.titreModal = string.Format("Modification des informations du module");
            }
            else
            {
                modelOut.titreModal = string.Format("Ajout d'un module");
            }

            editModule.lesComposants = _donneListeComposants();
            editModule.lesGammes     = _donneListeGammes();
            modelOut.formulaireUrl   = "~/Areas/RechercheDeveloppement/Views/Module/_EditModulePartial.cshtml";

            modelOut.objet = editModule;

            return(PartialView("~/Views/Shared/_BootstrapModalPartial.cshtml", modelOut));
        }
        public async Task <IActionResult> CreateModule([FromRoute] string CID, [FromBody] CreateModuleViewModel model)
        {
            var result = await _MongocourseService.CreateModule(CID, model);

            if (result)
            {
                return(Ok(new { Status = "1", Message = "Created Successfully" }));
            }
            return(BadRequest(new { Status = 0, Message = "Create Failed" }));
        }
Пример #5
0
        public ActionResult Create(CreateModuleViewModel viewModel)
        {
            // Check if module with this Name already exist in same Course
            if (db.Modules.Any(m => ((m.CourseId == viewModel.CourseId) && (m.Name == viewModel.Name))))
            {
                ModelState.AddModelError("Name", "Kursen innehåller redan en modul med detta Modulnamn");
            }

            if (viewModel.StartDate.CompareTo(viewModel.EndDate) == 1)
            {
                ModelState.AddModelError("EndDate", "Slutdatum kan inte inträffa innan startdatum");
            }

            Course course = db.Courses.Find(viewModel.CourseId);

            if (course == null)
            {
                ModelState.AddModelError(key: "", errorMessage: "Det visar sig vara ett problem med det kurs-id som du gav mig.\nVar god kontakta en av regeringen utsedd systemadministratör!");
            }
            else
            {
                if (course.StartDate.CompareTo(viewModel.StartDate) == 1)
                {
                    ModelState.AddModelError("StartDate", "Modulens Startdatum kan inte inträffa innan kursen startar");
                }

                if (course.StartDate.CompareTo(viewModel.EndDate) == 1)
                {
                    ModelState.AddModelError("EndDate", "Modulens Slutdatum kan inte inträffa innan kursen startar");
                }

                if (viewModel.EndDate.CompareTo(course.EndDate) == 1)
                {
                    ModelState.AddModelError("EndDate", "Modulens Slutdatum kan inte inträffa efter att kursen har slutat");
                }

                if (viewModel.StartDate.CompareTo(course.EndDate) == 1)
                {
                    ModelState.AddModelError("StartDate", "Modulens Startdatum kan inte inträffa efter att kursen har slutat");
                }
            }

            if (ModelState.IsValid)
            {
                Module module = viewModel;
                db.Modules.Add(module);
                db.SaveChanges();
                return(RedirectToAction("Details", "Courses", new { id = viewModel.CourseId }));
            }

            return(View(viewModel));
        }
Пример #6
0
        public async Task <IActionResult> Create(Guid id, CreateModuleViewModel module)
        {
            if (ModelState.IsValid)
            {
                Module m = await _moduleService.AddModule(id, module);

                if (m != null)
                {
                    return(RedirectToAction("Details", "Courses", new { id = m.CourseId }));
                }
            }
            return(View(@module));
        }
        public async Task <IActionResult> CreateModule(CreateModuleViewModel viewModel, int id)
        {
            var nameExists = context.Modules
                             .Where(m => m.CourseId == id)
                             .Any(m => m.Name == viewModel.Name);

            if (nameExists)
            {
                ModelState.AddModelError("Name", "Namnet används redan i denna kurs");
            }


            if (ModelState.IsValid)
            {
                var model = mapper.Map <Module>(viewModel);
                model.CourseId = id;

                await context.Modules.AddAsync(model);

                await context.SaveChangesAsync();

                if (Request.IsAjax())
                {
                    var ajaxModel = new ModuleDetailVM
                    {
                        Id          = model.Id,
                        Name        = model.Name,
                        StartDate   = model.StartDate,
                        EndDate     = model.EndDate,
                        Description = model.Description,
                        CourseId    = model.CourseId,
                        Expanded    = false
                    };

                    return(PartialView("CreateModuleSuccessPartialView", ajaxModel));
                }

                TempData["SuccessText"] = $"Modulen: {model.Name} - är skapad!";
                return(RedirectToAction(nameof(Details), "Courses", new { id = model.CourseId }));
            }
            if (Request.IsAjax())
            {
                return(PartialView("CreateModulePartialView", viewModel));
            }

            return(View(viewModel));
        }
Пример #8
0
        public async Task <bool> CreateModule(string CID, CreateModuleViewModel model)
        {
            var course = await GetCourse(CID);

            var module = new Module
            {
                Id       = Guid.NewGuid().ToString(),
                LogoPath = null,
                Name     = model.Name,
                Position = model.Position,
                Topics   = new List <Topic>()
            };

            course.Modules.Add(module);
            var result = await _course.ReplaceOneAsync(x => x.Id == CID, course);

            return(result.IsAcknowledged);
        }
        public ActionResult CreateModule(int id)
        {
            // Find appropriate course to add module to
            var course = context.Courses.FirstOrDefault(c => c.Id == id);

            // Get module with the latest date
            var lastModule = course.Modules.OrderByDescending(m => m.EndDate).FirstOrDefault();

            CreateModuleViewModel cmvm = new CreateModuleViewModel()
            {
                CourseId = id,
                // Use the latest module to determine an example date
                StartDate = lastModule == null ? course.StartDate : lastModule.EndDate,
                EndDate   = lastModule == null ? course.StartDate : lastModule.EndDate,
            };

            return(PartialView("CreateModulePartial", cmvm));
        }
Пример #10
0
        public async Task <bool> UpdateModule(string CID, string MID, CreateModuleViewModel model)
        {
            var course = await GetCourse(CID);

            var module  = course.Modules.SingleOrDefault(x => x.Id == MID);
            var umodule = new Module {
                Id = module.Id, LogoPath = module.LogoPath, Name = model.Name, Position = model.Position, Topics = module.Topics
            };
            var result1 = course.Modules.Remove(module);

            if (result1)
            {
                course.Modules.Add(umodule);
                var updated = await _course.ReplaceOneAsync(x => x.Id == CID, course);

                return(updated.IsAcknowledged);
            }

            return(false);
        }
        public ActionResult CreateModule(CreateModuleViewModel createModuleViewModel)
        {
            // Find the course to add the module to
            var course = context.Courses.FirstOrDefault(d => d.Id == createModuleViewModel.CourseId);

            if (ModelState.IsValid)
            {
                // Add a module to the course using a new model
                course.Modules.Add(new ModuleModels
                {
                    Name        = createModuleViewModel.Name,
                    Description = createModuleViewModel.Description,
                    StartDate   = createModuleViewModel.StartDate,
                    EndDate     = createModuleViewModel.EndDate,
                    Activities  = new List <ActivityModels>(),
                });

                context.SaveChanges();
            }
            return(RedirectToAction("TeacherCourseModulesPartial", new { id = course.Id }));
        }
Пример #12
0
        public async Task <Module> AddModule(Guid id, CreateModuleViewModel module)
        {
            byte[] imageData = null;

            using (var binaryReader = new BinaryReader(module.Image.OpenReadStream()))
            {
                imageData = binaryReader.ReadBytes((int)module.Image.Length);
            }

            Course course = await _courseService.GetCourse(id);

            Module new_module = new Module
            {
                Id          = Guid.NewGuid(),
                Name        = module.Name,
                Description = module.Description,
                Image       = imageData,
                Modified    = DateTime.Now,
                CourseId    = course.Id,
            };
            await _module.AddModule(new_module);

            return(new_module);
        }
Пример #13
0
        public ActionResult CreateModule(CreateModuleViewModel model, int? id)
        {
            Course course = db.Courses.FirstOrDefault(c => c.Id == model.CourseId);
            ViewBag.AtEarliest = (course != null ? (DateTime.Today.AddDays(1) > course.StartDate ? DateTime.Today.AddDays(1) : course.StartDate) : DateTime.Today.AddDays(1));
            ViewBag.AtLatest = (course != null ? (DateTime.Today.AddDays(2) < course.EndDate ? course.EndDate : DateTime.Today.AddDays(2)) : DateTime.Today.AddDays(2));

            Menu(Home: true);
            SetBreadcrumbs(
                one: new MenyItem { Link = "~/Teacher/", Text = "Se alla kurser" },
                two: new MenyItem { Link = "~/Teacher/Course/" + id, Text = "Tillbaka till kurs" });

            bool hasError = false;
            if (id == null)
            {
                ModelState.AddModelError("", "Inget id funnet, var god återge vilken kurs du vill använda");
                hasError = true;
            }

            if (!ModelState.IsValid)
            {
                model.CourseId = (id != null ? (int) id : 0);
                //FetchAllCourses();

                return View(model);
            }

            model.StartDate = new DateTime(model.StartDate.Year, model.StartDate.Month, model.StartDate.Day, 0, 0, 0);
            model.EndDate = new DateTime(model.EndDate.Year, model.EndDate.Month, model.EndDate.Day, 23, 59, 0);

            if (model.StartDate < DateTime.Today.AddDays(1))
            {
                ModelState.AddModelError("StartDate", "Startdatum kan tyvärr ej starta innan morgondagen, pga. planeringstid");
                hasError = true;
            }
            if (model.EndDate < model.StartDate)
            {
                ModelState.AddModelError("EndDate", "Slutdatumet kan ej vara innan startdatumet");
                hasError = true;
            }

            if (course == null)
            {
                ModelState.AddModelError("", "Kursen kan ej hittas");
                hasError = true;
            }
            if (model.StartDate < course.StartDate)
            {
                ModelState.AddModelError("StartDate", "Kan ej starta innan kursen");
                hasError = true;
            }
            if (model.EndDate > course.EndDate)
            {
                ModelState.AddModelError("EndDate", "Kan ej sluta efter kursen");
                hasError = true;
            }

            if (hasError)
            {
                model.CourseId = (id != null ? (int)id : 0);
                //FetchAllCourses();

                return View(model);
            }

            Module module = new Module { Name = model.Name, Description = (model.Description != null ? model.Description : ""), StartDate = model.StartDate, EndDate = model.EndDate, CourseId = model.CourseId };
            db.Modules.Add(module);
            db.SaveChanges();

            return Redirect("~/Teacher/Module/" + module.Id);
        }
Пример #14
0
        public ActionResult CreateModule(int? id)
        {
            if (id == null)
            {
                return Redirect("~/Error/?error=Inget Id angett för Modulen");
            }

            Course course = db.Courses.FirstOrDefault(m => m.Id == (int)id);
            if (course == null)
            {
                return Redirect("~/Error/?error=Ingen course funnen");
            }

            CreateModuleViewModel model = new CreateModuleViewModel { CourseId = (int)id, StartDate = (DateTime.Now > course.StartDate ? DateTime.Today.AddDays(1) : course.StartDate), EndDate = course.EndDate };
            //            FetchAllCourses();

            Menu(Home: true);
            SetBreadcrumbs(
                one: new MenyItem { Link = "~/Teacher/", Text = "Se alla kurser" },
                two: new MenyItem { Link = "~/Teacher/Course/" + course.Id, Text = course.Name });

            ViewBag.AtEarliest = (DateTime.Today.AddDays(1) > course.StartDate ? DateTime.Today.AddDays(1) : course.StartDate);
            ViewBag.AtLatest = (DateTime.Today.AddDays(2) < course.EndDate ? course.EndDate : DateTime.Today.AddDays(2));

            return View(model);
        }