Esempio n. 1
0
 public void Put(long studentId, [FromBody] StudentRegisterRequest request)
 {
     request.SchoolId = base.SchoolId;
     request.UserId   = base.CurrentUser.UserId;
     request.UserName = base.CurrentUser.UserName;
     StudentService.Modify(studentId, request);
 }
Esempio n. 2
0
 /// <summary>
 /// 获取学生信息
 /// <para>作     者:Huang GaoLiang </para>
 /// <para>创建时间: 2019-03-06 </para>
 /// </summary>
 /// <param name="dto">添加学生信息</param>
 /// <param name="studentId">学生编号</param>
 /// <param name="contactPersonMobile">联系人电话</param>
 /// <returns>返回学生信息</returns>
 private TblCstStudent GetStudent(StudentRegisterRequest dto, long studentId, string contactPersonMobile)
 {
     return(new TblCstStudent
     {
         StudentId = studentId,
         StudentNo = CreateStudentNo(studentId),
         StudentName = dto.StudentName.Trim(),
         Sex = (byte)dto.Sex,
         Birthday = dto.Birthday,
         HeadFaceUrl = dto.HeadFaceUrl,
         CurrentSchool = dto.CurrentSchool,
         AreaId = dto.AreaId,
         HomeAddress = dto.HomeAddress,
         HomeAddressFormat = JsonConvert.SerializeObject(dto.HomeAddressFormat),
         IDType = (int)dto.IDType,
         IDNumber = dto.IDNumber,
         LinkMobile = dto.LinkMobile,
         LinkMail = dto.LinkMail,
         ContactPerson = JsonConvert.SerializeObject(dto.ContactPerson),
         ContactPersonMobile = contactPersonMobile ?? "",
         CustomerFrom = (int)dto.CustomerFrom,
         ParentId = dto.ParentId,
         Remark = dto.Remark ?? "",
         CreateTime = DateTime.Now
     });
 }
        public IActionResult Post(StudentRegisterRequest request)
        {
            List <StudentSearchResponse> list = StudentService.GetListBykeyWord("");

            string[]        header      = new string[] { "ID", "学生姓名", "年龄", "性别ID", "性别", "出生年月", "手机号", "校区名称" };
            NPOIExcelExport excelExport = new NPOIExcelExport();

            excelExport.Add <StudentSearchResponse>(list, header);
            return(excelExport.DownloadToFile(this, "学生资料"));
        }
Esempio n. 4
0
 private User GetStudentUserFromRegEntity(StudentRegisterRequest studentRegister) => new User
 {
     Student = new Student
     {
         GroupId    = studentRegister.GroupId,
         Name       = studentRegister.Name,
         Surname    = studentRegister.Surname,
         Patronymic = studentRegister.Patronymic
     },
     UserName     = studentRegister.UserName,
     Email        = studentRegister.Email,
     PasswordHash = studentRegister.PasswordHash
 };
Esempio n. 5
0
        public static StudentDTO Map(StudentRegisterRequest entity)
        {
            var dto = new StudentDTO
            {
                Id         = entity.Id,
                Faculty    = entity?.Group?.Faculty.Name,
                Name       = entity.Name,
                Surname    = entity.Surname,
                Patronymic = entity.Patronymic,
                GroupId    = entity.GroupId,
                UserName   = entity.UserName,
                Email      = entity.Email
            };

            return(dto);
        }
Esempio n. 6
0
 /// <summary>
 /// 设置需要修改的学生信息
 /// <para>作     者:Huang GaoLiang </para>
 /// <para>创建时间: 2019-03-15 </para>
 /// </summary>
 /// <param name="request">学生信息修改请求参数</param>
 /// <param name="student">原学生信息</param>
 private static void SetStudentInfo(StudentRegisterRequest request, TblCstStudent student)
 {
     student.StudentName         = request.StudentName.Trim();
     student.Sex                 = (byte)request.Sex;
     student.Birthday            = request.Birthday;
     student.CurrentSchool       = request.CurrentSchool;
     student.AreaId              = request.AreaId;
     student.HomeAddress         = request.HomeAddress;
     student.HomeAddressFormat   = JsonConvert.SerializeObject(request.HomeAddressFormat);
     student.IDType              = (int)request.IDType;
     student.IDNumber            = request.IDNumber;
     student.LinkMobile          = request.LinkMobile;
     student.LinkMail            = request.LinkMail;
     student.ContactPerson       = JsonConvert.SerializeObject(request.ContactPerson);
     student.ContactPersonMobile = ContactPersonMobile(request.ContactPerson) ?? "";
     student.Remark              = request.Remark;
 }
