コード例 #1
0
        public IActionResult Edit(ClassEditViewModel classModel)
        {
            ClassBusiness classModelBusiness = new ClassBusiness();
            var           result             = classModelBusiness.Edit(classModel);

            return(Ok(result));
        }
コード例 #2
0
        public async Task <IActionResult> EditClass(ClassEditViewModel webModel)
        {
            if (ModelState.IsValid)
            {
                bool flag;
                if (string.IsNullOrEmpty(webModel.Id))
                {
                    return(Json(new
                    {
                        success = false,
                        msg = "专业班级信息编辑失败,班级编号为空"
                    }));
                }
                else
                {
                    //Update Major Class
                    flag = await _service.UpdateClassAsync(webModel, _context);
                }

                return(Json(new
                {
                    success = flag,
                    msg = flag ? "专业班级信息编辑成功" : "专业班级信息编辑失败"
                }));
            }

            return(Json(new
            {
                success = false,
                msg = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).FirstOrDefault().ErrorMessage
            }));
        }
コード例 #3
0
        /// <summary>
        /// 获取我的班级信息
        /// </summary>
        /// <param name="id">班级编号</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public async Task <ClassEditViewModel> GetClassAsync(long id, ApplicationDbContext context)
        {
            var webModel = new ClassEditViewModel();

            try
            {
                var model = await UserRepository.GetClassAsync(id, context);

                webModel.Id             = model.Id.ToString();
                webModel.IsEnabled      = (EnumType.Enable)(model.IsEnabled ? 1 : 0);
                webModel.Name           = model.Name;
                webModel.QQ             = model.QQ;
                webModel.Wechat         = model.Wechat;
                webModel.DepartmentId   = model.DepartmentId.ToString();
                webModel.DepartmentName = model.DepartmentName;
                webModel.InstructorId   = model.InstructorId.ToString();
                webModel.InstructorName = model.InstructorName;
                webModel.MajorCode      = model.MajorCode.ToString();
                webModel.MajorName      = model.MajorName;
                webModel.SessionNum     = model.SessionNum + "级";
            }
            catch (Exception ex)
            {
                _logger.LogError("获取我的班级数据失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
            }
            return(webModel);
        }
コード例 #4
0
ファイル: Class.cs プロジェクト: tgr484/kiddywee
 public void Update(ClassEditViewModel model)
 {
     Name                = model.Name;
     EnrollmentSpots     = model.EnrollmentSpots;
     StageType           = model.StageType;
     TeacherStudentRatio = model.TeacherStudentRatio;
     DailyReportTypes    = model.DailyReportTypes?.Select(x => Convert.ToInt32(x)).ToList();
 }
コード例 #5
0
ファイル: ClassController.cs プロジェクト: Worble/DndHelper
        public IActionResult Edit(int id)
        {
            var model = new ClassEditViewModel()
            {
                Class = ClassModel.GenerateClassModelFromDTO(work.ClassRepository.GetDTO(id))
            };

            return(View(model));
        }
コード例 #6
0
        public async Task <ActionResult> EditClass(ClassEditViewModel model)
        {
            var departments = await InstitutionManager.GetAllDepartmentsAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await InstitutionManager.GetMajorsForDepartmentAsync(departments.ElementAtOrDefault(0));

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await InstitutionManager.GetAllGradesAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            ViewBag.Classes = await InstitutionManager.GetAllClassesAsync();

            if (ModelState.IsValid)
            {
                var class1 = await InstitutionManager.FindClassByIdAsync(model.Id);

                if (class1 == null)
                {
                    ModelState.AddModelError("", "找不到class1");
                    return(View(model));
                }
                var grade = await InstitutionManager.FindGradeByIdAsync(model.GradeId);

                if (grade == null)
                {
                    ModelState.AddModelError("", "找不到grade");
                    return(View(model));
                }
                var major = await InstitutionManager.FindMajorByIdAsync(model.MajorId);

                if (major == null)
                {
                    ModelState.AddModelError("", "找不到major");
                    return(View(model));
                }
                class1.Major           = major;
                class1.Grade           = grade;
                class1.ClassDefination = model.Defination;

                await InstitutionManager.UpdateClassAsync(class1);

                await UserManager.RemoveStudentsFromClassAsync(model.IdsToRemove ?? new string[] { });

                return(RedirectToAction("AllClass"));
            }
            return(View(model));
        }
コード例 #7
0
ファイル: ClassController.cs プロジェクト: Worble/DndHelper
        public IActionResult Edit(ClassEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            work.ClassRepository.Update(ClassModel.GenerateClassDTOFromModel(model.Class));
            work.Save();

            return(RedirectToAction("Index"));
        }
コード例 #8
0
        /// <summary>
        /// 更新我的班级信息
        /// </summary>
        /// <param name="webModel">我的班级编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        public static async void UpdateEntityAsync(ClassEditViewModel webModel, ApplicationDbContext context)
        {
            var model = await context.MajorClass.FirstOrDefaultAsync(i => i.Id == Convert.ToInt64(webModel.Id));

            if (model == null)
            {
                return;
            }

            //Update
            model.QQ     = webModel.QQ;
            model.Wechat = webModel.Wechat;
        }
コード例 #9
0
        public async Task <ActionResult> Edit(ClassEditViewModel model)
        {
            if (_userSessionHelper.GetUserSession().IsUserLoggedIn)
            {
                model.EditBy = _userSessionHelper.GetUserSession().UserName;
                string apiUrl = _appUrlHelper.GetApiUrl(ApiUrlPath.CLASS_EDIT);
                var    result = await HttpUtilities.PostAsyncApi <ReturnResult <ClassEditViewModel> >(apiUrl, JsonConvert.SerializeObject(model));

                return(Json(result));
            }
            else
            {
                return(RedirectToAction("Index", "Account"));
            }
        }
コード例 #10
0
        public async Task <ActionResult> Edit(int?id)
        {
            var class1 = await ClassManager.FindEntityByIdAsync(id ?? 0);

            if (class1 == null)
            {
                return(HttpNotFound("class不存在"));
            }
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await GradeManager.GetAllEntities().ToListAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();

            if (class1.ClassTeacher != null)
            {
                teachers.Add(class1.ClassTeacher.Teacher);
            }
            ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");

            ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

            var model = new ClassEditViewModel
            {
                Defination     = class1.ClassDefination,
                DepartmentId   = class1.Major.Department.Id,
                GradeId        = class1.Grade.Id,
                MajorId        = class1.Major.Id,
                Students       = await UserManager.GetStudentsOfClassAsync(class1).ToListAsync(),
                ClassTeacherId = class1.ClassTeacher == null ? null : class1.ClassTeacher.Teacher.Id
            };

            return(View(model));
        }
コード例 #11
0
        /// <summary>
        /// 更新班级数据
        /// </summary>
        /// <param name="webModel">班级编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public async Task <bool> UpdateClassAsync(ClassEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Update Class Data
                UserRepository.UpdateEntityAsync(webModel, context);

                //Add Operate Information
                var operate = string.Format("修改我的班级信息,专业班级编号:{0}", webModel.Id);
                PSURepository.InsertRecordAsync("MajorClass", "UserDomain", "UpdateClassAsync", operate, (short)PSURepository.OperateCode.Update, Convert.ToInt64(webModel.Id), context);

                var index = await context.SaveChangesAsync();

                return(index == 2);
            }
            catch (Exception ex)
            {
                _logger.LogError("更新我的班级失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
コード例 #12
0
        public async Task <ActionResult> EditClass(int?id)
        {
            var class1 = await InstitutionManager.FindClassByIdAsync(id ?? 0);

            if (class1 == null)
            {
                return(HttpNotFound("class不存在"));
            }

            var departments = await InstitutionManager.GetAllDepartmentsAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await InstitutionManager.GetMajorsForDepartmentAsync(departments.ElementAtOrDefault(0));

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await InstitutionManager.GetAllGradesAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            ViewBag.Classes = await InstitutionManager.GetAllClassesAsync();

            var model = new ClassEditViewModel
            {
                Defination   = class1.ClassDefination,
                DepartmentId = class1.Major.Department.Id,
                GradeId      = class1.Grade.Id,
                MajorId      = class1.Major.Id,
                Students     = class1.Students
            };

            return(View(model));
        }
コード例 #13
0
        public async Task <IActionResult> Edit([FromBody] ClassEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // confirm user exists
            var userId = _userManager.GetUserId(HttpContext.User);

            if (userId == null)
            {
                return(BadRequest(
                           Errors.AddErrorToModelState(
                               "edit_class_failure",
                               "Unable to find a user for this class",
                               ModelState)));
            }

            // get record
            var myClass = _db.Classes
                          .FirstOrDefault(x => x.UserId == userId && x.Id == model.Id);

            if (myClass == null)
            {
                return(NotFound(Errors.AddErrorToModelState(
                                    "edit_class_failure",
                                    "Unable to find the class",
                                    ModelState)));
            }

            myClass.Name       = model.Name;
            myClass.IsWeighted = model.IsWeighted;
            myClass.IsActive   = model.IsActive;

            await _db.SaveChangesAsync();

            return(new OkObjectResult(new { message = "success" }));
        }
コード例 #14
0
        public async Task <IActionResult> Edit(ClassEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var @class = await _unitOfWork.Classes.GetOneAsync(x => x.Id == model.ClassId);

                if (model.IsMove && model.MoveClassId.HasValue)
                {
                    //Удаление классов

                    //if (model.IsActive)
                    //{
                    //    @class.IsActive = false;
                    //}
                    var personToClasses = await _unitOfWork.PersonToClasses.GetAsync(x => x.IsActive && x.ClassId == model.ClassId);

                    personToClasses.ForEach(x => x.IsActive = false);
                    var newPersonToClasses = new List <PersonToClass>();
                    foreach (var item in personToClasses)
                    {
                        newPersonToClasses.Add(PersonToClass.Create(item.PersonId, model.MoveClassId.Value, _userId));
                    }
                    _unitOfWork.PersonToClasses.UpdateRange(personToClasses);
                    await _unitOfWork.PersonToClasses.InsertRange(newPersonToClasses);

                    var result = await _unitOfWork.SaveAsync();
                }
                else
                {
                    @class.Update(model);
                    _unitOfWork.Classes.Update(@class);
                    await _unitOfWork.SaveAsync();
                }
                return(Redirect(Request.Headers["Referer"].ToString()));
            }
            return(View(model));
        }
コード例 #15
0
        public IActionResult Edit(string id)
        {
            ClassEditViewModel model = new ClassEditViewModel();
            Class thisClass          = _db.Classes.Where(e => e.Deleted == false && e.Id.Equals(id)).FirstOrDefault();

            if (thisClass == null)
            {
                return(RedirectToAction("Index", "Class"));
            }
            else
            {
                List <Attendance>          classAttendances = thisClass.List_Attendances.Where(e => e.Deleted == false).ToList();
                List <ClassEditAllocation> allocations      = new List <ClassEditAllocation>();
                foreach (ClassAllocation item in thisClass.List_ClassAllocation.Where(e => e.Deleted == false))
                {
                    List <AttendanceItem> studentAttendances = item.Student.List_AttendanceItems.Where(e => classAttendances.Contains(e.Attendance)).ToList();
                    ClassEditAllocation   newAllocation      = new ClassEditAllocation()
                    {
                        StudentId       = item.Student.Id,
                        StudentName     = item.Student.Name,
                        DateJoined      = item.DateCreated,
                        AttendanceCount = studentAttendances.Count().ToString() + "/" + classAttendances.Count().ToString()
                    };

                    allocations.Add(newAllocation);
                }

                model.ClassCapacity    = thisClass.Capacity.ToString();
                model.SelectedLecturer = thisClass.Lecturer;
                model.Lecturers        = _db._BCPUsers.Where(e => e.Deleted == false).Where(e => e.Status == 2 || e.Status == 4).OrderBy(e => e.Name).ToList();
                model.ClassCode        = thisClass.ClassCode.ToUpper();
                model.ClassId          = thisClass.Id;
                model.ClassName        = thisClass.Name;
                model.ClassAllocations = allocations;
                return(View(model));
            }
        }
コード例 #16
0
        public ReturnResult <Class> Edit(ClassEditViewModel model)
        {
            DbProvider dbProvider = new DbProvider();
            string     outCode    = String.Empty;
            string     outMessage = String.Empty;
            StoredProcedureConfigs <Class> storedProcedureConfigs = new StoredProcedureConfigs <Class>();

            dbProvider.SetQuery(storedProcedureConfigs._UPDATE_SINGLE_STORED_PROCEDURE, CommandType.StoredProcedure)
            .SetParameter("Id", SqlDbType.NVarChar, model.Pk_id, 100, ParameterDirection.Input)
            .SetParameter("Name", SqlDbType.NVarChar, model.Name, 100, ParameterDirection.Input)
            .SetParameter("Status", SqlDbType.Int, model.Status, ParameterDirection.Input)
            .SetParameter("EditBy", SqlDbType.NVarChar, model.EditBy, ParameterDirection.Input)
            .SetParameter("ERROR_CODE", SqlDbType.NVarChar, DBNull.Value, 100, ParameterDirection.Output)
            .SetParameter("ERROR_MESSAGE", SqlDbType.NVarChar, DBNull.Value, 400, ParameterDirection.Output)
            .ExcuteNonQuery()
            .Complete();
            dbProvider.GetOutValue("ERROR_CODE", out outCode)
            .GetOutValue("ERROR_MESSAGE", out outMessage);
            return(new ReturnResult <Class>()
            {
                ErrorCode = outCode,
                ErrorMessage = outMessage,
            });
        }
コード例 #17
0
 public ReturnResult <Class> Edit(ClassEditViewModel mouse)
 {
     return(ClassDAL.Edit(mouse));
 }
コード例 #18
0
        public async Task <ActionResult> Edit(ClassEditViewModel model)
        {
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await GradeManager.GetAllEntities().ToListAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();

            ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");

            ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

            if (ModelState.IsValid)
            {
                var class1 = await ClassManager.FindEntityByIdAsync(model.Id);

                if (class1 == null)
                {
                    ModelState.AddModelError("", "找不到class1");
                    return(View(model));
                }
                var grade = await GradeManager.FindEntityByIdAsync(model.GradeId);

                if (grade == null)
                {
                    ModelState.AddModelError("", "找不到grade");
                    return(View(model));
                }
                var major = await MajorManager.FindEntityByIdAsync(model.MajorId);

                if (major == null)
                {
                    ModelState.AddModelError("", "找不到major");
                    return(View(model));
                }
                var teacher = await UserManager.FindByIdAsync(model.ClassTeacherId);

                if (teacher == null)
                {
                    ModelState.AddModelError("", "找不到teacher");
                    return(View(model));
                }
                class1.Major           = major;
                class1.Grade           = grade;
                class1.ClassDefination = model.Defination;
                class1.ClassTeacher    = teacher.TeacherInfo;

                await ClassManager.UpdateEntityAsync(class1);

                teacher.TeacherInfo.ManageClass = class1;
                await UserManager.UpdateAsync(teacher);

                await UserManager.RemoveStudentsFromClassAsync(model.IdsToRemove ?? new string[] { });

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }