public ObservableCollection <AccessLevels> AccessLevels(int userAL)
 {
     _accessLevelsList = new ObservableCollection <AccessLevels>();
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         if (userAL == 4)
         {
             _accessLevelsList = new ObservableCollection <AccessLevels>
                                 (
                 (from al in db.AccessLevels
                  where al.AccessLevelId <= 3
                  select new AccessLevels
             {
                 AccessLevelId = al.AccessLevelId,
                 AccessLevelName = al.AccessLevelName
             }).ToList());
         }
         else
         {
             _accessLevelsList = new ObservableCollection <AccessLevels>
                                 (
                 (from al in db.AccessLevels
                  select new AccessLevels
             {
                 AccessLevelId = al.AccessLevelId,
                 AccessLevelName = al.AccessLevelName
             }).ToList());
         }
     }
     return(_accessLevelsList);
 }
        public void ConnectStudentWithGroup(string login, int groupId)
        {
            Users         student = new Users();
            StudentGroups sg      = new StudentGroups();

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                var st = from us in db.Users
                         where us.Login == login
                         select new Users
                {
                    UserId        = us.UserId,
                    FirstName     = us.FirstName,
                    MiddleName    = !string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty,
                    LastName      = us.LastName,
                    Login         = us.Login,
                    PasswordHash  = us.PasswordHash,
                    PasswordSalt  = us.PasswordSalt,
                    AccessLevelId = us.AccessLevelId,
                    Email         = us.Email,
                    Phone         = us.Phone
                };
                foreach (Users item in st)
                {
                    student = item;
                }

                sg.GroupId = groupId;
                sg.UserId  = student.UserId;

                db.StudentGroups.Add(sg);
                db.SaveChanges();
            }
        }
 public FullInfoAdmin FullInfoAdmin(int id)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         var admin = from us in db.Users
                     join al in db.AccessLevels on us.AccessLevelId equals al.AccessLevelId
                     where us.UserId == id
                     select new FullInfoAdmin
         {
             UserId         = us.UserId,
             FirstName      = us.FirstName,
             MiddleName     = !string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty,
             LastName       = us.LastName,
             Login          = us.Login,
             PasswordHash   = us.PasswordHash,
             PasswordSalt   = us.PasswordSalt,
             AccessLevelId  = us.AccessLevelId,
             AcessLevelName = al.AccessLevelName,
         };
         foreach (var item in admin)
         {
             _fullInfoAdmin = item;
         }
     }
     return(_fullInfoAdmin);
 }
        public void AddTeacher(string login, int positionId)
        {
            int      id       = 0;
            Teachers teachers = new Teachers();

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                var teach = from us in db.Users
                            where us.Login == login
                            select new
                {
                    Id = us.UserId
                };

                foreach (var item in teach)
                {
                    id = item.Id;
                }

                teachers.UserId     = id;
                teachers.PositionId = positionId;

                db.Teachers.Add(teachers);

                db.SaveChanges();
            }
        }
