예제 #1
0
        public ActionResult SendEmail()
        {
            EducationForAll db     = new EducationForAll();
            MailViewModel   model1 = new MailViewModel();

            model1.studentList = db.Students.Select(x => x.StudentName).ToList();
            return(View(model1));
        }
예제 #2
0
        public ActionResult addReview()
        {
            EducationForAll db    = new EducationForAll();
            ReviewViewModel model = new ReviewViewModel();

            model.courseList = db.Courses.Select(x => x.CourseName).ToList();
            return(View(model));
        }
        public async Task <ActionResult> ExternalLoginCallback(string returnUrl)
        {
            var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

            if (loginInfo == null)
            {
                return(RedirectToAction("Login"));
            }

            // Sign in the user with this external login provider if the user already has a login
            var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent : false);

            switch (result)
            {
            case SignInStatus.Success:
                EducationForAll db            = new EducationForAll();
                var             userid        = db.AspNetUsers.Where(x => x.Email == loginInfo.Email).FirstOrDefault();
                string          userid1       = userid.Id;
                Student         studentDetail = new Student();
                studentDetail.StudentName          = "";
                studentDetail.StudentEmail         = loginInfo.Email;
                studentDetail.StudentPhoneNo       = "";
                studentDetail.StudentQualification = "";
                studentDetail.StudentCity          = "";
                studentDetail.StudentDob           = DateTime.Today;
                studentDetail.user_id       = userid1;
                studentDetail.StudentSuburb = "";
                db.Students.Add(studentDetail);
                db.SaveChanges();
                using (Model1 db1 = new Model1())
                {
                    AspNetUserRole role = new AspNetUserRole();
                    role.UserId = userid1;
                    role.RoleId = "2";
                    db1.AspNetUserRoles.Add(role);
                    db1.SaveChanges();
                }
                return(RedirectToAction("Index", "Student"));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }));

            case SignInStatus.Failure:
            default:
                // If the user does not have an account, then prompt the user to create an account
                ViewBag.ReturnUrl     = returnUrl;
                ViewBag.LoginProvider = loginInfo.Login.LoginProvider;
                return(View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel {
                    Email = loginInfo.Email
                }));
            }
        }
예제 #4
0
        public ActionResult aggregateRatings()
        {
            var              userId       = User.Identity.GetUserId();
            EducationForAll  db           = new EducationForAll();
            var              instructorId = db.Instructors.Where(x => x.user_id == userId).Select(x => x.InstructorId).FirstOrDefault();
            var              courseList   = db.Courses.Where(x => x.InstructorUser_id == instructorId).Select(x => x.CourseName).ToList();
            aggregateRatings rating       = new aggregateRatings();

            rating.courseList = courseList;
            return(View(rating));
        }
예제 #5
0
        public ActionResult addReview(WebApplication1.Models.ReviewViewModel reviewModel)
        {
            EducationForAll db            = new EducationForAll();
            var             userId        = User.Identity.GetUserId();
            var             userid        = db.Students.Where(x => x.user_id == userId).FirstOrDefault();
            var             courseDetails = db.Courses.Where(x => x.CourseName == reviewModel.selectedCourse).FirstOrDefault();
            Review          review        = new Review();

            review.ReviewComment = reviewModel.review.ReviewComment;
            review.ReviewStar    = reviewModel.review.ReviewStar;
            review.StudentId     = userid.StudentId;
            review.CourseId      = courseDetails.CourseId;
            review.ReviewDate    = DateTime.Now;
            db.Reviews.Add(review);
            db.SaveChanges();
            return(RedirectToAction("index", "Student"));
        }
예제 #6
0
        public ActionResult EnrolCourse1(int id)
        {
            string userId = User.Identity.GetUserId();

            using (EducationForAll db = new EducationForAll())
            {
                var       studentId = db.Students.Where(x => x.user_id == userId).FirstOrDefault();
                Enrolment er        = new Enrolment();
                er.CourseId  = id;
                er.StudentId = studentId.StudentId;
                er.StudentCourseStartDate    = DateTime.Today;
                er.PercentageCourseCompleted = 0;
                er.CourseDurationLeft        = "0";
                db.Enrolments.Add(er);
                db.SaveChanges();
            }
            return(RedirectToAction("index", "Student"));
        }
