예제 #1
0
        public async Task <IActionResult> Update(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            Teacher teacher = await _context.Teachers.FindAsync(id);

            if (teacher == null)
            {
                return(NotFound());
            }
            TeacherDescription teacherDescription = await _context.TeacherDescriptions.Where(t => t.TeacherId == id).FirstOrDefaultAsync();

            if (teacherDescription == null)
            {
                return(NotFound());
            }
            TeacherVM teacherVM = new TeacherVM()
            {
                Teacher            = teacher,
                TeacherDescription = teacherDescription
            };

            return(View(teacherVM));
        }
예제 #2
0
        ///////////////////////////////////////////////////////

        public ActionResult AssignmentTurnIn(int classID, int assignmentID)
        {
            if (test(classID) != null)
            {
                return(test(classID));
            }

            var urcL = db.UserRoleClasses.Where(i => i.RoleID == 3 && i.ClassID == classID);
            var list = new List <int>();

            foreach (var i in urcL)
            {
                list.Add(i.UsersID);
            }
            var request = db.Users.Where(i => list.Contains(i.UsersID)).ToList();

            var student = new TeacherVM(db.Classes.Where(i => i.ClassID == classID).FirstOrDefault(), request);

            student.assignment = db.Assignments.Where(i => i.ClassID == classID && i.AssignmentID == assignmentID).ToList();

            var idid      = User.Identity.GetUserId();
            int studentID = db.Users.Where(a => a.IdentityID == idid).FirstOrDefault().UsersID;


            student.documents = GetFiles(classID, assignmentID, studentID);

            return(View("AssignmentTurnIn", "_StudentLayout", student));
        }
예제 #3
0
        public ActionResult CreateTeacher(TeacherVM tcr)
        {
            string str = "";

            try {
                adminService.AddTeachersFromAdmin(tcr.Username, tcr.Email, Server.MapPath(ConfigurationManager.AppSettings["BasePath"]));
                ViewBag.Success = "";            return(View());
            }
            catch (SqlException ex)
            {
                str  = "Source:" + ex.Source;
                str += "\n" + "Number:" + ex.Number.ToString();
                str += "\n" + "Message:" + ex.Message;
                str += "\n" + "Class:" + ex.Class.ToString();
                str += "\n" + "Procedure:" + ex.Procedure.ToString();
                str += "\n" + "Line Number:" + ex.LineNumber.ToString();
                str += "\n" + "Server:" + ex.Server.ToString();
            }

            finally
            {
                Response.Write(str);
            }
            return(View("Error", (object)"Invalid input for Teacher"));
        }
예제 #4
0
        private static void FillSem(ExcelWorksheet worksheet, int sem, TeacherVM teacher)
        {
            var row = 8;

            foreach (var entry in teacher.Entries.Where(e => e.Subject.Семестр == sem))
            {
                worksheet.Cells[row, 1].Value     = entry.Subject.Название;
                worksheet.Cells[row, 2].Value     = entry.Subject.Курс + ", ИТ";
                worksheet.Cells[row, 3].Value     = entry.Subject.Поток;
                worksheet.Cells[row, 4].Value     = entry.Subject.Численность;
                worksheet.Cells[row, 5].Value     = "ПЛ";
                worksheet.Cells[row + 1, 5].Value = "ВЫП";
                worksheet.Cells[row, 6].Value     = entry.Lectures;
                worksheet.Cells[row, 7].Value     = entry.Laboratory;
                worksheet.Cells[row, 8].Value     = entry.Practical;
                worksheet.Cells[row, 9].Value     = entry.Consultations;
                worksheet.Cells[row, 10].Value    = entry.Test;
                worksheet.Cells[row, 11].Value    = entry.Exams;
                worksheet.Cells[row, 12].Value    = entry.Nir;
                worksheet.Cells[row, 14].Value    = entry.CourseDesigning;
                worksheet.Cells[row, 15].Value    = entry.Vkr;
                worksheet.Cells[row, 16].Value    = entry.Gek + entry.Gak;
                worksheet.Cells[row, 17].Value    = entry.Rma;
                worksheet.Cells[row, 20].Value    = Math.Round(entry.Amount, 2);
                row += 2;
                worksheet.InsertRow(row, 2, row - 1);
            }
        }