예제 #5
0
        public static UserSession Instance(int userId)
        {
            if (_userSession == null)
            {
                _userSession = new UserSession();
                _userId      = userId;
                using (ElectronicalJournalContext db = new ElectronicalJournalContext())
                {
                    var user = from u in db.Users
                               join al in db.AccessLevels on u.AccessLevelId equals al.AccessLevelId
                               where u.UserId == userId
                               select new
                    {
                        FullName = u.LastName + " " + u.FirstName + " " +
                                   (!string.IsNullOrEmpty(u.MiddleName) ? u.MiddleName : string.Empty),
                        AccessLevel     = u.AccessLevelId == null ? 0 : Convert.ToInt32(u.AccessLevelId),
                        AccessLevelName = al.AccessLevelName
                    };
                    foreach (var item in user)
                    {
                        _fullName        = item.FullName;
                        _accessLevelId   = item.AccessLevel;
                        _accessLevelName = item.AccessLevelName;
                    }
                }
            }

            return(_userSession);
        }
 public void EditDekanat(Users user)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         db.Users.Update(user);
         db.SaveChanges();
     }
 }
 public void DeleteUser(Users user)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         db.Users.Remove(user);
         db.SaveChanges();
     }
 }
 void ExecuteEditGroupCommand(object p)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         db.Groups.Update(_group);
         db.SaveChanges();
     }
     _navigationManager.Navigate(NavigationKeys.FullInfoGroupView, _group.GroupId);
 }
 void ExecuteDeleteGroupCommand(object p)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         db.Groups.Remove(_group);
         db.SaveChanges();
     }
     _dialogManager.ShowMessage("Группа удалена");
     _navigationManager.Navigate(NavigationKeys.ManagingGroupsView);
 }
 void ExecuteDeleteLessonCommand(object p)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         Lessons delLes = db.Lessons.Find(_lessonInfo.LessonId);
         db.Lessons.Remove(delLes);
         db.SaveChanges();
     }
     _dialogManager.ShowMessage("Занятие удалено");
     _navigationManager.Navigate(NavigationKeys.LessonListView, _lessonInfo.GroupId);
 }
 public bool AddNewUsers(Users user)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         try
         {
             user.AccessLevel = null;
             db.Users.Add(user);
             db.SaveChanges();
             return(true);
         }
         catch (DbUpdateException)
         {
             return(false);
         }
     }
 }
