private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            string        GroupName     = dataGridView1["GroupName", e.RowIndex].Value.ToString();
            AcademicGroup academicGroup = academicGroups.Find(item => item.Name.Equals(GroupName));

            selectedGroupTesting = groupTestingList.Find(o => o.idAcademicGroup.Equals(academicGroup.id));

            int index = comboBox1.Items.IndexOf(academicGroup.Name.Trim());

            comboBox1.SelectedItem = comboBox1.Items[index];

            dateTimePicker1.Value = selectedGroupTesting.expirationDate;

            checkBox1.Checked = selectedGroupTesting.isAvailable;

            updatedGroupTesting = new GroupTesting()
            {
                idTest          = selectedGroupTesting.idTest,
                idAcademicGroup = selectedGroupTesting.idAcademicGroup,
                expirationDate  = selectedGroupTesting.expirationDate,
                isAvailable     = selectedGroupTesting.isAvailable
            };
            buttonUpdate.Enabled = true;
            buttonDelete.Enabled = true;
        }
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            string        selectedText  = comboBox1.SelectedItem.ToString().Trim();
            AcademicGroup academicGroup = academicGroups.Find(item => item.Name.Trim().Equals(selectedText));
            bool          alreadyExist  = false;
            var           x             = dataGridView1.Rows;

            for (int i = 0; i < x.Count; i++)
            {
                if (Convert.ToString(x[i].Cells["GroupName"].Value) == academicGroup.Name)
                {
                    alreadyExist = true;
                }
            }

            if (academicGroup == null || alreadyExist)
            {
                MessageBox.Show("Данная связь уже существует или предмет не выбран");
                return;
            }
            using (StudentTestingEntities1 db = new StudentTestingEntities1())
            {
                string query = @"INSERT into GroupTesting(idTest,idAcademicGroup,expirationDate,isAvailable) VALUES 
                                (@idTest, @idAcademicGroup , @expirationDate, @isAvailable)";

                List <SqlParameter> sqlParameters = new List <SqlParameter>();
                sqlParameters.Add(new SqlParameter("@idTest", test.id));
                sqlParameters.Add(new SqlParameter("@idAcademicGroup", academicGroup.id));
                sqlParameters.Add(new SqlParameter("@expirationDate", dateTimePicker1.Value));
                sqlParameters.Add(new SqlParameter("@isAvailable", checkBox1.Checked));
                db.Database.ExecuteSqlCommand(query, sqlParameters.ToArray());
            }
            LoadData();
        }
        public async Task <bool> Update(AcademicGroup group)
        {
            var groupFromDb = _context.AcademicGroups.FirstOrDefault(x => x.Id == group.Id);

            groupFromDb.Name         = group.Name;
            groupFromDb.DepartmentId = group.DepartmentId;


            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Exists(group.Id))
                {
                    return(false);
                }
                else
                {
                    throw;
                }
            }
            return(true);
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,SpecialtyId,Name,FormationYear")] AcademicGroup group)
        {
            if (id != group.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(group);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GroupExists(group.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            ViewData["SpecialtyId"] = new SelectList(_context.Specialties.OrderBy(c => c.Code).Select(x => new SelectListItem {
                Text = $"{x.Code} - {x.Name}", Value = x.Code
            }), "Value", "Text");
            return(View(group));
        }
        public async Task <bool> Add(AcademicGroup group)
        {
            _context.AcademicGroups.Add(group);
            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 6
0
        public async Task <JsonResult> ApplyForGroup(int groupId)
        {
            try
            {
                await groups.OpenConnectionAsync();

                AcademicGroup group = await groups.GetAsync(groupId);

                if (group == null)
                {
                    return(Json(new { Error = "noGroup" }));
                }
                int teacherId = GetCurrentTeacherId();
                group.TeacherId = teacherId;

                try
                {
                    await groups.UpdateAsync(group);

                    return(Json(new { Error = "ok" }));
                }
                catch (SqlException ex)
                {
                    if (ex.Number == 50_004)
                    {
                        return(Json(new { Error = "maxGroups" }));
                    }
                    throw ex;
                }
            }
            finally
            {
                groups.CloseConnection();
            }
        }
        public async Task <IActionResult> Create([FromBody] AcademicGroup group)
        {
            if (group != null)
            {
                await _dataManager._groupRepository.Add(group);

                return(Ok());
            }
            else
            {
                return(BadRequest("Object is null"));
            }
        }
        public async Task <IActionResult> Create([Bind("Id,SpecialtyId,Name,FormationYear")] AcademicGroup group)
        {
            if (ModelState.IsValid)
            {
                _context.Add(group);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["SpecialtyId"] = new SelectList(_context.Specialties.OrderBy(c => c.Code).Select(x => new SelectListItem {
                Text = $"{x.Code} - {x.Name}", Value = x.Code
            }), "Value", "Text");
            return(View(group));
        }
        public async Task <bool> UpdateGroup(GroupEditViewModel groupToUpdate)
        {
            if (groupToUpdate != null)
            {
                var group = new AcademicGroup()
                {
                    Id           = Guid.Parse(groupToUpdate.GroupId),
                    Name         = groupToUpdate.GroupName,
                    DepartmentId = Guid.Parse(groupToUpdate.SelectedDepartment)
                };
                var response = await _requestSender.SendPostRequestAsync("https://localhost:44389/api/AcademicGroups/update", group);

                return(true);
            }

            return(false);
        }
Esempio n. 10
0
        public async Task <IActionResult> OnGetAsync(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Group = await _requestSender.GetContetFromRequestAsyncAs <AcademicGroup>(
                await _requestSender.SendGetRequestAsync("https://localhost:44389/api/AcademicGroups/one?id=" + id)
                );

            if (Group == null)
            {
                return(NotFound());
            }
            return(Page());
        }
 public async Task <IActionResult> Update(AcademicGroup group)
 {
     if (group != null)
     {
         if (!(await _dataManager._groupRepository.Update(group)))
         {
             return(NotFound());
         }
         else
         {
             return(Ok());
         }
     }
     else
     {
         return(Problem("object is null"));
     }
 }
        public async Task <GroupEditViewModel> CreateGroupEditViewModel(AcademicGroup group)
        {
            var groupEditViewModel = new GroupEditViewModel()
            {
                GroupName          = group.Name,
                GroupId            = group.Id.ToString(),
                Faculties          = await GetFaculties(),
                SelectedDepartment = group.DepartmentId.ToString()
            };

            if (group.Department != null && group.Department.FacultyId != null)
            {
                groupEditViewModel.Departments = await GetDepartments(group.Department.FacultyId);

                groupEditViewModel.SelectedFaculty = group.Department.FacultyId.ToString();
            }

            return(groupEditViewModel);
        }
        private void buttonUpdate_Click(object sender, EventArgs e)
        {
            if (selectedGroupTesting == null || updatedGroupTesting == null)
            {
                MessageBox.Show("Элемент не выбран");
                return;
            }
            string        selectedText  = comboBox1.SelectedItem.ToString().Trim();
            AcademicGroup academicGroup = academicGroups.Find(item => item.Name.Trim().Equals(selectedText));

            if (academicGroup == null)
            {
                MessageBox.Show("Группа не выбрана или доступ такой группе ещё не разрешён");
                return;
            }

            bool alredyExist = false;

            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1["GroupName", i].Value.ToString().Equals(academicGroup.Name))
                {
                    alredyExist = true;
                }
            }

            updatedGroupTesting.idAcademicGroup = academicGroup.id;
            updatedGroupTesting.expirationDate  = dateTimePicker1.Value;
            updatedGroupTesting.isAvailable     = checkBox1.Checked;

            if (!selectedGroupTesting.idAcademicGroup.Equals(updatedGroupTesting.idAcademicGroup))
            {
                if (alredyExist)
                {
                    MessageBox.Show("Такой группе уже выдан доступ");
                    return;
                }
            }
            UpdateAttributes();
            Clear();
            LoadData();
        }
        public async Task <bool> SaveGroup(GroupEditViewModel groupToSave)
        {
            if (groupToSave != null)
            {
                var group = new AcademicGroup()
                {
                    Name         = groupToSave.GroupName,
                    DepartmentId = Guid.Parse(groupToSave.SelectedDepartment)
                };
                //        group.Faculty = await _requestSender.GetContetFromRequestAsyncAs<Faculty>(
                //await _requestSender.SendGetRequestAsync("https://localhost:44389/api/Faculties/one?id=" + Guid.Parse(groupToSave.SelectedFaculty))
                //);
                //        group.Department = await _requestSender.GetContetFromRequestAsyncAs<Department>(
                //await _requestSender.SendGetRequestAsync("https://localhost:44389/api/Departments/one?id=" + Guid.Parse(groupToSave.SelectedDepartment))
                //);
                var response = await _requestSender.SendPostRequestAsync("https://localhost:44389/api/AcademicGroups/create", group);

                return(true);
            }
            return(false);
        }
        private void btnEnter_Click(object sender, EventArgs e)
        {
            string        selectedText  = comboBox1.SelectedItem.ToString().Trim();
            AcademicGroup academicGroup = academicGroups.Find(item => item.Name.Trim().Equals(selectedText));

            bool allDataDontInserted = tbSurname.Text == null
                                       & tbName.Text == null
                                       & tbPatronymic.Text == null
                                       & tbLogin.Text == null
                                       & tbPassword.Text == null
                                       & academicGroup == null;

            if (allDataDontInserted)
            {
                return;
            }

            DialogResult result = MessageBox.Show("Вы уверены, что хотите сохранить изменения?",
                                                  "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result != DialogResult.Yes)
            {
                return;
            }

            using (StudentTestingEntities1 db = new StudentTestingEntities1())
            {
                using (SqlConnection connection = new SqlConnection(db.Database.Connection.ConnectionString))
                {
                    connection.Open();
                    using (SqlCommand command = new SqlCommand(
                               "sp_addlogin @Login, @Password, @DBNAME", connection))
                    {
                        command.Parameters.Add(new SqlParameter("@Login", tbLogin.Text));
                        command.Parameters.Add(new SqlParameter("@Password", tbPassword.Text));
                        command.Parameters.Add(new SqlParameter("@DBNAME", Properties.Settings.Default.DataBase));

                        SqlDataReader reader = command.ExecuteReader();
                    }

                    using (SqlCommand command = new SqlCommand(
                               "sp_adduser @Login, @Login, @Role", connection))
                    {
                        command.Parameters.Add(new SqlParameter("@Login", tbLogin.Text));
                        command.Parameters.Add(new SqlParameter("@Role", "student"));

                        SqlDataReader reader = command.ExecuteReader();
                    }
                }

                db.Student.Add(new Student()
                {
                    Surname         = tbSurname.Text,
                    Name            = tbName.Text,
                    Patronymic      = tbPatronymic.Text,
                    Login           = tbLogin.Text,
                    idAcademicGroup = academicGroup.id
                });
                db.SaveChanges();
            }
            LoadData();
        }
Esempio n. 16
0
        public void AddUsers(int countUsers, int countTeachers, int countAdmins)
        {
            var faculty = new Faculty {
                Name = GetRandStr(MinFacultyLen, MaxFacultyLen)
            };

            var department = new Department
            {
                Name    = GetRandStr(MinFacultyLen, MaxFacultyLen),
                Faculty = faculty
            };

            var group = new AcademicGroup
            {
                Name    = GetRandStr(MinNamesLen, MaxNamesLen, true),
                Faculty = faculty
            };

            for (var i = 0; i < countUsers; i++)
            {
                var student = new Student
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    GitLink      = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    Group        = group
                };

                _usersStorage.Students.Add(student);
            }

            for (var i = 0; i < countTeachers; i++)
            {
                var teacher = new Teacher
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    Department   = department
                };

                _usersStorage.Teachers.Add(teacher);
            }

            for (var i = 0; i < countAdmins; i++)
            {
                var admin = new Admin
                {
                    FirstName    = GetRandStr(MinNamesLen, MaxNamesLen),
                    LastName     = GetRandStr(MinNamesLen, MaxNamesLen),
                    Email        = GetRandStr(MinNamesLen, MaxNamesLen, true),
                    PasswordHash = GetRandStr(HashLen, HashLen, true),
                    SecretKey    = GetRandStr(MinNamesLen, MaxNamesLen, true)
                };

                _usersStorage.Admins.Add(admin);
            }

            _usersStorage.SaveChanges();
        }