Esempio n. 7
0
        /// <summary>
        /// 修改学生信息
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间: 2019-03-14 </para>
        /// </summary>
        /// <param name="studentId">学生编号</param>
        /// <param name="request">修改输入参数</param>
        /// <returns>返回修改结果受影响的行数</returns>
        /// <exception>
        /// 异常ID:1,系统不存在该学生
        /// </exception>
        public static void Modify(long studentId, StudentRegisterRequest request)
        {
            TblCstStudentContactRepository contactRepository = new TblCstStudentContactRepository();
            TblCstStudentRepository        studentRepository = new TblCstStudentRepository();
            // 1、根据编号查询学生信息
            TblCstStudent rawStudent = studentRepository.GetCstStudentId(studentId);     //原学生信息

            if (rawStudent == null)
            {
                throw new BussinessException((byte)ModelType.Customer, 1);
            }
            List <TblCstStudentContact> rawContacts = contactRepository.GetByStudentId(studentId);              //原学生联系人
            TblCstStudent newStudent = TransExpV2 <TblCstStudent, TblCstStudent> .Trans(rawStudent);            //新学生


            // 2、验证
            Verification(studentId, request.StudentName, request.LinkMobile);

            // 3、学生信息和学生联系人信息
            List <TblCstStudentContact> newContacts = GetStudentContact(newStudent.StudentId, JsonConvert.SerializeObject(request.ContactPerson));

            SetStudentInfo(request, newStudent);


            //4、数据存储操作
            studentRepository.Update(newStudent);                                          //更新学生信息
            contactRepository.DeleteByStudentId(new List <long> {
                newStudent.StudentId
            });                                                                            //删除原来的学生联系人
            contactRepository.Add(newContacts);                                            //添加学生联系人


            // 5、推送学生至档案库
            StudentRequest s = GetStudentToAC(rawStudent);

            new ACService().StudentInfoToArtLibrary(s);


            // 6、记录操作日志
            AddOperationLog(rawStudent, newStudent, request);

            // 7、将手机号信息推送至家校互联账户
            StudentPublish(rawStudent, newStudent, rawContacts, newContacts);
        }
Esempio n. 8
0
        /// <summary>
        /// 学生注册
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间: 2018-10-29 </para>
        /// </summary>
        /// <param name="request">学生注册提交数据</param>
        public string Register(StudentRegisterRequest request)
        {
            long studentId = IdGenerator.NextId();

            // 1、数据合法性验证
            Verification(0, request.StudentName, request.LinkMobile);

            // 2、处理电话号码和监护人信息
            string contactPersonMobile = ContactPersonMobile(request.ContactPerson);

            // 3、获取学生数据
            TblCstStudent student = this.GetStudent(request, studentId, contactPersonMobile);

            _studentRepository.Value.Add(student);

            // 4、构造学生联系人
            List <TblCstStudentContact> studentContactList = GetStudentContact(student.StudentId, student.ContactPerson);

            _studentContactRepository.Value.Add(studentContactList);

            // 5、推送学生至档案库
            StudentRequest s = GetStudentToAC(student);

            new ACService().StudentInfoToArtLibrary(s);

            // 6、将学生的家长账号保存推送至家校互联账户
            // 学生注册,学长的账号只会增加不会存在删除用。
            StudentPassportChangeInDto passportChangeInDto = new StudentPassportChangeInDto();

            passportChangeInDto.MobileAddList = new List <string>();
            passportChangeInDto.MobileAddList.Add(request.LinkMobile);
            passportChangeInDto.MobileAddList.AddRange(studentContactList.Select(t => t.Mobile));
            passportChangeInDto.MobileAddList = passportChangeInDto.MobileAddList.Distinct().ToList();
            new StudentFamilyProducerService().Publish(passportChangeInDto);

            return(studentId.ToString());
        }