예제 #7
0
        public ActionResult AddCourse(WebApplication1.Models.Cours courseModel)
        {
            string userId = User.Identity.GetUserId();

            using (EducationForAll db = new EducationForAll())
            {
                var   InstructorId = db.Instructors.Where(x => x.user_id == userId).FirstOrDefault();
                Cours course       = new Cours();
                course.CourseName        = courseModel.CourseName;
                course.CourseDuration    = courseModel.CourseDuration;
                course.CourseStartDate   = courseModel.CourseStartDate;
                course.CourseStatus      = courseModel.CourseStatus;
                course.CourseFee         = courseModel.CourseFee;
                course.CourseDomain      = courseModel.CourseDomain;
                course.CourseTags        = courseModel.CourseTags;
                course.InstructorUser_id = InstructorId.InstructorId;
                db.Courses.Add(course);
                db.SaveChanges();
                return(RedirectToAction("Index", "Instructor"));
            }
        }
예제 #8
0
        public ActionResult SendBulk(WebApplication1.Models.BulkMail bulkModel)
        {
            var userId = User.Identity.GetUserId();

            if (ModelState.IsValid)
            {
                using (EducationForAll db = new EducationForAll())
                {
                    var    userid           = db.AspNetUsers.Where(x => x.Id == userId).FirstOrDefault();
                    string from             = userid.Email;
                    var    studentEmailList = db.Students.Select(x => x.StudentEmail).ToList();
                    using (MailMessage mail = new MailMessage())
                    {
                        mail.From = new MailAddress(from);
                        foreach (var email in studentEmailList)
                        {
                            mail.To.Add(email);
                        }
                        mail.Subject    = bulkModel.Subject;
                        mail.Body       = bulkModel.Body;
                        mail.IsBodyHtml = false;
                        SmtpClient smtp = new SmtpClient();
                        smtp.Host      = "smtp.gmail.com";
                        smtp.EnableSsl = true;
                        string            password          = bulkModel.Password;
                        NetworkCredential networkCredential = new NetworkCredential(from, password);
                        smtp.UseDefaultCredentials = false;
                        smtp.Credentials           = networkCredential;
                        smtp.Port = 587;
                        smtp.Send(mail);
                        ViewBag.Message = "Sent";
                        return(RedirectToAction("Index", "Instructor"));
                    }
                }
            }
            else
            {
                return(View());
            }
        }
예제 #9
0
        public ActionResult ViewMap(int id)
        {
            EducationForAll db               = new EducationForAll();
            var             studentSuburb    = db.Students.Where(x => x.StudentId == id).Select(x => x.StudentSuburb).FirstOrDefault();
            var             studentCity      = db.Students.Where(x => x.StudentId == id).Select(x => x.StudentCity).FirstOrDefault();
            var             userId           = User.Identity.GetUserId();
            var             instructorId     = db.Instructors.Where(x => x.user_id == userId).Select(x => x.InstructorId).FirstOrDefault();
            var             instructorSuburb = db.Instructors.Where(x => x.InstructorId == instructorId).Select(x => x.InstructorSuburb).FirstOrDefault();
            var             instructorCity   = db.Instructors.Where(x => x.InstructorId == instructorId).Select(x => x.InstructorLocation).FirstOrDefault();
            Suburb          db1              = new Suburb();
            var             studentLat       = db1.postcodes_location.Where(x => x.state == studentCity && x.suburb == studentSuburb).Select(x => x.latitude).FirstOrDefault();
            var             studentLon       = db1.postcodes_location.Where(x => x.suburb == studentSuburb && x.state == studentCity).Select(x => x.longitude).FirstOrDefault();

            var instructorLat = db1.postcodes_location.Where(x => x.state == instructorCity && x.suburb == instructorSuburb).Select(x => x.latitude).FirstOrDefault();
            var instructorLon = db1.postcodes_location.Where(x => x.suburb == instructorSuburb && x.state == instructorCity).Select(x => x.longitude).FirstOrDefault();

            ViewBag.studentLatitude     = studentLat;
            ViewBag.studentLongitude    = studentLon;
            ViewBag.instructorLatitude  = instructorLat;
            ViewBag.instructorLongitude = instructorLon;
            return(View());
        }
