Exemplo n.º 1
0
        public MainWindow()
        {
            months = new List <string> {
                "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
            };


            user     = new TutoringDB.CurrentUser();
            readUser = new TutoringDB.TutorDatabaseEntities();
            readUser.CurrentUsers.Load();
            var userList = from i in readUser.CurrentUsers select i;

            user = userList.FirstOrDefault();

            InitializeComponent();

            finished = true;

            monthLabel.Content = months.FirstOrDefault(w => w == DateTime.Today.ToString("MMMM"));

            selectedMonth = DateTime.Today.Month;
            currYear      = DateTime.Today.Year;
            calendarMonth = (MonthCounter)DateTime.Today.Month;

            nextButton.Click += (o, e) => refreshCalendar(1);
            prevButton.Click += (o, e) => refreshCalendar(2);

            Notifications       = new ObservableCollection <Notification>();
            NotificationCommand = new RelayCommand <object>(onNotificationClicked);
            //readUser.TutorTuteeNotifications.Load();
            //var nots = from i in readUser.TutorTuteeNotifications
            //           where i.Tutee.Username == user.UserName || i.Tutor.UserName == user.UserName
            //           select i;
            //foreach (var not in nots) Notifications.Add(new Notification(not.Message, not.Type, (int)not.targetId));
            //if (Notifications.Count == 0)
            //{
            //    Notifications.Add(new Notification("Nothing here!", "empty", -1));
            //}
            //else Notifications.Add(new Notification("Clear", "clear", -1));

            //NotificationsList.ItemsSource = Notifications;
            refreshNotifications();

            DataContext = this;
        }
Exemplo n.º 2
0
        public Week()
        {
            Width  = SystemParameters.WorkArea.Width;
            Height = SystemParameters.WorkArea.Height;
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
            finished     = true;
            selectedDate = DateTime.Today;

            user     = new TutoringDB.CurrentUser();
            readUser = new TutoringDB.TutorDatabaseEntities();
            readUser.CurrentUsers.Load();
            var userList = from i in readUser.CurrentUsers select i;

            user = userList.FirstOrDefault();

            InitializeComponent();

            Notifications       = new ObservableCollection <Notification>();
            NotificationCommand = new RelayCommand <object>(onNotificationClicked);
            readUser.TutorTuteeNotifications.Where(not => not.Tutee.Username == user.UserName || not.Tutor.UserName == user.UserName).Load();
            var nots = from i in readUser.TutorTuteeNotifications
                       where i.Tutee.Username == user.UserName || i.Tutor.UserName == user.UserName
                       select i;

            foreach (var not in nots)
            {
                Notifications.Add(new Notification(not.Message, not.Type, (int)not.targetId));
            }
            if (Notifications.Count == 0)
            {
                Notifications.Add(new Notification("Nothing here!", "empty", -1));
            }
            else
            {
                Notifications.Add(new Notification("Clear", "clear", -1));
            }
            NotificationsList.ItemsSource = Notifications;

            nextButton.Click += (o, e) => refreshWeek(7);
            prevButton.Click += (o, e) => refreshWeek(-7);
        }
Exemplo n.º 3
0
        private void submitButton_Click(object sender, RoutedEventArgs e)
        {
            if (oldPasswordBox.Password == "" || newPasswordBox.Password == "")
            {
                info.WrongOldPassword = "******";
            }
            else
            {
                TutoringDB.TutorDatabaseEntities userCreds = new TutoringDB.TutorDatabaseEntities();
                bool correctOldPassword = (userCreds.Tutors.Any(userF => userF.UserName == user.UserName && userF.Password == oldPasswordBox.Password) ||
                                           userCreds.Tutees.Any(userF => userF.Username == user.UserName && userF.Password == oldPasswordBox.Password) ||
                                           userCreds.Faculties.Any(userF => userF.Username == user.UserName && userF.Password == oldPasswordBox.Password));
                if (correctOldPassword)
                {
                    info.WrongOldPassword = "******";
                    if (user.Type.ToLower().Contains("tutee"))
                    {
                        userCreds.Tutees.Where(userT => userT.Username == user.UserName)
                        .FirstOrDefault().Password = newPasswordBox.Password;
                    }
                    else if (user.Type.ToLower().Contains("tutor"))
                    {
                        userCreds.Tutors.Where(userT => userT.UserName == user.UserName)
                        .FirstOrDefault().Password = newPasswordBox.Password;
                    }

                    else
                    {
                        userCreds.Faculties.Where(userT => userT.Username == user.UserName)
                        .FirstOrDefault().Password = newPasswordBox.Password;
                    }
                    userCreds.SaveChanges();
                }
                else
                {
                    info.WrongOldPassword = "******";
                }
            }

            DataContext = info;
        }