Esempio n. 9
0
 public string Post(StudentRegisterRequest request)
 {
     return(Service.Register(request));
 }
        private async void InitContext(DataContext context)
        {
            var groups = new TaskExecutionSystem.DAL.Entities.Studies.Group[]
            {
                new  TaskExecutionSystem.DAL.Entities.Studies.Group
                {
                    Id         = 1,
                    Faculty    = faculties[0],
                    NumberName = "1111-010203A",
                },
                new  TaskExecutionSystem.DAL.Entities.Studies.Group
                {
                    Id         = 2,
                    Faculty    = faculties[1],
                    NumberName = "3333-010203A",
                },
            };

            var departmens = new Department[]
            {
                new Department
                {
                    Id      = 1,
                    Name    = "Программных систем",
                    Faculty = faculties[0],
                },

                new Department
                {
                    Id      = 2,
                    Name    = "Силовых установок",
                    Faculty = faculties[1]
                }
            };

            var studentRegs = new StudentRegisterRequest[]
            {
                new StudentRegisterRequest
                {
                    Id           = 1,
                    Group        = groups[0],
                    PasswordHash = "qwerty",
                    Email        = "*****@*****.**",
                    Name         = "Алёша",
                    Surname      = "Бурына",
                    Patronymic   = "Котов",
                    UserName     = "******",
                },

                new StudentRegisterRequest
                {
                    Id           = 2,
                    Group        = groups[1],
                    PasswordHash = "qwerty",
                    Email        = "*****@*****.**",
                    Name         = "Алёша",
                    Surname      = "Бурына",
                    Patronymic   = "Котов",
                    UserName     = "******"
                }
            };

            var teacherRegs = new TeacherRegisterRequest[]
            {
                new TeacherRegisterRequest
                {
                    Id           = 1,
                    Department   = departmens[0],
                    PasswordHash = "qwerty",
                    Email        = "*****@*****.**",
                    Name         = "Алёша",
                    Surname      = "Бурына",
                    Patronymic   = "Котов",
                    UserName     = "******",
                    Position     = "Доцент"
                },

                new TeacherRegisterRequest
                {
                    Id           = 2,
                    Department   = departmens[1],
                    PasswordHash = "qwerty",
                    Email        = "*****@*****.**",
                    Name         = "Алёша",
                    Surname      = "Бурына",
                    Patronymic   = "Котов",
                    UserName     = "******",
                    Position     = "Профессор"
                },
            };


            if (!await context.Faculties.AnyAsync())
            {
                await context.Faculties.AddRangeAsync(faculties);
            }

            if (!await context.Groups.AnyAsync())
            {
                await context.Groups.AddRangeAsync(groups);
            }

            if (!await context.StudentRegisterRequests.AnyAsync())
            {
                await context.StudentRegisterRequests.AddRangeAsync(studentRegs);
            }

            if (!await context.Departments.AnyAsync())
            {
                await context.Departments.AddRangeAsync(departmens);
            }

            if (!await context.TeacherRegisterRequests.AnyAsync())
            {
                await context.TeacherRegisterRequests.AddRangeAsync(teacherRegs);
            }

            await context.SaveChangesAsync();
        }
Esempio n. 11
0
        /// <summary>
        /// 添加操作日记
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间: 2019-03-15 </para>
        /// </summary>
        /// <param name="rawStudent">原学生</param>
        /// <param name="newStudent">新学生</param>
        /// <param name="request">原始提交学生信息</param>
        private static void AddOperationLog(TblCstStudent rawStudent, TblCstStudent newStudent, StudentRegisterRequest request)
        {
            string             remark = $"将ID是{ rawStudent.StudentId}学生的姓名{ rawStudent.StudentName}改为 { request.StudentName}; 手机号{ rawStudent.LinkMobile}改为{ newStudent.LinkMobile}";
            TblDatOperationLog log    = new TblDatOperationLog()
            {
                OperationLogId = IdGenerator.NextId(),
                SchoolId       = request.SchoolId,
                BusinessType   = (int)LogBusinessType.Student,
                BusinessId     = rawStudent.StudentId,
                FlowStatus     = (int)OperationFlowStatus.Submit,
                OperatorId     = request.UserId,
                OperatorName   = request.UserName,
                Remark         = remark,
                CreateTime     = DateTime.Now,
            };

            new OperationLogService().Add(log);
        }
Esempio n. 12
0
 public Task <OperationDetailDTO> CreateStudentAsync(StudentRegisterRequest registerEntity)
 {
     throw new NotImplementedException();
 }