예제 #10
0
        protected PdfPTable Add_Content_To_PDF(PdfPTable tableLayout)
        {
            float[] headers = { 50, 24, 45, 35, 50 }; //Header Widths
            tableLayout.SetWidths(headers);           //Set the pdf headers
            tableLayout.WidthPercentage = 100;        //Set the PDF File witdh percentage
            tableLayout.HeaderRows      = 1;
            //Add Title to the PDF file at the top
            EducationForAll db             = new EducationForAll();
            var             studentDetails = db.Students.ToList();

            tableLayout.AddCell(new PdfPCell(new Phrase("Creating PDF file using iTextsharp", new Font(Font.FontFamily.HELVETICA, 13, 1)))
            {
                Colspan             = 12,
                Border              = 0,
                PaddingBottom       = 5,
                HorizontalAlignment = Element.ALIGN_CENTER
            });

            ////Add header
            AddCellToHeader(tableLayout, "StudentName");
            AddCellToHeader(tableLayout, "StudentEmail");
            AddCellToHeader(tableLayout, "StudentQualification");
            AddCellToHeader(tableLayout, "StudentPhoneNo");
            AddCellToHeader(tableLayout, "StudentLocation");

            ////Add body
            foreach (var student in studentDetails)
            {
                AddCellToBody(tableLayout, student.StudentName);
                AddCellToBody(tableLayout, student.StudentEmail);
                AddCellToBody(tableLayout, student.StudentQualification);
                AddCellToBody(tableLayout, student.StudentPhoneNo);
                AddCellToBody(tableLayout, student.StudentCity);
            }

            return(tableLayout);
        }
예제 #11
0
        public ActionResult SendEmail(WebApplication1.Models.MailViewModel mailModel)
        {
            var userId = User.Identity.GetUserId();

            if (ModelState.IsValid)
            {
                using (EducationForAll db = new EducationForAll())
                {
                    var    userid         = db.AspNetUsers.Where(x => x.Id == userId).FirstOrDefault();
                    string from           = userid.Email;
                    string to             = mailModel.sampleMail.To;
                    var    studentDetails = db.Students.Where(x => x.StudentName == to).FirstOrDefault();
                    using (MailMessage mail = new MailMessage(from, studentDetails.StudentEmail))
                    {
                        mail.Subject    = mailModel.sampleMail.Subject;
                        mail.Body       = mailModel.sampleMail.Body;
                        mail.IsBodyHtml = false;
                        SmtpClient smtp = new SmtpClient();
                        smtp.Host      = "smtp.gmail.com";
                        smtp.EnableSsl = true;
                        string            password          = mailModel.sampleMail.Password;
                        NetworkCredential networkCredential = new NetworkCredential(from, password);
                        smtp.UseDefaultCredentials = false;
                        smtp.Credentials           = networkCredential;
                        smtp.Port = 587;
                        smtp.Send(mail);
                        ViewBag.Message = "Sent";
                        return(RedirectToAction("Index", "Instructor"));
                    }
                }
            }
            else
            {
                return(View());
            }
        }
예제 #12
0
        public ActionResult ViewStudents()
        {
            EducationForAll db = new EducationForAll();

            return(View(db.Students.ToList()));
        }
예제 #13
0
        public ActionResult ViewRatings()
        {
            EducationForAll db = new EducationForAll();

            return(View(db.Courses.ToList()));
        }