Exemplo n.º 4
0
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            TutoringDB.TutorDatabaseEntities db = new TutoringDB.TutorDatabaseEntities();
            db.Tutees.Load();
            db.Tutors.Load();
            db.Faculties.Load();
            int numTutees = db.Tutees.Count();

            //Error Checking
            if (firstNameTextBox.Text != "" &&
                lastNameTextBox.Text != "" &&
                usernameTextBox.Text != "" &&
                passwordTextBox.Text != "" &&
                (yearTextBox.Text == "1" ||
                 yearTextBox.Text == "2" ||
                 yearTextBox.Text == "3" ||
                 yearTextBox.Text == "4") &&
                emailTextBox.Text != ""
                )
            {
                TutoringDB.Tutee temp = new TutoringDB.Tutee();
                temp.FirstName = firstNameTextBox.Text;
                temp.LastName  = lastNameTextBox.Text;
                temp.Username  = usernameTextBox.Text;
                temp.Password  = passwordTextBox.Text;
                temp.Year      = Convert.ToInt32(yearTextBox.Text);
                temp.Email     = emailTextBox.Text;

                db.Tutees.Add(temp);
                db.SaveChanges();
                this.Close();
                Label1.Text = "";
            }
            else
            {
                Label1.Text = "Completely fill out form";
            }
        }
Exemplo n.º 5
0
        public AccountInfo()
        {
            //Get the current user
            user     = new TutoringDB.CurrentUser();
            readUser = new TutoringDB.TutorDatabaseEntities();
            readUser.CurrentUsers.Load();
            user = readUser.CurrentUsers.FirstOrDefault();

            TutoringDB.TutorDatabaseEntities tutorSchedule = new TutoringDB.TutorDatabaseEntities();


            if (user.Type.ToLower().Contains("tutee"))
            {
                tutorSchedule.Tutees
                .Where(userF => (userF.Username == user.UserName))
                .Load();
                var userList = from i in tutorSchedule.Tutees
                               where i.Username == user.UserName
                               select i;
                var tuteeUser = userList.FirstOrDefault();
                info.UserFullName      = tuteeUser.FirstName + " " + tuteeUser.LastName;
                info.UserUsernameValue = tuteeUser.Username;
                info.UserYearValue     = tuteeUser.Year.ToString();
                info.UserApprovedValue = "No";
            }
            else if (user.Type.ToLower().Contains("tutor"))
            {
                tutorSchedule.Tutors
                .Where(userF => (userF.UserName == user.UserName))
                .Load();
                var userList = from i in tutorSchedule.Tutors
                               where i.UserName == user.UserName
                               select i;

                var tutorUser = userList.FirstOrDefault();
                info.UserFullName      = tutorUser.FirstName + " " + tutorUser.LastName;
                info.UserUsernameValue = tutorUser.UserName;
                info.UserYearValue     = tutorUser.Year.ToString();
                info.UserApprovedValue = tutorUser.Authorized.ToString();
            }
            else
            {
                tutorSchedule.Faculties
                .Where(fac => fac.Username == user.UserName)
                .Load();
                var userList = from i in tutorSchedule.Faculties
                               where i.Username == user.UserName
                               select i;

                var facultyUser = userList.FirstOrDefault();
                info.UserFullName      = facultyUser.First_Name + " " + facultyUser.LastName;
                info.UserUsernameValue = facultyUser.Username;
                info.UserYearValue     = "Not applicable";
                info.UserApprovedValue = "Can approve or deny requests to tutor";
            }
            info.WrongOldPassword = "";

            DataContext = info;

            InitializeComponent();
        }
