public ActionResult AssignTeacherToGroup(int GroupId, int ModuleId, int[] TeacherIds)
        {
            bool flag = false;

            TempData["Message"] = "<ul>";
            foreach (int fId in TeacherIds)
            {
                if (db.TeacherGroups.Where(fd => fd.GroupID == GroupId && fd.TeacherID == fId).FirstOrDefault() != null)
                {
                    TempData["Message"] += "<li>" + "Teacher " + db.Teachers.Where(f => f.TeacherID == fId).FirstOrDefault().Name + " Is Already Assigned To " + db.Groups.Where(d => d.GroupID == GroupId).FirstOrDefault().Name + ". " + "for Module Name : " + db.Modules.Where(c => c.ModuleID == ModuleId).FirstOrDefault().Name + "</li>";
                    flag = true;
                }
                if (!flag)
                {
                    TeacherGroup fDivision = new TeacherGroup();
                    fDivision.GroupID   = GroupId;
                    fDivision.TeacherID = fId;
                    //fDivision.CourseId = CourseId;
                    db.TeacherGroups.Add(fDivision);
                    db.SaveChanges();
                }
            }
            if (flag)
            {
                TempData["Message"] += "</ul>";
                return(RedirectToAction("AssignTeacherToGroup"));
            }
            return(RedirectToAction("Index", "TeacherGroup"));
        }
        public IActionResult GetGroupTestsAndResults(int userId, int groupId)
        {
            TeacherDataAccess teacher = new TeacherDataAccess();
            Mapper            mapper  = new Mapper();
            TeacherGroup      groups  = new TeacherGroup();
            var g = groups.GetAll();

            if (!g.Any(g => g.UserID == userId))
            {
                return(BadRequest("Такой преподаватель отсутствует"));
            }
            if (!g.Any(g => g.GroupID == groupId))
            {
                return(BadRequest("Группа отсутствует"));
            }
            if (!groups.GetAllByUserId(userId).Any(g => g.GroupID == groupId))
            {
                return(BadRequest("Группа относится к другому преподавателю"));
            }
            List <TestDTO>           tests     = teacher.GetTestByGroupId(groupId);
            GroupStatistics          gs        = new GroupStatistics(groupId);
            Dictionary <int, double> statistic = gs.GetAverageResultsOfAllTestsByGroupId(groupId);

            return(Ok(mapper.ConvertTestDTOToGroupTestsAndResultsOutputModel(tests, statistic)));
        }
Beispiel #3
0
        public bool TeacherAdd(int userId, int groupId)
        {
            TeacherGroupDTO teacherA = new TeacherGroupDTO(1, userId, groupId);
            TeacherGroup    teacher  = new TeacherGroup();

            return(teacher.Add(teacherA));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            TeacherGroup teacherGroup = db.TeacherGroups.Find(id);

            db.TeacherGroups.Remove(teacherGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        private async Task TestEntityDelete(TeacherGroup teacherGroupToDelete)
        {
            List <TeacherGroup> teacherGroupActual = await groupStorage.TeacherGroupGetAll();

            await groupStorage.TeacherGroupDelete(TeacherGroupMock.listTeacherGroup[0].GroupId, TeacherGroupMock.listTeacherGroup[0].UserId);

            List <TeacherGroup> actualTeacherGroupAfterDelete = await groupStorage.TeacherGroupGetAll();

            Assert.AreEqual(teacherGroupActual.Count - 1, actualTeacherGroupAfterDelete.Count);
        }
        public void AddGroup(int teacherId, int groupId)
        {
            TeacherGroup teacherGroup = new TeacherGroup()
            {
                TeacherId = teacherId,
                GroupId   = groupId
            };

            dbContext.TeacherGroup.Add(teacherGroup);
        }
        public void DeleteTeacherFromGroup(int groupId, int teacherId)
        {
            TeacherGroup tg = dbContext.TeacherGroup.Where(x => x.GroupId == groupId && x.TeacherId == teacherId).FirstOrDefault();

            if (tg != null)
            {
                dbContext.TeacherGroup.Remove(tg);
                dbContext.SaveChanges();
            }
        }
Beispiel #8
0
        public async Task <IActionResult> UpdateGroup([FromForm] GroupModel model)
        {
            try
            {
                if (this.ValidRoleForAction(_context, _auth, new string[] { "Editor" }))
                {
                    if (ModelState.IsValid)
                    {
                        PhotoUploadCloudinary upload = new PhotoUploadCloudinary(_cloudinaryConfig);
                        Photo photo = upload.Upload(model.Photo);

                        Group item = await _context.GetByIdAsync <Group>(x => x.Id == model.Id);

                        if (item != null)
                        {
                            item.FacultyId       = model.FacultyId;
                            item.LessonHourId    = model.LessonHourId;
                            item.LessonStartDate = model.LessonStartDate;
                            item.LessonEndDate   = model.LessonEndDate;
                            item.LessonStatusId  = model.LessonStatusId;
                            item.Name            = model.Name;
                            item.Photo           = photo;
                            item.RoomId          = model.RoomId;

                            Teacher teacher = await _context.GetByIdAsync <Teacher>(x => x.Id == model.TeacherId);

                            if (teacher != null)
                            {
                                TeacherGroup teacherGroup = new TeacherGroup {
                                    Group = item, Teacher = teacher
                                };
                                await _context.Add(teacherGroup);
                            }

                            _context.Update(item);
                            if (await _context.SaveAll())
                            {
                                return(Ok(item));
                            }
                            return(BadRequest("Error updating group"));
                        }
                        return(NotFound("Group not found"));
                    }
                    return(BadRequest("Model is not valid"));
                }
                return(Forbid());
            }
            catch (Exception ex)
            {
                var arguments = this.GetBaseData(_context, _auth);
                _logger.LogException(ex, arguments.Email, arguments.Path);
                return(BadRequest($"{ex.GetType().Name} was thrown."));
            }
        }
Beispiel #9
0
        private async Task TestSelects()
        {
            List <TeacherGroup> teacherGroupActual = await groupStorage.TeacherGroupGetAll();

            for (int i = 0; i < listTeacherGroup.Count; i++)
            {
                Assert.Contains(listTeacherGroup[i], teacherGroupActual);
            }
            TeacherGroup actualteacherGroup = await groupStorage.TeacherGroupGetById((int)listTeacherGroup[0].Id);

            Assert.AreEqual(listTeacherGroup[0], actualteacherGroup);
        }
 public ActionResult Edit([Bind(Include = "TeacherID,GroupID")] TeacherGroup teacherGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(teacherGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.GroupID   = new SelectList(db.Groups, "GroupID", "Name", teacherGroup.GroupID);
     ViewBag.TeacherID = new SelectList(db.Teachers, "TeacherID", "Name", teacherGroup.TeacherID);
     return(View(teacherGroup));
 }
        public ActionResult AssignModulesToTeachers(int ModuleID, int[] TeacherIDs, int GroupID)
        {
            bool flag = false;

            TempData["Message"] = "<ul>";
            foreach (int fId in TeacherIDs)
            {
                if (db.Teacher_Modules.Where(fd => fd.ModuleID == ModuleID && fd.TeacherID == fId && fd.GroupID == GroupID).FirstOrDefault() != null)
                {
                    TempData["Message"] += "<li>" + "Teacher " + db.Teachers.Where(f => f.TeacherID == fId).FirstOrDefault().Name + " Is Already Assigned To " + db.Modules.Where(d => d.ModuleID == ModuleID).FirstOrDefault().Name + ". " + "</li>";
                    flag = true;
                }
                if (!flag)
                {
                    Teacher_Module mTeacher = new Teacher_Module();
                    mTeacher.ModuleID  = ModuleID;
                    mTeacher.TeacherID = fId;
                    mTeacher.GroupID   = GroupID;
                    db.Teacher_Modules.Add(mTeacher);
                    db.SaveChanges();
                    try
                    {
                        TeacherGroup tGroup = new TeacherGroup();
                        tGroup.TeacherID = fId;
                        tGroup.GroupID   = GroupID;
                        db.TeacherGroups.Add(tGroup);
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                    }

                    try
                    {
                        GroupModule dCourse = new GroupModule();
                        dCourse.ModuleId = ModuleID;
                        dCourse.GroupId  = GroupID;
                        db.GroupModules.Add(dCourse);
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                    }
                }
            }
            if (flag)
            {
                TempData["Message"] += "</ul>";
                return(RedirectToAction("AssignModulesToTeachers"));
            }
            return(RedirectToAction("Index", "Teacher_Modlue"));
        }
        public void AddTeacherToGroup(int groupId, int teacherId)
        {
            if (dbContext.TeacherGroup.Where(x => x.GroupId == groupId && x.TeacherId == teacherId).FirstOrDefault() == null)
            {
                TeacherGroup tg = new TeacherGroup()
                {
                    GroupId   = groupId,
                    TeacherId = teacherId
                };

                dbContext.TeacherGroup.Add(tg);
                dbContext.SaveChanges();
            }
        }
        // GET: TeacherGroups/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TeacherGroup teacherGroup = db.TeacherGroups.Find(id);

            if (teacherGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(teacherGroup));
        }
        // GET: TeacherGroups/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TeacherGroup teacherGroup = db.TeacherGroups.Find(id);

            if (teacherGroup == null)
            {
                return(HttpNotFound());
            }
            ViewBag.GroupID   = new SelectList(db.Groups, "GroupID", "Name", teacherGroup.GroupID);
            ViewBag.TeacherID = new SelectList(db.Teachers, "TeacherID", "Name", teacherGroup.TeacherID);
            return(View(teacherGroup));
        }
Beispiel #15
0
        public async Task <int> TeacherGroupInsert(TeacherGroup teacherGroup)
        {
            string procName = SpName.TeacherGroupInsert;

            try
            {
                var result = await connection.QueryAsync <decimal>(
                    procName,
                    new
                {
                    teacherGroup.GroupId,
                    teacherGroup.UserId
                },
                    dbTransaction,
                    commandType : CommandType.StoredProcedure
                    );

                return(Convert.ToInt32(result.First()));
            }
            catch (SqlException ex)
            {
                throw ex;
            }
        }
Beispiel #16
0
 public async Task TeacherGroupDelete([FromBody] TeacherGroup teacher_Group)
 {
     await groupStorage.TeacherGroupDelete(teacher_Group.GroupId, teacher_Group.UserId);
 }
Beispiel #17
0
 //Добавить учителя для группы
 public async Task TeacherGroupInsert([FromBody] TeacherGroup model)
 {
     await groupStorage.TeacherGroupInsert(model);
 }
Beispiel #18
0
        public int TeacherDelete(TeacherGroupDTO teacherD)
        {
            TeacherGroup teacher = new TeacherGroup();

            return(teacher.Delete(teacherD.ID));
        }
Beispiel #19
0
        public int TeacherDeleteByUserIdGroupId(int userId, int groupId)
        {
            TeacherGroup teacher = new TeacherGroup();

            return(teacher.DeleteByUserIdGroupId(userId, groupId));
        }
        public void DeleteGroup(int teacherId, int groupId)
        {
            TeacherGroup teacherGroup = dbContext.TeacherGroup.FirstOrDefault(x => x.TeacherId == teacherId && x.GroupId == groupId);

            dbContext.TeacherGroup.Remove(teacherGroup);
        }