예제 #5
0
        private void teacherEditButton_Click(object sender, EventArgs e)
        {
            var selectedRowIndex = GetSelectedRowIndex(teachersDataGridView);

            if (selectedRowIndex == null)
            {
                return;
            }
            var teacher   = TeachersRepository.GetAll()[(int)selectedRowIndex];
            var teacherVM = new TeacherVM
            {
                Teacher    = teacher,
                SubjectIds = TeacherSubjectRepository.GetSubjectsForTeacher(teacher.Id),
            };

            new DetailedTeacherForm
            (
                teacherVM,
                SubjectsRepository.GetAll(),
                updatedTeacherVM =>
            {
                TeachersRepository.Update(updatedTeacherVM.Teacher);
                TeacherSubjectRepository.UpdateSubjectsForTeacher(updatedTeacherVM.Teacher.Id, updatedTeacherVM.SubjectIds);
                UpdateTeachersGrid();
                return(true);
            }
            ).Show();
        }
        public async Task <IActionResult> Detail(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            Teacher teacher = await _db.Teachers.FindAsync(id);

            TeacherContact teacherContact = await _db.TeacherContacts.FirstOrDefaultAsync(c => c.Id == teacher.TeacherContactId);

            SkillsTeacher skillsTeacher = await _db.SkillsTeachers.FirstOrDefaultAsync(c => c.Id == teacher.SkillsTeacherId);

            TeacherVM teacherVM = new TeacherVM()
            {
                Teacher        = teacher,
                TeacherContact = teacherContact,
                SkillsTeacher  = skillsTeacher
            };

            if (teacherVM == null)
            {
                return(NotFound());
            }
            return(View(teacherVM));
        }
