コード例 #1
0
        public IActionResult Edit(Guid id)
        {
            var course = _courseService.GetCourseById(id);

            var employee = _employeeService.GetEmployeeByBaseId(
                new Guid(_userManager.GetUserId(User))
                );
            var owner = _courseService.GetOwner(id);

            if (employee.Id != owner.Id)
            {
                return(RedirectToAction("Profile", "Employee", new { id = employee.BaseId }));
            }

            if (course == null)
            {
                return(RedirectToAction("Index"));
            }

            var model = new CourseCreateViewModel
            {
                Id          = id,
                Description = course.Description,
                Title       = course.Title,
                Semester    = course.Semester,
                Year        = course.Year
            };

            return(View(model));
        }
コード例 #2
0
ファイル: CourseRepository.cs プロジェクト: Lavsiant/Tabber
 public async Task CreateCourse(CourseCreateViewModel course)
 {
     using (var context = ContextFactory.CreateDbContext(ConnectionString))
     {
         var lessons = new List <Lesson>();
         foreach (var l in course.Lessons)
         {
             var lesson = new Lesson();
             lesson.Name         = l.Name;
             lesson.Tab          = context.Tabs.FirstOrDefault(x => x.ID == l.tab);
             lesson.MinTempoStep = l.stepBpm;
             lesson.RepeatNumber = l.repeat;
             lesson.StartBpm     = l.startBpm;
             lessons.Add(lesson);
         }
         var newCourse = new Course()
         {
             Description = course.Description,
             Lessons     = lessons,
             Name        = course.Name,
             Type        = course.Type,
             Creator     = course.UserName
         };
         context.Courses.Add(newCourse);
         await context.SaveChangesAsync();
     }
 }
コード例 #3
0
        public IActionResult Create(CourseCreateViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;

            if (ModelState.IsValid)
            {
                var employee = _employeeService.GetEmployeeByBaseId(
                    new Guid(_userManager.GetUserId(User))
                    );

                var course = new Course
                {
                    Title       = model.Title,
                    Description = model.Description,
                    Year        = model.Year,
                    Semester    = model.Semester,
                    Owner       = _employeeService.GetEmployeeByBaseId(
                        new Guid(_userManager.GetUserId(User))
                        )
                };

                _courseService.CreateCourse(course);

                return(RedirectToAction("Profile", "Employee", new { id = employee.BaseId }));
            }

            return(View(model));
        }
コード例 #4
0
 public IActionResult Create(CourseCreateViewModel courseCreateViewModel)
 {
     if (ModelState.IsValid)
     {
         var createCourseResponse = _courseService.Create(new CreateCourseRequest
         {
             CourseNumber = courseCreateViewModel.CourseView.CourseNumber,
             Name         = courseCreateViewModel.CourseView.Name,
             Description  = courseCreateViewModel.CourseView.Description,
         });
         if (createCourseResponse.IsSuccess == true)
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             ModelState.AddModelError(string.Empty, "Create Course Error");
             return(View("Create", courseCreateViewModel));
         }
     }
     else
     {
         ModelState.AddModelError(string.Empty, "Invalid Course Error");
         return(View("Create", courseCreateViewModel));
     }
 }
コード例 #5
0
        public IActionResult Edit(int?courseId)
        {
            if (!courseId.HasValue)
            {
                ViewBag.ErrorMessage = $"课程编号{courseId}的信息不存在,请重试。";
                return(View("NotFound"));
            }

            var course = _courseRepository.FirstOrDefault(a => a.CourseID == courseId);

            if (course == null)
            {
                ViewBag.ErrorMessage = $"课程编号{courseId}的信息不存在,请重试。";
                return(View("NotFound"));
            }
            var dtos = DepartmentsDropDownList(course.DepartmentID);
            CourseCreateViewModel courseCreateViewModel = new CourseCreateViewModel
            {
                DepartmentList = dtos,
                CourseID       = course.CourseID,
                Credits        = course.Credits,
                Title          = course.Title,
                DepartmentID   = course.DepartmentID
            };

            return(View(courseCreateViewModel));
        }
コード例 #6
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Course course = db.Courses.Find(id);

            if (course == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var courseView = new CourseCreateViewModel
            {
                Id             = course.Id,
                Name           = course.Name,
                FullCourseName = course.FullCourseName,
                CourseCode     = course.CourseCode,
                Description    = course.Description,
                StartDate      = course.StartDate,
                EndDate        = course.EndDate
            };

            return(View(courseView));
        }
コード例 #7
0
        public ActionResult Create([Bind(Include = "Id,Name,CourseCode,Description,StartDate,EndDate")] CourseCreateViewModel courseView)
        {
            if (ModelState.IsValid)
            {
                if (db.Courses.Any(c => c.CourseCode == courseView.CourseCode))
                {
                    ModelState.AddModelError("CourseCode", "Kurskoden finns redan");
                    return(View(courseView));
                }
                var course = new Course
                {
                    Id          = courseView.Id,
                    Name        = courseView.Name,
                    CourseCode  = courseView.CourseCode,
                    Description = courseView.Description,
                    StartDate   = courseView.StartDate,
                    EndDate     = courseView.EndDate
                };

                db.Courses.Add(course);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(courseView));
        }
コード例 #8
0
        public ActionResult Edit(CourseCreateViewModel model, Guid id)
        {
            var employee = _employeeService.GetEmployeeByBaseId(
                new Guid(_userManager.GetUserId(User))
                );
            var owner = _courseService.GetOwner(id);

            if (employee.Id != owner.Id)
            {
                return(RedirectToAction("Profile", "Employee", new { id = employee.BaseId }));
            }

            if (ModelState.IsValid)
            {
                var course = _courseService.GetCourseById(id);

                course.Title       = model.Title;
                course.Description = model.Description;
                course.Year        = model.Year;
                course.Semester    = model.Semester;

                _courseService.UpdateCourse(course);
                //return RedirectToAction("Index");
            }
            return(View(model));
        }
コード例 #9
0
 public ActionResult Create(CourseCreateViewModel course)
 {
     if (ModelState.IsValid)
     {
         db.Courses.Add(new Course(course));
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(course));
 }
コード例 #10
0
        public ActionResult Create()
        {
            var dtos = DepartmentsDropDownList();
            CourseCreateViewModel courseCreateViewModel = new CourseCreateViewModel
            {
                DepartmentList = dtos
            };

            return(View(courseCreateViewModel));
        }
コード例 #11
0
        public IActionResult Delete(Guid id)
        {
            var course = _courseService.GetCourseById(id);
            var model  = new CourseCreateViewModel
            {
                Description = course.Description,
                Title       = course.Title,
                Semester    = course.Semester,
                Year        = course.Year
            };

            return(View(model));
        }
コード例 #12
0
 public ActionResult Edit(int?id, CourseCreateViewModel course)
 {
     if (ModelState.IsValid)
     {
         var dbCourse = db.Courses.Find(id);
         if (dbCourse != null)
         {
             dbCourse.Update(course);
             db.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
     return(View(course));
 }
コード例 #13
0
        public ActionResult Create(CourseCreateViewModel vm)
        {
            try
            {
                IDataAccess <Course> dataAccess = new CourseEFDataAccess();
                CourseHandler        handler    = new CourseHandler(dataAccess);
                handler.Create(vm);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
コード例 #14
0
        public async Task <IHttpActionResult> PostCourse(CourseCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var course = await _courses.Add(new Course
            {
                Title        = model.Title,
                Credits      = model.Credits,
                DepartmentId = model.DepartmentId
            });

            return(CreatedAtRoute("DefaultApi", new { id = course.Id }, (CourseResultViewModel)course));
        }
コード例 #15
0
        public async Task <IActionResult> Create(CourseCreateViewModel inputModel)
        {
            if (ModelState.IsValid)
            {
                Course course = new Course
                {
                    CourseId     = inputModel.CourseID,
                    Title        = inputModel.Title,
                    Credits      = inputModel.Credits,
                    DepartmentId = inputModel.DepartmentId
                };
                await _courseRepositry.InsertAsync(course);

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
コード例 #16
0
        public async Task <ActionResult> Edit([FromRoute] int id, [FromForm] CourseCreateViewModel course)
        {
            if (!ModelState.IsValid)
            {
                return(View(course));
            }
            try
            {
                await _apiProxy.UpdateAsync(id, course, _tokenAuth.GetToken());

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
コード例 #17
0
        public ActionResult Edit([Bind(Include = "Id,Name,CourseCode,Description,StartDate,EndDate")] CourseCreateViewModel courseView)
        {
            if (ModelState.IsValid)
            {
                // If I change the code of the current course (=the courseCode retrieved from the DB is different from the one I just filled in)
                // I need to check this code does not exist already in the DB!

                // OBS! If we use db.Courses.Find(courseViewId).CourseCode .... Entity Framework will retrieve a whole new object from DB
                // This will cause a conflict in the ' db.Entry(course).State = EntityState.Modified;' below.
                // Therefore I nned to use following alternatives:
                // 1. db.Courses.AsNoTracking().FirstOrDefault(c =>c.Id == courseView.Id)?.CourseCode
                // 2. db.Courses.Where(c => c.Id == courseView.Id).Select (c => c.CourseCode)

                if (db.Courses.AsNoTracking().FirstOrDefault(c => c.Id == courseView.Id)?.CourseCode != courseView.CourseCode)
                {
                    if (db.Courses.Any(c => c.CourseCode == courseView.CourseCode && c.Id != courseView.Id))
                    {
                        // I found a course in the DB with exactly the SAME course code than I inserted.
                        // This is not allowed
                        ModelState.AddModelError("CourseCode", "Kurskoden finns redan");
                        return(View(courseView));
                    }
                }

                var course = new Course
                {
                    Id          = courseView.Id,
                    Name        = courseView.Name,
                    CourseCode  = courseView.CourseCode,
                    Description = courseView.Description,
                    StartDate   = courseView.StartDate,
                    EndDate     = courseView.EndDate
                };
                db.Entry(course).State = EntityState.Modified;
                db.SaveChanges();

                var changedCourse = db.Courses.Find(courseView.Id);

                TempData["FeedbackMessage"] = "Kursen har ändrats";
                TempData["FeedbackData"]    = changedCourse;

                //return RedirectToAction("Details", new { id = courseView.Id });
            }
            return(View(courseView));
        }
コード例 #18
0
 public IActionResult Edit(CourseCreateViewModel model)
 {
     if (ModelState.IsValid)
     {
         var course = _courseRepositry.FirstOrDefault(c => c.CourseId == model.CourseID);
         if (course == null)
         {
             ViewBag.ErrorMessage = $"课程编号{model.CourseID}的信息不存在,请重试!";
             return(View("NotFound"));
         }
         course.CourseId     = model.CourseID;
         course.Credits      = model.Credits;
         course.DepartmentId = model.DepartmentId;
         course.Title        = model.Title;
         _courseRepositry.Update(course);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(model));
 }
コード例 #19
0
 public IActionResult Edit(CourseCreateViewModel input)
 {
     if (ModelState.IsValid)
     {
         var course = _courseRepository.FirstOrDefault(a => a.CourseID == input.CourseID);
         if (course != null)
         {
             course.Credits      = input.Credits;
             course.DepartmentID = input.DepartmentID;
             course.Title        = input.Title;
             _courseRepository.Update(course);
             return(RedirectToAction(nameof(Index)));
         }
         else
         {
             ViewBag.ErrorMessage = $"课程编号{input.CourseID}的信息不存在,请重试。";
             return(View("NotFound"));
         }
     }
     return(View(input));
 }
コード例 #20
0
        public async Task <IActionResult> Create([Bind("Course,StartDate,EndDate,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday")] CourseCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Course course = viewModel.Course;
                db.Add(course);

                double   days       = (viewModel.EndDate - viewModel.StartDate).TotalDays;
                DateTime currentday = viewModel.StartDate;
                for (double i = 0; i <= days; i++)
                {
                    if (currentday.DayOfWeek == DayOfWeek.Monday && viewModel.Monday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Tuesday && viewModel.Tuesday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Wednesday && viewModel.Wednesday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Thursday && viewModel.Thursday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Friday && viewModel.Friday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Saturday && viewModel.Saturday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }
                    else if (currentday.DayOfWeek == DayOfWeek.Sunday && viewModel.Sunday == true)
                    {
                        Lesson lesson = new Lesson {
                            Date = currentday, Course = course
                        };
                        db.Add(lesson);
                    }

                    currentday = currentday.AddDays(1);
                }
                await db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
コード例 #21
0
 public ActionResult Create(CourseCreateViewModel input)
 {
     return(View());
 }
コード例 #22
0
ファイル: CourseService.cs プロジェクト: Lavsiant/Tabber
 public async Task CreateCourse(CourseCreateViewModel vm)
 {
     await _courseRepository.CreateCourse(vm);
 }
コード例 #23
0
ファイル: CourseController.cs プロジェクト: Lavsiant/Tabber
 public IActionResult CourseCreate([FromBody] CourseCreateViewModel cvm, string name)
 {
     cvm.UserName = name;
     _courseService.CreateCourse(cvm);
     return(Ok());
 }
コード例 #24
0
        public IActionResult Create()
        {
            CourseCreateViewModel courseCreateViewModel = new CourseCreateViewModel();

            return(View("Create", courseCreateViewModel));
        }
コード例 #25
0
        public void Create(CourseCreateViewModel vm)
        {
            Course course = config.ConvertModel <CourseCreateViewModel, Course>(vm);

            this.dataAccess.Add(course);
        }