예제 #14
0
        public ActionResult aggregateRatings1(WebApplication1.Models.aggregateRatings agrremodel, string submitButton)
        {
            if (submitButton == "ShowRatingsStatistics")
            {
                EducationForAll  db     = new EducationForAll();
                aggregateRatings rating = new aggregateRatings();
                var    courseId         = db.Courses.Where(x => x.CourseName == agrremodel.selectedCourse).FirstOrDefault();
                var    reviewList       = db.Reviews.Where(x => x.CourseId == courseId.CourseId).Select(x => x.ReviewStar).ToList();
                int    highestRatings   = reviewList.Max();
                int    lowestRatings    = reviewList.Min();
                double averageRatings   = reviewList.Average();
                rating.highestRating  = highestRatings;
                rating.lowestRating   = lowestRatings;
                rating.averagerating  = Math.Round(averageRatings);
                rating.selectedCourse = agrremodel.selectedCourse;
                ViewBag.rating        = rating;
                return(View());
            }
            else
            {
                int             count1     = 0;
                int             count2     = 0;
                int             count3     = 0;
                int             count4     = 0;
                int             count5     = 0;
                EducationForAll db         = new EducationForAll();
                var             courseId   = db.Courses.Where(x => x.CourseName == agrremodel.selectedCourse).FirstOrDefault();
                var             reviewList = db.Reviews.Where(x => x.CourseId == courseId.CourseId).Select(x => x.ReviewStar).ToList();
                foreach (var review in reviewList)
                {
                    if (review == 1)
                    {
                        count1++;
                    }
                    if (review == 2)
                    {
                        count2++;
                    }
                    if (review == 3)
                    {
                        count3++;
                    }
                    if (review == 4)
                    {
                        count4++;
                    }
                    if (review == 5)
                    {
                        count5++;
                    }
                }
                List <DataPoint> dataPoints = new List <DataPoint>();

                dataPoints.Add(new DataPoint("Rating 1", count1));
                dataPoints.Add(new DataPoint("Rating 2", count2));
                dataPoints.Add(new DataPoint("Rating 3", count3));
                dataPoints.Add(new DataPoint("Rating 4", count4));
                dataPoints.Add(new DataPoint("Rating 5", count5));
                TempData["doc"] = dataPoints;
                return(RedirectToAction("ViewGraph", "Instructor"));
            }
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    using (EducationForAll db = new EducationForAll())
                    {
                        if (model.Role == "Student")
                        {
                            var     userid        = db.AspNetUsers.Where(x => x.Email == model.Email).FirstOrDefault();
                            string  userid1       = userid.Id;
                            Student studentDetail = new Student();
                            studentDetail.StudentName          = model.Name;
                            studentDetail.StudentEmail         = model.Email;
                            studentDetail.StudentPhoneNo       = model.PhoneNo;
                            studentDetail.StudentQualification = model.Qualification;
                            studentDetail.StudentCity          = model.City;
                            studentDetail.StudentDob           = model.DOB;
                            studentDetail.user_id       = userid1;
                            studentDetail.StudentSuburb = model.Suburb;
                            db.Students.Add(studentDetail);
                            db.SaveChanges();
                            using (Model1 db1 = new Model1())
                            {
                                AspNetUserRole role = new AspNetUserRole();
                                role.UserId = userid1;
                                role.RoleId = "2";
                                db1.AspNetUserRoles.Add(role);
                                db1.SaveChanges();
                            }
                        }
                        if (model.Role == "Instructor")
                        {
                            var        userid           = db.AspNetUsers.Where(x => x.Email == model.Email).FirstOrDefault();
                            string     userid1          = userid.Id;
                            Instructor instructorDetail = new Instructor();
                            instructorDetail.InstructorName          = model.Name;
                            instructorDetail.InstructorDob           = model.DOB;
                            instructorDetail.InstructorEmail         = model.Email;
                            instructorDetail.InstructorLocation      = model.City;
                            instructorDetail.InstructorQualification = model.Qualification;
                            instructorDetail.user_id          = userid1;
                            instructorDetail.InstructorSuburb = model.Suburb;
                            db.Instructors.Add(instructorDetail);
                            db.SaveChanges();
                            using (Model1 db1 = new Model1())
                            {
                                AspNetUserRole role = new AspNetUserRole();
                                role.UserId = userid1;
                                role.RoleId = "1";
                                db1.AspNetUserRoles.Add(role);
                                db1.SaveChanges();
                            }
                        }
                    }
                    if (model.Role == "Student")
                    {
                        return(RedirectToAction("Index", "Student"));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Instructor"));
                    }
                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }