Example #1
0
        public async Task <IActionResult> UpdateClassroom(int id, [FromBody] ModifyClassroom modifyClassroom)
        {
            if (modifyClassroom == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var cls = await _classroomService.GetTById(id);

            if (cls == null)
            {
                return(NotFound());
            }
            if (cls.Name != modifyClassroom.Name)
            {
                var cls1 = await _classroomService.GetClassroomsByClassName(modifyClassroom.Name);

                if (cls1.Count > 0)
                {
                    return(BadRequest("教室名称已存在"));
                }
            }
            if (cls.ClassRoomNum != modifyClassroom.ClassRoomNum)
            {
                var cls2 = await _classroomService.GetClassroomsByClassNum(modifyClassroom.ClassRoomNum);

                if (cls2.Count > 0)
                {
                    return(BadRequest("教室编号已存在"));
                }
            }
            cls.Name         = modifyClassroom.Name;
            cls.ClassRoomNum = modifyClassroom.ClassRoomNum;
            cls.Address      = modifyClassroom.Address;
            _mapper.Map(cls, cls);
            if (!await _classroomService.Save())
            {
                return(StatusCode(500, "更新数据时出错"));
            }
            return(Created("", modifyClassroom));
        }