Exemplo n.º 6
0
        private void fillFacultyButton_Click(object sender, EventArgs e)
        {
            TutoringDB.TutorDatabaseEntities db = new TutoringDB.TutorDatabaseEntities();
            db.Faculties.Load();
            db.Courses.Load();
            db.FacultyCourses.Load();
            //Clear database first
            foreach (TutoringDB.FacultyCours f in db.FacultyCourses)
            {
                db.FacultyCourses.Remove(f);
            }
            foreach (TutoringDB.Cours fc in db.Courses)
            {
                db.Courses.Remove(fc);
            }
            foreach (TutoringDB.Faculty f in db.Faculties)
            {
                db.Faculties.Remove(f);
            }
            db.SaveChanges();

            TutoringDB.Faculty      tempFaculty       = new TutoringDB.Faculty();
            TutoringDB.Cours        tempCourse        = new TutoringDB.Cours();
            TutoringDB.FacultyCours tempFacultyCourse = new TutoringDB.FacultyCours();
            //Read file line-by-line and load into database
            foreach (string line in File.ReadLines(@"courses-fall16.txt"))
            {
                db.Faculties.Load();
                //Fill Course Fields
                var pieces = line.Split('\t');
                tempCourse.CourseNumber = pieces[0];
                tempCourse.CourseName   = pieces[1];
                var code = pieces[0].Split(' ');
                tempCourse.Department = code[0];
                db.Courses.Add(tempCourse);
                //Fill Faculty Fields
                tempFaculty.Username = tempFaculty.First_Name = pieces[2];
                tempFaculty.Password = tempFaculty.LastName = pieces[3];
                tempFaculty.Email    = pieces[2] + pieces[3] + "@coe.edu";
                var temps = db.Faculties.Where(i => i.First_Name == tempFaculty.First_Name && i.LastName == tempFaculty.LastName);
                if (temps.Count() == 0)
                {
                    db.Faculties.Add(tempFaculty);
                    tempFacultyCourse.Faculty = tempFaculty;
                    tempFacultyCourse.Cours   = tempCourse;
                    db.FacultyCourses.Add(tempFacultyCourse);
                    db.SaveChanges();
                }
                else
                {
                    var first = from i in db.Faculties
                                where i.Email == tempFaculty.Email
                                select i;
                    tempFacultyCourse.FacultyId = first.FirstOrDefault().Id;
                    tempFacultyCourse.Cours     = tempCourse;
                    db.FacultyCourses.Add(tempFacultyCourse);
                    db.SaveChanges();
                }
            }
            MessageBox.Show("Successfully Loaded.");
        }
Exemplo n.º 7
0
 private void clearButton_Click(object sender, EventArgs e)
 {
     TutoringDB.TutorDatabaseEntities db = new TutoringDB.TutorDatabaseEntities();
     db.TutorTuteeCourseAppointments.Load();
     foreach (var i in db.TutorTuteeCourseAppointments)
     {
         db.TutorTuteeCourseAppointments.Remove(i);
     }
     db.TutorTuteeNotifications.Load();
     foreach (var i in db.TutorTuteeNotifications)
     {
         db.TutorTuteeNotifications.Remove(i);
     }
     db.TutorConfirmationRequests.Load();
     foreach (var i in db.TutorConfirmationRequests)
     {
         db.TutorConfirmationRequests.Remove(i);
     }
     db.TutorCourses.Load();
     foreach (var i in db.TutorCourses)
     {
         db.TutorCourses.Remove(i);
     }
     db.TutorBusyTimes.Load();
     foreach (var i in db.TutorBusyTimes)
     {
         db.TutorBusyTimes.Remove(i);
     }
     db.FacultyCourses.Load();
     foreach (var i in db.FacultyCourses)
     {
         db.FacultyCourses.Remove(i);
     }
     db.TuteeBusyTimes.Load();
     foreach (var i in db.TuteeBusyTimes)
     {
         db.TuteeBusyTimes.Remove(i);
     }
     db.Appointments.Load();
     foreach (var i in db.Appointments)
     {
         db.Appointments.Remove(i);
     }
     db.BaseSchedules.Load();
     foreach (var i in db.BaseSchedules)
     {
         db.BaseSchedules.Remove(i);
     }
     db.BusyTimes.Load();
     foreach (var i in db.BusyTimes)
     {
         db.BusyTimes.Remove(i);
     }
     db.Courses.Load();
     foreach (var i in db.Courses)
     {
         db.Courses.Remove(i);
     }
     db.CurrentUsers.Load();
     foreach (var i in db.CurrentUsers)
     {
         db.CurrentUsers.Remove(i);
     }
     db.Faculties.Load();
     foreach (var i in db.Faculties)
     {
         db.Faculties.Remove(i);
     }
     db.StartEnds.Load();
     foreach (var i in db.StartEnds)
     {
         db.StartEnds.Remove(i);
     }
     db.Tutees.Load();
     foreach (var i in db.Tutees)
     {
         db.Tutees.Remove(i);
     }
     db.Tutors.Load();
     foreach (var i in db.Tutors)
     {
         db.Tutors.Remove(i);
     }
     db.SaveChanges();
     MessageBox.Show("Successfully Cleared.");
 }
Exemplo n.º 8
0
        private void fillTutorsTutees_Click(object sender, EventArgs e)
        {
            TutoringDB.TutorDatabaseEntities db = new TutoringDB.TutorDatabaseEntities();
            db.Tutors.Load();
            db.Tutees.Load();
            db.TutorCourses.Load();
            //Clear database first
            foreach (TutoringDB.Tutor t in db.Tutors)
            {
                db.Tutors.Remove(t);
            }
            foreach (TutoringDB.Tutee f in db.Tutees)
            {
                db.Tutees.Remove(f);
            }
            foreach (TutoringDB.TutorCourse tc in db.TutorCourses)
            {
                db.TutorCourses.Remove(tc);
            }
            db.SaveChanges();

            TutoringDB.Tutor tempTutor = new TutoringDB.Tutor();
            TutoringDB.Tutee tempTutee = new TutoringDB.Tutee();

            //Fill Tutors
            foreach (string line in File.ReadLines(@"fakeTutors.csv"))
            {
                db.Tutors.Load();
                db.Tutees.Load();
                db.TutorCourses.Load();
                var split = line.Split('|');
                tempTutor.FirstName = split[0];
                tempTutor.LastName  = split[1];
                tempTutor.UserName  = split[2];
                tempTutor.Password  = split[3];
                tempTutor.Email     = split[4];
                Random year = new Random();
                tempTutor.Year = year.Next(1, 4);
                db.Tutors.Add(tempTutor);

                //Randomly matches tutors with courses
                Random rnd   = new Random();
                int    limit = rnd.Next(4);
                db.SaveChanges();
                db.Courses.Load();
                //var courselist = db.Courses.Local;
                //for (int i = 0; i< limit; i++)
                //{
                //    int max = db.Courses.Count();
                //    tempTutorCourse.Cours = courselist[rnd.Next(0,max)];
                //    tempTutorCourse.TutorId = tempTutor.Id+1;
                //    db.TutorCourses.Add(tempTutorCourse);
                //}
                //db.SaveChanges();
            }
            //Fill Tutees
            foreach (string line in File.ReadLines(@"fakeTutees.csv"))
            {
                db.Tutors.Load();
                db.Tutees.Load();
                db.TutorCourses.Load();
                var split = line.Split('|');
                tempTutee.FirstName = split[0];
                tempTutee.LastName  = split[1];
                tempTutee.Username  = split[2];
                tempTutee.Password  = split[3];
                tempTutee.Email     = split[4];
                Random year = new Random();
                tempTutee.Year = year.Next(1, 4);
                db.Tutees.Add(tempTutee);
                db.SaveChanges();
            }
            List <TutoringDB.TutorCourse> tcList = new List <TutoringDB.TutorCourse>();

            db.Courses.Load();
            db.Tutors.Load();
            var tutorlist  = db.Tutors.Local.ToList();
            var courselist = db.Courses.Local.ToList();
            int index      = 0;

            foreach (TutoringDB.Cours c in courselist)
            {
                Random rnd = new Random();
                int    lim = rnd.Next(2, 5);

                for (int i = 0; i < lim; i++)
                {
                    TutoringDB.TutorCourse tempTutorCourse = new TutoringDB.TutorCourse();
                    tempTutorCourse.Cours = c;
                    tempTutorCourse.Tutor = tutorlist[index % tutorlist.Count()];
                    index++;
                    tcList.Add(tempTutorCourse);
                }
            }
            for (int i = 0; i < tcList.Count; i++)
            {
                db.TutorCourses.Load();
                db.TutorCourses.Add(tcList.ElementAt(i));
                db.SaveChanges();
            }
            db.SaveChanges();
            MessageBox.Show("Successfully Loaded.");
        }