public async Task <IActionResult> Create(Course course)
        {
            //string courseName, string level,
            //                                    string description, int price, int teacherId
            //var course = new Course
            //{
            //    Name = courseName,
            //    Level = level,
            //    Description = description,
            //    Price = price,
            //    TeacherId = teacherId
            //};

            if (ModelState.IsValid)
            {
                course.Slug    = course.Name.ToLower().Replace(" ", "-");
                course.Sorting = 100;

                var slug = await context.Courses.FirstOrDefaultAsync(x => x.Slug == course.Slug);

                if (slug != null)
                {
                    TempData["Error"] = "The course already exists";
                    return(RedirectToAction("Index"));
                }

                context.Add(course);
                await context.SaveChangesAsync();

                TempData["Success"] = "The course has been added";

                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> AddStudentHomeworks(int homeworkId, List <int> studentsIds)
        {
            var studentHomeworks = new List <StudentHomework>();

            foreach (int studentId in studentsIds)
            {
                studentHomeworks.Add(new StudentHomework()
                {
                    HomeworkId = homeworkId, StudentId = studentId
                });
            }

            try
            {
                foreach (var item in studentHomeworks)
                {
                    _context.Add(item);
                }

                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { text = "Server error!" }));
            }

            return(Json(new { text = "Homework assigned!" }));
        }
        public async Task <IActionResult> Create([Bind("Id,ClassRoomNumber,ClassRoomName,ClassRoomCapacity")] ClassRoom classRoom)
        {
            if (ModelState.IsValid)
            {
                _context.Add(classRoom);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(classRoom));
        }
Exemple #4
0
        public async Task <IActionResult> AddIds(StudentCourseConnection studentCourseConnection, int courseId, int studentId)
        {
            studentCourseConnection.CourseId  = courseId;
            studentCourseConnection.StudentId = studentId;

            try
            {
                context.Add(studentCourseConnection);
                await context.SaveChangesAsync();
            }
            catch (Exception)
            {
                TempData["Error"] = "Error ocurred!/The student is already enrolled for this course!";
                return(RedirectToAction("Index", "Courses"));
            }

            TempData["Success"] = "The student has been added";
            return(RedirectToAction("Index", "Courses"));
        }
Exemple #5
0
        public async Task <IActionResult> Create(LessonPlan lessonPlan)
        {
            if (ModelState.IsValid)
            {
                lessonPlan.day = (Days)lessonPlan.dayId;

                if (!TimeValidation(lessonPlan))
                {
                    ModelState.AddModelError("", "The course already exists");
                    return(View(lessonPlan));
                }

                _context.Add(lessonPlan);
                await _context.SaveChangesAsync();

                TempData["Success"] = "The lesson has been added";
                return(RedirectToAction(nameof(Index)));
            }
            ModelState.AddModelError("", "The course already exists");
            return(View(lessonPlan));
        }
        public async Task <IActionResult> Create(Student student)
        {
            //ViewBag.CourseId = new SelectList(context.Courses.OrderBy(x => x.Sorting), "Id", "Name");

            if (ModelState.IsValid)
            {
                student.Slug = student.FirstName.ToLower().Replace(" ", "-") + student.LastName.ToLower().Replace(" ", "-");


                var slug = await context.Students.FirstOrDefaultAsync(x => x.Slug == student.Slug);

                if (slug != null)
                {
                    ModelState.AddModelError("", "That student is already in the database");
                    return(View(student));
                }

                string imageName = "noimage.jpg";
                if (student.ImageUpload != null)
                {
                    string uploadsDir = Path.Combine(webHostEnvironment.WebRootPath, "media/students");
                    imageName = Guid.NewGuid().ToString() + "_" + student.ImageUpload.FileName; // this gives unique id so no same image twice uploaded
                    string     filePath   = Path.Combine(uploadsDir, imageName);
                    FileStream fileStream = new FileStream(filePath, FileMode.Create);
                    await student.ImageUpload.CopyToAsync(fileStream);

                    fileStream.Close();
                }
                student.Image = imageName;

                context.Add(student);
                await context.SaveChangesAsync();

                TempData["Success"] = "Student has been added";

                return(RedirectToAction("Index"));
            }
            return(View(student));
        }
Exemple #7
0
        public async Task <IActionResult> AddIds(StudentCourseConnection studentCourseConnection,
                                                 int courseId, int studentId)
        {
            studentCourseConnection.CourseId  = courseId;
            studentCourseConnection.StudentId = studentId;
            Student student = await _context.Students.FirstOrDefaultAsync(x => x.Id == studentId);

            try
            {
                student.EnrollmentDate = DateTime.Now;
                _context.Add(studentCourseConnection);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                TempData["Error"] = "Error ocurred!/The student is already enrolled for this course!";
                return(RedirectToAction("Index", "Courses"));
            }

            TempData["Success"] = "The student has been added";
            return(RedirectToAction("Index", "Courses"));
        }
Exemple #8
0
        public async Task <IActionResult> Create(Teacher teacher)
        {
            if (ModelState.IsValid)
            {
                teacher.Slug = teacher.FirstName.ToLower().Replace(" ", "-") + teacher.LastName.ToLower().Replace(" ", "-");


                var slug = await context.Teachers.FirstOrDefaultAsync(x => x.Slug == teacher.Slug);

                if (slug != null)
                {
                    ModelState.AddModelError("", "That teacher is already in the database");
                    return(View(teacher));
                }

                context.Add(teacher);
                await context.SaveChangesAsync();

                TempData["Success"] = "Teacher has been added";

                return(RedirectToAction("Index"));
            }
            return(View(teacher));
        }
Exemple #9
0
        public async Task <IActionResult> Create(Page page)
        {
            if (ModelState.IsValid)
            {
                page.Slug    = page.Title.ToLower().Replace(" ", "-");
                page.Sorting = 100;

                var slug = await context.Pages.FirstOrDefaultAsync(x => x.Slug == page.Slug);

                if (slug != null)
                {
                    ModelState.AddModelError("", "The title already exists");
                    return(View(page));
                }

                context.Add(page);
                await context.SaveChangesAsync();

                TempData["Success"] = "The page has been added";

                return(RedirectToAction("Index"));
            }
            return(View(page));
        }