예제 #12
0
        //Метод проверки, существует пользователь с таким логин в бд
        public bool CheckLogin()
        {
            var db = new ElectronicalJournalContext();

            var us = from user in db.Users
                     where user.Login == _login
                     select new Users
            {
                UserId        = user.UserId,
                FirstName     = user.FirstName,
                MiddleName    = !string.IsNullOrEmpty(user.MiddleName) ? user.MiddleName : string.Empty,
                LastName      = user.LastName,
                Login         = user.Login,
                PasswordHash  = user.PasswordHash,
                PasswordSalt  = user.PasswordSalt,
                AccessLevelId = user.AccessLevelId,
                Phone         = !string.IsNullOrEmpty(user.Phone) ? user.Phone : string.Empty,
                Email         = !string.IsNullOrEmpty(user.Email) ? user.Email : string.Empty,
            };

            foreach (var item in us)
            {
                _user = new Users
                {
                    UserId        = item.UserId,
                    FirstName     = item.FirstName,
                    MiddleName    = item.MiddleName,
                    LastName      = item.LastName,
                    Login         = item.Login,
                    PasswordHash  = item.PasswordHash,
                    PasswordSalt  = item.PasswordSalt,
                    AccessLevelId = item.AccessLevelId,
                    Phone         = item.Phone,
                    Email         = item.Email
                };
            }

            if (_user == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        void ExecuteAddGroupCommand(object p)
        {
            Groups newGroup = new Groups();

            newGroup.GroupLessons  = null;
            newGroup.StudentGroups = null;

            newGroup.GroupName          = GroupName;
            newGroup.YearFormationGroup = DateFormation;

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                db.Groups.Add(newGroup);
                db.SaveChanges();
            }

            _navigationManager.Navigate(NavigationKeys.ManagingGroupsView);
        }
        void ExecuteAddNewLessonCommand(object p)
        {
            Lessons newLesson = new Lessons
            {
                Date      = SelectedLessonDate,
                SubjectId = SelectedSubject.SubjectId,
            };

            if (SelectedClassroom != null)
            {
                newLesson.ClassroomId = SelectedClassroom.ClassroomId;
            }
            if (SelectedTimeSchedule != null)
            {
                newLesson.TimeScheduleId = SelectedTimeSchedule.TimeScheduleId;
            }
            if (SelectedLessonType != null)
            {
                newLesson.LessonTypeId = SelectedLessonType.LessonTypeId;
            }

            GroupLessons groupLessons = new GroupLessons
            {
                GroupId = _groupId,
                Lesson  = newLesson
            };
            TeacherLessons teacherLessons = new TeacherLessons
            {
                TeacherId = SelectedTeacher.TeacherId,
                Lesson    = newLesson
            };

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                db.Lessons.Add(newLesson);
                db.GroupLessons.Add(groupLessons);
                db.TeacherLessons.Add(teacherLessons);
                db.SaveChanges();
            }
            _navigationManager.Navigate(NavigationKeys.LessonListView, _groupId);
        }
 public ObservableCollection <GeneralUserInformation> DataReques()
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         var usersCollection = from u in db.Users
                               join al in db.AccessLevels on u.AccessLevelId equals al.AccessLevelId
                               select new GeneralUserInformation
         {
             UserId   = u.UserId,
             Login    = u.Login,
             FullName = u.LastName + " " + u.FirstName + " " +
                        (!string.IsNullOrEmpty(u.MiddleName) ? u.MiddleName : string.Empty),
             AccessLevelName = al.AccessLevelName
         };
         foreach (var item in usersCollection)
         {
             _users.Add(item);
         }
     }
     return(_users);
 }
        public void EditStudent(FullInfoStudent student)
        {
            Users editUser = student;

            StudentGroups editSGUser = null;

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                var studGroup = from sg in db.StudentGroups
                                where sg.UserId == editUser.UserId
                                select new StudentGroups
                {
                    StudentGroupId = sg.StudentGroupId,
                    UserId         = sg.UserId,
                    GroupId        = sg.GroupId
                };
                foreach (StudentGroups item in studGroup)
                {
                    editSGUser = item;
                }

                if (editSGUser == null && student.GroupId != null)
                {
                    StudentGroups sg = new StudentGroups();
                    sg.GroupId = student.GroupId;
                    sg.UserId  = student.UserId;
                    db.StudentGroups.Add(sg);
                }
                else if (editSGUser == null)
                {
                }
                else if (editSGUser.GroupId != student.GroupId)
                {
                    editSGUser.GroupId = student.GroupId;
                    db.StudentGroups.Update(editSGUser);
                }
                db.Users.Update(editUser);
                db.SaveChanges();
            }
        }
        public void EditTeacher(FullInfoTeacher teacher)
        {
            Users    editUser     = teacher;
            Teachers editTeachers = null;

            using (ElectronicalJournalContext db = new ElectronicalJournalContext())
            {
                var teach = from tc in db.Teachers
                            where tc.UserId == editUser.UserId
                            select new Teachers
                {
                    TeacherId  = tc.TeacherId,
                    PositionId = tc.PositionId,
                    UserId     = tc.UserId
                };
                foreach (Teachers item in teach)
                {
                    editTeachers = item;
                }

                if (editTeachers == null && teacher.PositionId != null)
                {
                    Teachers tc = new Teachers();
                    tc.UserId     = teacher.UserId;
                    tc.PositionId = teacher.PositionId;
                    db.Teachers.Add(tc);
                }
                else if (editTeachers == null)
                {
                }
                else if (editTeachers.PositionId != teacher.PositionId)
                {
                    editTeachers.PositionId = teacher.PositionId;
                    db.Teachers.Update(editTeachers);
                }
                db.Users.Update(editUser);
                db.SaveChanges();
            }
        }
        public void OnNavigatedTo(object arg)
        {
            if (arg is int)
            {
                _groupId  = Convert.ToInt32(arg);
                _group    = new Groups();
                _students = new List <GeneralUserInformation>();

                using (ElectronicalJournalContext db = new ElectronicalJournalContext())
                {
                    _group = db.Groups.Find(_groupId);

                    _students = (from us in db.Users
                                 join sg in db.StudentGroups on us.UserId equals sg.UserId
                                 join al in db.AccessLevels on us.AccessLevelId equals al.AccessLevelId
                                 where sg.GroupId == _groupId
                                 select new GeneralUserInformation
                    {
                        UserId = us.UserId,
                        Login = us.Login,
                        FullName = us.LastName + " " + us.FirstName + " " +
                                   (!string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty),
                        AccessLevelName = al.AccessLevelName
                    }).ToList();
                }

                int days = Convert.ToInt32(DateTime.Today.Subtract(_group.YearFormationGroup).TotalDays);
                _course = 0;
                while (days > 0)
                {
                    days = days - 365;
                    _course++;
                }
            }
            else
            {
                throw new ArgumentException();
            }
        }
 public FullInfoTeacher FullInfoTeacher(int id)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         var teacher = from us in db.Users
                       join al in db.AccessLevels on us.AccessLevelId equals al.AccessLevelId
                       into alDatails
                       from alDat in alDatails.DefaultIfEmpty()
                       join tch in db.Teachers on us.UserId equals tch.UserId
                       into tchDatail
                       from tchDat in tchDatail.DefaultIfEmpty()
                       join pos in db.Positions on tchDat.PositionId equals pos.PositionId
                       into posDatail
                       from posDat in posDatail.DefaultIfEmpty()
                       where us.UserId == id
                       select new FullInfoTeacher
         {
             UserId         = us.UserId,
             FirstName      = us.FirstName,
             MiddleName     = !string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty,
             LastName       = us.LastName,
             Login          = us.Login,
             PasswordHash   = us.PasswordHash,
             PasswordSalt   = us.PasswordSalt,
             AccessLevelId  = us.AccessLevelId,
             AcessLevelName = alDat.AccessLevelName,
             Email          = us.Email,
             Phone          = us.Phone,
             PositionId     = posDat.PositionId,
             PositionName   = posDat.PositionName
         };
         foreach (var item in teacher)
         {
             _fullInfoTeacher = item;
         }
     }
     return(_fullInfoTeacher);
 }
 public FullInfoStudent FullInfoStudent(int id)
 {
     using (ElectronicalJournalContext db = new ElectronicalJournalContext())
     {
         var student = from us in db.Users
                       join al in db.AccessLevels on us.AccessLevelId equals al.AccessLevelId
                       into alDatails
                       from alDat in alDatails.DefaultIfEmpty()
                       join stGr in db.StudentGroups on us.UserId equals stGr.UserId
                       into stGrDatails
                       from stGrDat in stGrDatails.DefaultIfEmpty()
                       join gr in db.Groups on stGrDat.GroupId equals gr.GroupId
                       into grDatails
                       from grDat in grDatails.DefaultIfEmpty()
                       where us.UserId == id
                       select new FullInfoStudent
         {
             UserId         = us.UserId,
             FirstName      = us.FirstName,
             MiddleName     = !string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty,
             LastName       = us.LastName,
             Login          = us.Login,
             PasswordHash   = us.PasswordHash,
             PasswordSalt   = us.PasswordSalt,
             AccessLevelId  = us.AccessLevelId,
             AcessLevelName = !string.IsNullOrEmpty(alDat.AccessLevelName) ? alDat.AccessLevelName : string.Empty,
             Email          = us.Email,
             Phone          = us.Phone,
             GroupId        = stGrDat.GroupId,
             GroupName      = !string.IsNullOrEmpty(grDat.GroupName) ? grDat.GroupName : string.Empty
         };
         foreach (var item in student)
         {
             _fullInfoStudent = item;
         }
     }
     return(_fullInfoStudent);
 }
        public void OnNavigatedTo(object arg)
        {
            if (arg is int)
            {
                _groupId     = Convert.ToInt32(arg);
                _lessondDate = DateTime.Today;
                using (ElectronicalJournalContext db = new ElectronicalJournalContext())
                {
                    _subjectsList      = db.Subjects.ToList();
                    _timeSchedulesList = db.TimeSchedules.ToList();
                    _lessonTypesList   = db.LessonTypes.ToList();

                    _teachersList = (from tch in db.Teachers
                                     join us in db.Users on tch.UserId equals us.UserId
                                     select new TeachersModelForAddNewLesson
                    {
                        TeacherId = tch.TeacherId,
                        FullName = us.LastName + " " + us.FirstName + " "
                                   + (!string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty)
                    }).ToList();
                    _classroomsList = (from cl in db.Classrooms
                                       join bl in db.Buildings on cl.BuildingId equals bl.BuildingId
                                       into blDatail
                                       from blDat in blDatail.DefaultIfEmpty()
                                       select new Classrooms
                    {
                        ClassroomId = cl.ClassroomId,
                        ClassroomName = (!string.IsNullOrEmpty(blDat.BuildingName)?blDat.BuildingName:string.Empty) + " " + cl.ClassroomName
                    }).ToList();
                }
            }
            else
            {
                throw new ArgumentException();
            }
        }
 public void OnNavigatedTo(object arg)
 {
     if (arg is int)
     {
         _lessonsList = new List <ViewGroupsLessons>();
         using (ElectronicalJournalContext db = new ElectronicalJournalContext())
         {
             _group = db.Groups.Find(Convert.ToInt32(arg));
             #region запрос данных
             List <ViewGroupsLessons> lessons = (from ls in db.Lessons
                                                 join sub in db.Subjects on ls.SubjectId equals sub.SubjectId
                                                 join lt in db.LessonTypes on ls.LessonTypeId equals lt.LessonTypeId
                                                 into ltDatails
                                                 from ltDat in ltDatails.DefaultIfEmpty()
                                                 join ts in db.TimeSchedules on ls.TimeScheduleId equals ts.TimeScheduleId
                                                 into tsDatails
                                                 from tsDat in tsDatails.DefaultIfEmpty()
                                                 join cls in db.Classrooms on ls.ClassroomId equals cls.ClassroomId
                                                 into clsDatail
                                                 from clsDat in clsDatail.DefaultIfEmpty()
                                                 join build in db.Buildings on clsDat.BuildingId equals build.BuildingId
                                                 into buildDatail
                                                 from buidDat in buildDatail.DefaultIfEmpty()
                                                 join gr_ls in db.GroupLessons on ls.LessonId equals gr_ls.LessonId
                                                 join gr in db.Groups on gr_ls.GroupId equals gr.GroupId
                                                 join tl in db.TeacherLessons on ls.LessonId equals tl.LessonId
                                                 join tch in db.Teachers on tl.TeacherId equals tch.TeacherId
                                                 join us in db.Users on tch.UserId equals us.UserId
                                                 where gr.GroupId == _group.GroupId
                                                 select new ViewGroupsLessons
             {
                 LessonId = ls.LessonId,
                 GroupId = gr.GroupId,
                 GroupName = gr.GroupName,
                 DateLesson = ls.Date.ToLongDateString(),
                 TimeLesson = !string.IsNullOrEmpty(tsDat.TimeInterval) ? tsDat.TimeInterval : string.Empty,
                 Teachers = us.LastName + " " + us.LastName + " " + (!string.IsNullOrEmpty(us.MiddleName) ? us.MiddleName : string.Empty),
                 SubjectName = sub.SubjectName,
                 LessonType = ltDat.LessonTypeName,
                 Classroom = buidDat.BuildingName + " " + clsDat.ClassroomName
             }).ToList();
             #endregion
             //Формируем список преподавателей, которые ведут занятия (на тот случай, если двое ведут одну пару)
             int           i            = 0;
             int           j            = 0;
             StringBuilder teachersList = new StringBuilder();
             while (i < lessons.Count && j < lessons.Count)
             {
                 j = i + 1;
                 if (j < lessons.Count)
                 {
                     if (lessons[i].LessonId != lessons[j].LessonId)
                     {
                         _lessonsList.Add(lessons[i]);
                         i++;
                         if (j == lessons.Count - 1)
                         {
                             _lessonsList.Add(lessons[j]);
                         }
                     }
                     else
                     {
                         teachersList.Append(lessons[i].Teachers + "\n");
                         teachersList.Append(lessons[j].Teachers + "\n");
                         j++;
                         while (j < lessons.Count && lessons[i].LessonId == lessons[j].LessonId)                                 //пока id равны =>пропускаем элементы
                         {
                             teachersList.Append(lessons[j] + "\n");
                         }
                         lessons[i].Teachers = teachersList.ToString();
                         _lessonsList.Add(lessons[i]);
                         i = j - 1;
                         teachersList.Clear();
                     }
                 }
             }
         }
     }
     else
     {
         throw new ArgumentException();
     }
 }
 public TeacherHomePageController()
 {
     _user = new Users();
     db    = new ElectronicalJournalContext();
 }
예제 #24
0
 public StudentHomePageController()
 {
     db = new ElectronicalJournalContext();
 }
 public AuthorizationController()
 {
     db        = new ElectronicalJournalContext();
     _password = new Password();
 }