public async Task <IActionResult> EditInfoTeacher(EditInfoTeacherViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _teacherService.UpdateTeacherInfo(model.Input);

                if (result.IsSuccessed)
                {
                    return(Redirect(model.ReturnUrl));
                }
                var resultGetTeacher = await _teacherService.GetTeacherById(new EntityDto <long>(model.Input.TeacherId));

                if (resultGetTeacher.IsSuccessed)
                {
                    var teacher            = resultGetTeacher.Value;
                    var resultGetAcadSubjs = await _academicSubjectService.GetAcademicSubjects(new GetAcademicSubjectsInput());

                    if (resultGetAcadSubjs.IsSuccessed)
                    {
                        ViewBag.AcademicSubjects =
                            new SelectList(resultGetAcadSubjs.Value.Items, "Id", "Name");
                    }
                    var resultGetStudyGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput());

                    if (resultGetStudyGroups.IsSuccessed)
                    {
                        var studyGroups = resultGetStudyGroups.Value;
                        foreach (var studyGroup in studyGroups.Items)
                        {
                            var comboboxItem     = new ComboboxItemDto(studyGroup.Id.ToString(), studyGroup.Name);
                            var findedStudyGroup = teacher.StudyGroups.FirstOrDefault(studyGroup => studyGroup.Id == studyGroup.Id);
                            if (findedStudyGroup != null)
                            {
                                comboboxItem.IsSelected = true;
                            }
                            model.Input.StudyGroupComboboxes.Add(comboboxItem);
                        }
                    }
                }
                AddResultErros(result);
                AddResultErros(resultGetTeacher);
            }
            return(View(model));
        }
        public async Task <IActionResult> EditInfoTeacher(long id)
        {
            var returnUrl = NormalizeReturnUrl(null, () => Url.Action("Index", "Teachers", new { Area = "Admin" }));
            var result    = await _teacherService.GetTeacherById(new EntityDto <long>(id));

            if (result.IsSuccessed)
            {
                var teacher = result.Value;
                var model   = new EditInfoTeacherViewModel();
                model.Input.TeacherId         = teacher.Id;
                model.Input.AcademicSubjectId = teacher.AcademicSubject?.Id;
                model.FullName  = teacher.FullName;
                model.ReturnUrl = returnUrl;
                var resultGetAcadSubjs = await _academicSubjectService.GetAcademicSubjects(new GetAcademicSubjectsInput());

                if (resultGetAcadSubjs.IsSuccessed)
                {
                    ViewBag.AcademicSubjects =
                        new SelectList(resultGetAcadSubjs.Value.Items, "Id", "Name");
                }
                var resultGetStudyGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput());

                if (resultGetStudyGroups.IsSuccessed)
                {
                    var studyGroups = resultGetStudyGroups.Value;
                    foreach (var studyGroup in studyGroups.Items)
                    {
                        var comboboxItem     = new ComboboxItemDto(studyGroup.Id.ToString(), studyGroup.Name);
                        var findedStudyGroup = teacher.StudyGroups.FirstOrDefault(studyGroup => studyGroup.Id == studyGroup.Id);
                        if (findedStudyGroup != null)
                        {
                            comboboxItem.IsSelected = true;
                        }
                        model.Input.StudyGroupComboboxes.Add(comboboxItem);
                    }
                }
                return(View(model));
            }
            return(Redirect(returnUrl));
        }
Esempio n. 3
0
        public JsonResult Edit(EditInfoTeacherViewModel teacherViewModel)
        {
            if (ModelState.IsValid)
            {
                using (var tran = _dbContext.Database.BeginTransaction())
                {
                    try
                    {
                        Teacher teacherChangeInfomation = _dbContext.Teachers.Include("ApplicationUser").SingleOrDefault(a => a.Id == teacherViewModel.Id);
                        //Thong tin ca nhan
                        teacherChangeInfomation.Id               = teacherViewModel.Id;
                        teacherChangeInfomation.name_Teacher     = teacherViewModel.name_Teacher;
                        teacherChangeInfomation.first_name       = teacherViewModel.first_name;
                        teacherChangeInfomation.sex              = teacherViewModel.sex;
                        teacherChangeInfomation.people           = teacherViewModel.people;
                        teacherChangeInfomation.address          = teacherViewModel.address;
                        teacherChangeInfomation.prefecture       = teacherViewModel.prefecture;
                        teacherChangeInfomation.city             = teacherViewModel.city;
                        teacherChangeInfomation.phuongxa         = teacherViewModel.phuongxa;
                        teacherChangeInfomation.birth_day        = teacherViewModel.birth_day;
                        teacherChangeInfomation.birth_place      = teacherViewModel.birth_place;
                        teacherChangeInfomation.matrimony        = teacherViewModel.matrimony;
                        teacherChangeInfomation.name_birth_place = teacherViewModel.name_birth_place;

                        //thông tin liên lạc
                        teacherChangeInfomation.phone_number         = teacherViewModel.phone_number;
                        teacherChangeInfomation.email                = teacherViewModel.email;
                        teacherChangeInfomation.identity_card_number = teacherViewModel.identity_card_number;

                        //thông tin khác
                        teacherChangeInfomation.status_heal  = teacherViewModel.status_heal;
                        teacherChangeInfomation.disabilities = teacherViewModel.disabilities;
                        teacherChangeInfomation.numberBank   = teacherViewModel.numberBank;
                        teacherChangeInfomation.nameBank     = teacherViewModel.nameBank;
                        teacherChangeInfomation.start_date_social_insurance = teacherViewModel.start_date_social_insurance;
                        teacherChangeInfomation.number_social_insurance     = teacherViewModel.number_social_insurance;
                        teacherChangeInfomation.gifted         = teacherViewModel.gifted;
                        teacherChangeInfomation.status_deleted = false;
                        teacherChangeInfomation.Subject        = _dbContext.Subjects.SingleOrDefault(a => a.Id == teacherViewModel.subject);
                        teacherChangeInfomation.SubjectId      = teacherViewModel.subject;
                        //Get Id teacher

                        _dbContext.SaveChanges();

                        // add completed
                        tran.Commit();
                        if (!string.IsNullOrEmpty(teacherViewModel.passWord))
                        {
                            UserManager.ChangePassword(teacherChangeInfomation.ApplicationUser.Id, teacherChangeInfomation.ApplicationUser.PasswordHash, teacherViewModel.passWord);
                        }

                        return(Json(new
                                    { result = new { resultCode = "10", message = "Sửa thông tin tài khoản và thông tin giáo viên thành công" } }, JsonRequestBehavior.AllowGet));
                    }
                    catch (Exception ex)
                    {
                        tran.Rollback();
                        return(Json(new
                                    { result = new { resultCode = "02", message = "Sửa thông tin tài khoản và thông tin giáo viên không thành công" } }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            var errors = from modelstate in ModelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select new { Title = modelstate.Key };

            return(Json(new
            {
                result = new
                {
                    resultCode = "02",
                    errors,
                    message = ModelState.Values.SelectMany(x => x.Errors)
                              .Select(x => x.ErrorMessage)
                }
            }, JsonRequestBehavior.AllowGet));
        }