예제 #7
0
        public async Task <IActionResult> CreateTeacher([FromBody] TeacherVM teacherVM)
        {
            var userId     = userManager.GetUserId(User);
            var department = this.departmentRepository.GetAll().Where(d => d.AccountId == userId).FirstOrDefault();

            if (department == null)
            {
                await signInManager.SignOutAsync();

                return(RedirectToPage("Login"));
            }

            var accountId = await this.userRepository.CreateUserRole(teacherVM.Code, teacherVM.Code, "Teacher");

            if (accountId != null)
            {
                var teacher = new Teacher();
                teacher.AccountId    = accountId;
                teacher.Code         = teacherVM.Code;
                teacher.Name         = teacherVM.Name;
                teacher.Information  = teacherVM.Information;
                teacher.DepartmentId = department.Id;
                teacher.Department   = department;

                this.teacherRepository.Insert(teacher);
                await this.teacherRepository.SaveChangeAsync();

                return(Ok());
            }
            return(BadRequest());
        }
        public async Task <IActionResult> DeletePost(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Teacher teacher = await _db.Teachers.FindAsync(id);

            TeacherContact teacherContact = await _db.TeacherContacts.FirstOrDefaultAsync(c => c.Id == teacher.TeacherContactId);

            SkillsTeacher skillsTeacher = await _db.SkillsTeachers.FirstOrDefaultAsync(c => c.Id == teacher.SkillsTeacherId);

            TeacherVM teacherVM = new TeacherVM()
            {
                Teacher        = teacher,
                TeacherContact = teacherContact,
                SkillsTeacher  = skillsTeacher
            };

            if (teacherVM == null)
            {
                return(NotFound());
            }
            PhotoFileDelete.IsDeletePhoto(_env.WebRootPath, "img/teacher", teacherVM.Teacher.Image);
            _db.TeacherContacts.Remove(teacherVM.TeacherContact);
            _db.SkillsTeachers.Remove(teacherVM.SkillsTeacher);
            _db.Teachers.Remove(teacherVM.Teacher);
            await _db.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
예제 #9
0
        public static void Convert(EntitiesVMRegistry registry, string targetPath, TeacherVM teacher)
        {
            try
            {
                File.Copy(TemplatePath, targetPath, true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            var newFile = new FileInfo(targetPath);

            try
            {
                using (var package = new ExcelPackage(newFile))
                {
                    FillTitle(package.Workbook.Worksheets[1], teacher);
                    FillSem(package.Workbook.Worksheets[2], 1, teacher);
                    FillSem(package.Workbook.Worksheets[3], 2, teacher);
                    FillTotal(package.Workbook.Worksheets[5]);
                    package.Save();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #10
0
        public async Task <IActionResult> Update(int?id, TeacherVM teacherVM)
        {
            if (id == null)
            {
                return(NotFound());
            }
            Teacher teacherDb = await _context.Teachers.FindAsync(id);

            if (teacherDb == null)
            {
                return(NotFound());
            }
            TeacherDescription teacherDescriptionDb = await _context.TeacherDescriptions.Where(t => t.TeacherId == id).FirstOrDefaultAsync();

            if (teacherDescriptionDb == null)
            {
                return(NotFound());
            }

            Teacher            teacher            = teacherVM.Teacher;
            TeacherDescription teacherDescription = teacherVM.TeacherDescription;

            if ((teacher.Email.ToLower() != teacherDb.Email.ToLower()) || (teacher.PhoneNumber.ToLower() != teacherDb.PhoneNumber.ToLower()))
            {
                bool isExist = _context.Teachers.Where(t => !t.IsDeleted).Any(t => (t.Email.ToLower() == teacher.Email.ToLower()) || (t.PhoneNumber.ToLower() == teacher.PhoneNumber.ToLower()));
                if (isExist)
                {
                    ModelState.AddModelError("Name", "Teacher with this email or number already exist!");
                    return(View(teacherVM));
                }
            }
            if (teacher.Photo != null)
            {
                if (!teacher.Photo.PhotoValidate(ModelState))
                {
                    return(View(teacherVM));
                }
                string folder   = Path.Combine("site", "img", "teacher");
                string fileName = await teacher.Photo.SaveImage(_env.WebRootPath, folder);

                teacherDb.Image = fileName;
            }
            teacherDb.Name               = teacher.Name;
            teacherDb.Surname            = teacher.Surname;
            teacherDb.Position           = teacher.Position;
            teacherDb.Email              = teacher.Email;
            teacherDb.PhoneNumber        = teacher.PhoneNumber;
            teacherDb.Skype              = teacher.Skype;
            teacherDb.Pinterest          = teacher.Pinterest;
            teacherDb.Facebook           = teacher.Facebook;
            teacherDb.Twitter            = teacher.Twitter;
            teacherDb.Activeted          = teacher.Activeted;
            teacherDescriptionDb         = teacherDescription;
            teacherDb.teacherDescription = teacherDescriptionDb;

            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
        // GET: Teacher
        public ActionResult Index()
        {
            TeacherVM teacherVM = new TeacherVM();

            teacherVM.Teachers = teacherService.GetActiveTeacher();
            teacherVM.Branches = branchService.GetActiveBranch();
            return(View(teacherVM));
        }
 public static Teacher ToEntity(this TeacherVM teacher)
 {
     return(new Teacher()
     {
         Id = teacher.Id,
         Name = teacher.Name,
         Degree = teacher.Degree
     });
 }
예제 #13
0
        private EntryVM CreateNewEntry(SubjectVM subject = null, TeacherVM teacher = null)
        {
            var newEntry = new EntryVM {
                Subject = subject, Teacher = teacher
            };

            Context.EntitiesVmRegistry.Entries.Add(newEntry);
            return(newEntry);
        }
예제 #14
0
        public Boolean AssignmentTurnInHelper(HttpPostedFileBase postedFile, int classID, int assignmentID, int studentID, byte[] bytes)
        {
            var submitted = DateTime.Now;
            var urcL      = db.UserRoleClasses.Where(i => i.RoleID == 3 && i.ClassID == classID);
            var list      = new List <int>();

            foreach (var i in urcL)
            {
                list.Add(i.UsersID);
            }

            var date    = DateTime.Now;
            var request = db.Users.Where(i => list.Contains(i.UsersID)).ToList();

            var student = new TeacherVM(db.Classes.Where(i => i.ClassID == classID).FirstOrDefault(), request);

            student.assignment = db.Assignments.Where(i => i.ClassID == classID && i.AssignmentID == assignmentID).ToList();

            if (db.Documents.Where(i => i.ClassID == classID && i.AssignmentID == assignmentID && i.UserID == studentID).ToList().Count() == 0)
            {
                var doc = new Document();

                doc.Name         = Path.GetFileName(postedFile.FileName);
                doc.ContentType  = postedFile.ContentType;
                doc.Data         = bytes;
                doc.ClassID      = classID;
                doc.AssignmentID = assignmentID;
                doc.UserID       = studentID;
                doc.submitted    = submitted;
                doc.Grade        = -1;
                doc.Date         = date;
                doc.GradeID      = db.Grades.Where(i => i.AssignmentID == assignmentID).FirstOrDefault().GradeID;

                db.AddDocument(doc);

                db.SaveChanges();
                student.documents = GetFiles(classID, assignmentID, studentID);

                return(true);
            }
            else
            {
                var change = db.Documents.Where(i => i.ClassID == classID && i.AssignmentID == assignmentID && i.UserID == studentID).ToList();
                change.ForEach(x => x.Name         = Path.GetFileName(postedFile.FileName));
                change.ForEach(x => x.ContentType  = postedFile.ContentType);
                change.ForEach(x => x.Data         = bytes);
                change.ForEach(x => x.ClassID      = classID);
                change.ForEach(x => x.AssignmentID = assignmentID);
                change.ForEach(x => x.UserID       = studentID);
                change.ForEach(x => x.submitted    = submitted);
                change.ForEach(x => x.Date         = date);

                db.SaveChanges();
                student.documents = GetFiles(classID, assignmentID, studentID);
                return(false);
            }
        }
예제 #15
0
 public ActionResult Edit(string id, TeacherVM teacherVM)
 {
     teacherVM.ID = id;
     if (ModelState.IsValid)
     {
         teacherAppService.UpdateTeacher(teacherVM);
         return(View());
     }
     return(View(teacherVM));
 }
        public IActionResult Delete(TeacherVM teacherVM)
        {
            var data = _teacherService.Delete(teacherVM);

            if (data > 0)
            {
                return(Ok(data));
            }
            return(BadRequest("Failed"));
        }
예제 #17
0
        public void Test_Get_All_Teacher()
        {
            List <TeacherVM> teacher2 = new List <TeacherVM>();

            //Act
            teacher2 = teacher.GetAllTeacher();

            //Assert
            Assert.AreEqual(teacher2.Count, 1);
        }
예제 #18
0
        public bool UpdateTeacher(TeacherVM teacherVM)
        {
            var teacher = Mapper.Map <Teacher>(teacherVM);

            teacher.user.Id = teacher.ID;
            TheUnitOfWork.Teacher.Update(teacher);
            TheUnitOfWork.Commit();

            return(true);
        }
예제 #19
0
 public int Delete(TeacherVM teacherVM)
 {
     parameters.Add("schoolId", teacherVM.SchoolId);
     parameters.Add("email", teacherVM.Email);
     using (var connection = new SqlConnection(_connectionString.Value))
     {
         var items = connection.Execute("SP_DeleteTeacher",
                                        parameters, commandType: CommandType.StoredProcedure);
         return(items);
     }
 }
예제 #20
0
        public bool SaveNewTeacher(TeacherVM teacherVM)
        {
            bool result  = false;
            var  teacher = Mapper.Map <Teacher>(teacherVM);

            if (TheUnitOfWork.Teacher.Insert(teacher))
            {
                result = TheUnitOfWork.Commit() > new int();
            }
            return(result);
        }
 public Task <TeacherResource> UpdateTeacher([FromBody] TeacherVM teacher)
 {
     if (repository.UpdateTeacher(teacher) == null)
     {
         var jsonObject  = new { id = teacher.Id, process = "update" };
         var jsonString  = JsonSerializer.Serialize(jsonObject);
         var bytesObject = Encoding.UTF8.GetBytes(jsonString);
         HelperMethods.Producer(bytesObject);
     }
     return(repository.GetTeacher((int)teacher.Id));
 }
        public IActionResult Post(TeacherVM teacherVM)
        {
            var data = _teacherService.Create(teacherVM);

            if (data > 0)
            {
                return(Ok(data));
            }
            return(BadRequest("Failed"));
            //var status = Ok(data);
        }
        public ActionResult Edit([Bind(Include = "TeacherId,FirstName,LastName,TeacherTitle")] TeacherVM teacherVM)
        {
            if (ModelState.IsValid)
            {
                Teacher teacher = TeacherMap.TeacherVMToTeacher(teacherVM);

                teachersRepo.Edit(teacher);

                return(RedirectToAction("Index"));
            }
            return(View(teacherVM));
        }
예제 #24
0
        public static TeacherVM TeacherToTeacherVM(Teacher teacher)
        {
            var teacherVM = new TeacherVM
            {
                TeacherId    = teacher.TeacherId,
                FirstName    = teacher.FirstName,
                LastName     = teacher.LastName,
                TeacherTitle = (Title)teacher.Title,
            };

            return(teacherVM);
        }
예제 #25
0
        public async Task <IActionResult> EditTeacher(TeacherVM teacherVM)
        {
            var result = await _schoolClient.UpdateTeacher(teacherVM);

            if (result.Status == Status.Error)
            {
                ViewBag["updateTeacherErrorMessage"] = result.Message;
                return(RedirectToAction("EditTeacher", new { teacherid = teacherVM.MemberId, schoolid = teacherVM.SchoolId }));
            }

            return(RedirectToAction("ShowTeachers", new { schoolid = teacherVM.SchoolId }));
        }
예제 #26
0
        public static Teacher TeacherVMToTeacher(TeacherVM teacherVM)
        {
            var teacher = new Teacher
            {
                TeacherId = teacherVM.TeacherId,
                FirstName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(teacherVM.FirstName.TrimStart().TrimEnd()),
                LastName  = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(teacherVM.LastName.TrimStart().TrimEnd()),
                Title     = (int)teacherVM.TeacherTitle,
            };

            return(teacher);
        }
예제 #27
0
        // GET: Field/Edit/5
        public ActionResult Edit(int id)
        {
            var       teacher   = teacherService.GetTeacherById(id);
            TeacherVM teacherVM = new TeacherVM()
            {
                ID        = teacher.ID,
                Name      = teacher.Name,
                BirthDate = teacher.BirthDate
            };

            return(View(teacherVM));
        }
예제 #28
0
 public Exception UpdateTeacher(TeacherVM teacher)
 {
     try
     {
         dBContext.Teachers.Update(mapper.Map <Teacher>(teacher));
         dBContext.SaveChanges();
         return(null);
     }
     catch (Exception ex)
     {
         return(ex);
     }
 }
예제 #29
0
        public async Task <TeacherVM> GetTeacherInfo(string teacherid)
        {
            try
            {
                TeacherVM teacher = await HttpMethods <TeacherVM> .GetAsync(Client, "/getTeacherInfo/" + teacherid);

                return(teacher);
            }
            catch (Exception)
            {
                return(new TeacherVM {
                });
            }
        }
        public Task <TeacherResource> AddTeacher([FromBody] TeacherVM teacher)
        {
            var Id = repository.AddTeacher(teacher);

            if (Id != 0)
            {
                var newTeacher  = repository.GetTeacher(Id);
                var jsonObject  = new { id = newTeacher.Result.Id, process = "add" };
                var jsonString  = JsonSerializer.Serialize(jsonObject);
                var bytesObject = Encoding.UTF8.GetBytes(jsonString);
                HelperMethods.Producer(bytesObject);
            }
            return(repository.GetTeacher(Id));
        }