StudentView.cs 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Linq;
  6. using System.Text;
  7. using EMIS.ViewModel.CacheManage;
  8. namespace EMIS.ViewModel.StudentManage.StudentProfile
  9. {
  10. public class StudentView
  11. {
  12. /// <summary>
  13. /// 主键ID
  14. /// </summary>
  15. [DisplayName("主键ID")]
  16. public Guid UserID { get; set; }
  17. /// <summary>
  18. /// 学号
  19. /// </summary>
  20. [Required]
  21. [DisplayName("学号")]
  22. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "只能输入数字或英文字母")]
  23. public string StudentNo { get; set; }
  24. /// <summary>
  25. /// 学号
  26. /// </summary>
  27. [Required]
  28. [DisplayName("学号")]
  29. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "只能输入数字或英文字母")]
  30. public string LoginID { get; set; }
  31. /// <summary>
  32. /// 考生号
  33. /// </summary>
  34. [Required]
  35. [DisplayName("考生号")]
  36. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "请输入字符或数字")]
  37. public string ExamineeNum { get; set; }
  38. /// <summary>
  39. /// 准考证号
  40. /// </summary>
  41. [DisplayName("准考证号")]
  42. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "请输入字符或数字")]
  43. public string AdmissionTicketNo { get; set; }
  44. /// <summary>
  45. /// 姓名
  46. /// </summary>
  47. [Required]
  48. [DisplayName("姓名")]
  49. public string Name { get; set; }
  50. /// <summary>
  51. /// 姓名
  52. /// </summary>
  53. [Required]
  54. [DisplayName("姓名")]
  55. public string UserName { get; set; }
  56. /// <summary>
  57. /// 曾用名
  58. /// </summary>
  59. [DisplayName("曾用名")]
  60. public string UsedName { get; set; }
  61. /// <summary>
  62. /// 班级信息ID
  63. /// </summary>
  64. [Required]
  65. [DisplayName("班级信息ID")]
  66. public Guid? ClassmajorID { get; set; }
  67. /// <summary>
  68. /// 班级编号
  69. /// </summary>
  70. [DisplayName("班级编号")]
  71. public string ClassmajorNo { get; set; }
  72. /// <summary>
  73. /// 班级名称
  74. /// </summary>
  75. [DisplayName("班级名称")]
  76. public string ClassmajorName { get; set; }
  77. /// <summary>
  78. /// 班序
  79. /// </summary>
  80. [DisplayName("班序")]
  81. public int? ClassNum { get; set; }
  82. /// <summary>
  83. /// 专业ID(Value)
  84. /// </summary>
  85. [DisplayName("专业ID(Value)")]
  86. public int? StandardID { get; set; }
  87. /// <summary>
  88. /// 专业代码
  89. /// </summary>
  90. [DisplayName("专业代码")]
  91. public string StandardCode
  92. {
  93. get
  94. {
  95. var inistStandardCode = IdNameExt.GetDictionaryItem(DictionaryItem.CF_Standard.ToString()).Where(x => x.Value == StandardID).Select(x => x.Code).FirstOrDefault();
  96. return (inistStandardCode != null ? inistStandardCode.PadLeft(6, '0') : "");
  97. }
  98. }
  99. /// <summary>
  100. /// 专业名称
  101. /// </summary>
  102. [DisplayName("专业名称")]
  103. public string StandardName
  104. {
  105. get
  106. {
  107. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Standard.ToString()).Where(x => x.Value == StandardID).Select(x => x.Name).FirstOrDefault();
  108. }
  109. }
  110. /// <summary>
  111. /// 培养层次
  112. /// </summary>
  113. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "EducationID")]
  114. public int? EducationID { get; set; }
  115. /// <summary>
  116. /// 培养层次
  117. /// </summary>
  118. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "EducationName")]
  119. public string EducationName
  120. {
  121. get
  122. {
  123. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Education.ToString()).Where(x => x.Value == EducationID).Select(x => x.Name).FirstOrDefault();
  124. }
  125. }
  126. /// <summary>
  127. /// 学习形式
  128. /// </summary>
  129. [DisplayName("学习形式")]
  130. public int? LearningformID { get; set; }
  131. /// <summary>
  132. /// 学习形式
  133. /// </summary>
  134. [DisplayName("学习形式")]
  135. public string LearningformName
  136. {
  137. get
  138. {
  139. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Learningform.ToString()).Where(x => x.Value == LearningformID).Select(x => x.Name).FirstOrDefault();
  140. }
  141. }
  142. /// <summary>
  143. /// 学制
  144. /// </summary>
  145. [DisplayName("学制")]
  146. public decimal? LearnSystem { get; set; }
  147. /// <summary>
  148. /// 院系专业ID
  149. /// </summary>
  150. [DisplayName("院系专业ID")]
  151. public Guid? FacultymajorID { get; set; }
  152. /// <summary>
  153. /// 院系专业编号
  154. /// </summary>
  155. [DisplayName("院系专业编号")]
  156. public string FacultymajorCode { get; set; }
  157. /// <summary>
  158. /// 院系专业名称
  159. /// </summary>
  160. [DisplayName("院系专业名称")]
  161. public string FacultymajorName { get; set; }
  162. /// <summary>
  163. /// 年级
  164. /// </summary>
  165. [DisplayName("年级")]
  166. public int? YearID { get; set; }
  167. /// <summary>
  168. /// 年级
  169. /// </summary>
  170. [DisplayName("年级")]
  171. public int? GradeID { get; set; }
  172. /// <summary>
  173. /// 年级
  174. /// </summary>
  175. [DisplayName("年级")]
  176. public string GradeName
  177. {
  178. get
  179. {
  180. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Grade.ToString()).Where(x => x.Value == GradeID).Select(x => x.Name).FirstOrDefault();
  181. }
  182. }
  183. /// <summary>
  184. /// 入学学期
  185. /// </summary>
  186. [DisplayName("入学学期")]
  187. public int? SemesterID { get; set; }
  188. /// <summary>
  189. /// 入学学期
  190. /// </summary>
  191. [DisplayName("入学学期")]
  192. public string SemesterName
  193. {
  194. get
  195. {
  196. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Semester.ToString()).Where(x => x.Value == SemesterID).Select(x => x.Name).FirstOrDefault();
  197. }
  198. }
  199. /// <summary>
  200. /// 入学学年学期ID
  201. /// </summary>
  202. [DisplayName("入学学年学期ID")]
  203. public Guid? StartSchoolyearID { get; set; }
  204. /// <summary>
  205. /// 入学学年学期对应的Value值
  206. /// </summary>
  207. [DisplayName("StartSchoolyearValue")]
  208. public int? StartSchoolyearValue { get; set; }
  209. /// <summary>
  210. /// 入学学年学期
  211. /// </summary>
  212. [DisplayName("入学学年学期")]
  213. public string StartSchoolyearCode { get; set; }
  214. /// <summary>
  215. /// 年级专业ID
  216. /// </summary>
  217. [DisplayName("年级专业ID")]
  218. public Guid? GrademajorID { get; set; }
  219. /// <summary>
  220. /// 年级专业编号
  221. /// </summary>
  222. [DisplayName("年级专业编号")]
  223. public string GrademajorCode { get; set; }
  224. /// <summary>
  225. /// 年级专业名称
  226. /// </summary>
  227. [DisplayName("年级专业名称")]
  228. public string GrademajorName { get; set; }
  229. // <summary>
  230. /// 毕业学期
  231. /// </summary>
  232. [DisplayName("毕业学期")]
  233. public Guid? GraduateSchoolyearID { get; set; }
  234. /// <summary>
  235. /// 毕业学期Value
  236. /// </summary>
  237. [DisplayName("GraduateSchoolyearValue")]
  238. public int? GraduateSchoolyearValue { get; set; }
  239. /// <summary>
  240. /// 毕业学期
  241. /// </summary>
  242. [DisplayName("毕业学期")]
  243. public string GraduateSchoolyearCode { get; set; }
  244. /// <summary>
  245. /// 院系所ID
  246. /// </summary>
  247. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "College")]
  248. public Guid? CollegeID { get; set; }
  249. /// <summary>
  250. /// 院系所代码
  251. /// </summary>
  252. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "CollegeCode")]
  253. public string CollegeNo { get; set; }
  254. /// <summary>
  255. /// 院系所
  256. /// </summary>
  257. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "College")]
  258. public string CollegeName { get; set; }
  259. /// <summary>
  260. /// 校区ID
  261. /// </summary>
  262. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "Campus")]
  263. public Guid? CampusID { get; set; }
  264. /// <summary>
  265. /// 校区代码
  266. /// </summary>
  267. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "CampusCode")]
  268. public string CampusCode { get; set; }
  269. /// <summary>
  270. /// 校区名称
  271. /// </summary>
  272. [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "Campus")]
  273. public string CampusName { get; set; }
  274. /// <summary>
  275. /// 学校ID
  276. /// </summary>
  277. [DisplayName("学校ID")]
  278. public Guid? UniversityID { get; set; }
  279. /// <summary>
  280. /// 学校代码
  281. /// </summary>
  282. [DisplayName("学校代码")]
  283. public string UniversityCode { get; set; }
  284. /// <summary>
  285. /// 学校名称
  286. /// </summary>
  287. [DisplayName("学校名称")]
  288. public string UniversityName { get; set; }
  289. /// <summary>
  290. /// 校长名
  291. /// </summary>
  292. [DisplayName("校长名")]
  293. public string HeadMasterName { get; set; }
  294. /// <summary>
  295. /// 国籍
  296. /// </summary>
  297. [DisplayName("国籍")]
  298. public string Country { get; set; }
  299. /// <summary>
  300. /// 籍贯
  301. /// </summary>
  302. [DisplayName("籍贯")]
  303. public string Place { get; set; }
  304. /// <summary>
  305. /// 出生地
  306. /// </summary>
  307. [DisplayName("出生地")]
  308. public string BornPlace { get; set; }
  309. /// <summary>
  310. /// 性别
  311. /// </summary>
  312. [Required]
  313. [DisplayName("性别")]
  314. public int? SexID { get; set; }
  315. /// <summary>
  316. /// 性别(Excel导入)
  317. /// </summary>
  318. [DisplayName("性别")]
  319. public string SexStr { get; set; }
  320. /// <summary>
  321. /// 性别
  322. /// </summary>
  323. [DisplayName("性别")]
  324. public string SexName
  325. {
  326. get
  327. {
  328. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Sex.ToString()).Where(x => x.Value == SexID).Select(x => x.Name).FirstOrDefault();
  329. }
  330. }
  331. /// <summary>
  332. /// 出生日期
  333. /// </summary>
  334. [Required]
  335. [DisplayName("出生日期")]
  336. [DataType(DataType.Date)]
  337. [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
  338. public DateTime? BirthDate { get; set; }
  339. /// <summary>
  340. /// 出生日期(Excel导入)
  341. /// </summary>
  342. [DisplayName("出生日期")]
  343. public string BirthDateStr { get; set; }
  344. /// <summary>
  345. /// 民族
  346. /// </summary>
  347. [Required]
  348. [DisplayName("民族")]
  349. public int? NationID { get; set; }
  350. /// <summary>
  351. /// 民族(Excel导入)
  352. /// </summary>
  353. [DisplayName("民族")]
  354. public string NationStr { get; set; }
  355. /// <summary>
  356. /// 民族
  357. /// </summary>
  358. [DisplayName("民族")]
  359. public string NationName
  360. {
  361. get
  362. {
  363. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Nation.ToString()).Where(x => x.Value == NationID).Select(x => x.Name).FirstOrDefault();
  364. }
  365. }
  366. /// <summary>
  367. /// 政治面貌
  368. /// </summary>
  369. [Required]
  370. [DisplayName("政治面貌")]
  371. public int? PoliticsID { get; set; }
  372. /// <summary>
  373. /// 政治面貌(Excel导入)
  374. /// </summary>
  375. [DisplayName("政治面貌")]
  376. public string PoliticsStr { get; set; }
  377. /// <summary>
  378. /// 政治面貌
  379. /// </summary>
  380. [DisplayName("政治面貌")]
  381. public string PoliticsName
  382. {
  383. get
  384. {
  385. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Politics.ToString()).Where(x => x.Value == PoliticsID).Select(x => x.Name).FirstOrDefault();
  386. }
  387. }
  388. /// <summary>
  389. /// 证件类型
  390. /// </summary>
  391. [Required]
  392. [DisplayName("证件类型")]
  393. public int? CertificatesType { get; set; }
  394. /// <summary>
  395. /// 证件类型(Excel导入)
  396. /// </summary>
  397. [DisplayName("证件类型")]
  398. public string CertificatesTypeStr { get; set; }
  399. /// <summary>
  400. /// 证件类型
  401. /// </summary>
  402. [DisplayName("证件类型")]
  403. public string CertificatesTypeName
  404. {
  405. get
  406. {
  407. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_CertificatesType.ToString()).Where(x => x.Value == CertificatesType).Select(x => x.Name).FirstOrDefault();
  408. }
  409. }
  410. /// <summary>
  411. /// 证件号码
  412. /// </summary>
  413. [Required]
  414. [DisplayName("证件号码")]
  415. //[RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "请输入正确的证件号码格式")]
  416. public string IDNumber { get; set; }
  417. /// <summary>
  418. /// 学生类别
  419. /// </summary>
  420. [Required]
  421. [DisplayName("学生类别")]
  422. public int? StudentType { get; set; }
  423. /// <summary>
  424. /// 学生类别(Excel导入)
  425. /// </summary>
  426. [DisplayName("学生类别")]
  427. public string StudentTypeStr { get; set; }
  428. /// <summary>
  429. /// 学生类别
  430. /// </summary>
  431. [DisplayName("学生类别")]
  432. public string StudentTypeName
  433. {
  434. get
  435. {
  436. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_STUDENTTYPE.ToString()).Where(x => x.Value == StudentType).Select(x => x.Name).FirstOrDefault();
  437. }
  438. }
  439. /// <summary>
  440. /// 在校状态
  441. /// </summary>
  442. [Required]
  443. [DisplayName("在校状态")]
  444. public int? InSchoolStatusID { get; set; }
  445. /// <summary>
  446. /// 在校状态(Excel导入)
  447. /// </summary>
  448. [DisplayName("在校状态")]
  449. public string InSchoolStatusStr { get; set; }
  450. /// <summary>
  451. /// 在校状态
  452. /// </summary>
  453. [DisplayName("在校状态")]
  454. public string InSchoolStatusName
  455. {
  456. get
  457. {
  458. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_InschoolStatus.ToString()).Where(x => x.Value == InSchoolStatusID).Select(x => x.Name).FirstOrDefault();
  459. }
  460. }
  461. /// <summary>
  462. /// 学籍状态
  463. /// </summary>
  464. [Required]
  465. [DisplayName("学籍状态")]
  466. public int? StudentStatus { get; set; }
  467. /// <summary>
  468. /// 学籍状态(Excel导入)
  469. /// </summary>
  470. [DisplayName("学籍状态")]
  471. public string StudentStatusStr { get; set; }
  472. /// <summary>
  473. /// 学籍状态
  474. /// </summary>
  475. [DisplayName("学籍状态")]
  476. public string StudentStatusName
  477. {
  478. get
  479. {
  480. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_StudentStatus.ToString()).Where(x => x.Value == StudentStatus).Select(x => x.Name).FirstOrDefault();
  481. }
  482. }
  483. /// <summary>
  484. /// 考生类别
  485. /// </summary>
  486. [DisplayName("考生类别")]
  487. public int? ExamineeType { get; set; }
  488. /// <summary>
  489. /// 考生类别(Excel导入用)
  490. /// </summary>
  491. [DisplayName("考生类别")]
  492. public string ExamineeTypeStr { get; set; }
  493. /// <summary>
  494. /// 考生类别
  495. /// </summary>
  496. [DisplayName("考生类别")]
  497. public string ExamineeTypeName
  498. {
  499. get
  500. {
  501. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_EXAMINEETYPE.ToString()).Where(x => x.Value == ExamineeType).Select(x => x.Name).FirstOrDefault();
  502. }
  503. }
  504. /// <summary>
  505. /// 入学日期
  506. /// </summary>
  507. [DisplayName("入学日期")]
  508. [DataType(DataType.Date)]
  509. [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
  510. public DateTime? EntranceDate { get; set; }
  511. /// <summary>
  512. /// 入学日期(Excel导入用)
  513. /// </summary>
  514. [DisplayName("入学日期")]
  515. public string EntranceDateStr { get; set; }
  516. /// <summary>
  517. /// 文化程度
  518. /// </summary>
  519. [DisplayName("文化程度")]
  520. public int? LiteracyLevelID { get; set; }
  521. /// <summary>
  522. /// 文化程度(Excel导入)
  523. /// </summary>
  524. [DisplayName("文化程度")]
  525. public string LiteracyLevelStr { get; set; }
  526. /// <summary>
  527. /// 文化程度
  528. /// </summary>
  529. [DisplayName("文化程度")]
  530. public string LiteracyLevelName
  531. {
  532. get
  533. {
  534. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_LiteracyLevel.ToString()).Where(x => x.Value == LiteracyLevelID).Select(x => x.Name).FirstOrDefault();
  535. }
  536. }
  537. /// <summary>
  538. /// 办学类型
  539. /// </summary>
  540. [DisplayName("办学类型")]
  541. public int? SchoolTypeID { get; set; }
  542. /// <summary>
  543. /// 办学类型
  544. /// </summary>
  545. [DisplayName("办学类型")]
  546. public string SchoolTypeName
  547. {
  548. get
  549. {
  550. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_SchoolType.ToString()).Where(x => x.Value == SchoolTypeID).Select(x => x.Name).FirstOrDefault();
  551. }
  552. }
  553. /// <summary>
  554. /// 培养方式
  555. /// </summary>
  556. [DisplayName("培养方式")]
  557. public int? CultureModelID { get; set; }
  558. /// <summary>
  559. /// 培养方式(Excel导入)
  560. /// </summary>
  561. [DisplayName("培养方式")]
  562. public string CultureModelStr { get; set; }
  563. /// <summary>
  564. /// 培养方式
  565. /// </summary>
  566. [DisplayName("培养方式")]
  567. public string CultureModelName
  568. {
  569. get
  570. {
  571. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_CULTUREMODEL.ToString()).Where(x => x.Value == CultureModelID).Select(x => x.Name).FirstOrDefault();
  572. }
  573. }
  574. /// <summary>
  575. /// 圆梦计划
  576. /// </summary>
  577. [DisplayName("圆梦计划")]
  578. public bool IsDreamProject { get; set; }
  579. /// <summary>
  580. /// 圆梦计划(Excel导入用)
  581. /// </summary>
  582. [DisplayName("圆梦计划")]
  583. public string IsDreamProjectStr { get; set; }
  584. /// <summary>
  585. /// 圆梦计划
  586. /// </summary>
  587. [DisplayName("圆梦计划")]
  588. public string IsDreamProjectName
  589. {
  590. get { return this.IsDreamProject != true ? "否" : "是"; }
  591. }
  592. /// <summary>
  593. /// 电子邮箱
  594. /// </summary>
  595. [DisplayName("电子邮箱")]
  596. [RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", ErrorMessage = "请输入正确的格式")]
  597. public string Email { get; set; }
  598. /// <summary>
  599. /// 家庭电话
  600. /// </summary>
  601. [DisplayName("家庭电话")]
  602. public string Telephone { get; set; }
  603. /// <summary>
  604. /// 移动电话
  605. /// </summary>
  606. [DisplayName("移动电话")]
  607. public string Mobile { get; set; }
  608. /// <summary>
  609. /// 邮政编码
  610. /// </summary>
  611. [DisplayName("邮政编码")]
  612. [RegularExpression(@"[1-9]\d{5}(?!\d)", ErrorMessage = "请输入正确的格式")]
  613. public string ZIPCode { get; set; }
  614. /// <summary>
  615. /// 微信号
  616. /// </summary>
  617. [DisplayName("微信号")]
  618. public string WeChatNum { get; set; }
  619. /// <summary>
  620. /// QQ
  621. /// </summary>
  622. [DisplayName("QQ")]
  623. [RegularExpression(@"[1-9][0-9]{4,}", ErrorMessage = "请输入正确的格式")]
  624. public string QQ { get; set; }
  625. /// <summary>
  626. /// 健康状况
  627. /// </summary>
  628. [DisplayName("健康状况")]
  629. public int? HealthStateID { get; set; }
  630. /// <summary>
  631. /// 健康状况(Excel导入)
  632. /// </summary>
  633. [DisplayName("健康状况")]
  634. public string HealthStateStr { get; set; }
  635. /// <summary>
  636. /// 健康状况
  637. /// </summary>
  638. [DisplayName("健康状况")]
  639. public string HealthStateName
  640. {
  641. get
  642. {
  643. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_HealthState.ToString()).Where(x => x.Value == HealthStateID).Select(x => x.Name).FirstOrDefault();
  644. }
  645. }
  646. /// <summary>
  647. /// 血型
  648. /// </summary>
  649. [DisplayName("血型")]
  650. public int? BloodGroup { get; set; }
  651. /// <summary>
  652. /// 血型(Excel导入)
  653. /// </summary>
  654. [DisplayName("血型")]
  655. public string BloodGroupStr { get; set; }
  656. /// <summary>
  657. /// 血型名称
  658. /// </summary>
  659. [DisplayName("血型名称")]
  660. public string BloodGroupName
  661. {
  662. get
  663. {
  664. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_BLOODGROUP.ToString()).Where(x => x.Value == BloodGroup).Select(x => x.Name).FirstOrDefault();
  665. }
  666. }
  667. /// <summary>
  668. /// 特长
  669. /// </summary>
  670. [DisplayName("特长")]
  671. public string Specialty { get; set; }
  672. /// <summary>
  673. /// 身高(cm)
  674. /// </summary>
  675. [DisplayName("身高(cm)")]
  676. [RegularExpression(@"^\d+(\.\d+)?$", ErrorMessage = "请输入数字")]
  677. public string Height { get; set; }
  678. /// <summary>
  679. /// 体重(kg)
  680. /// </summary>
  681. [DisplayName("体重(kg)")]
  682. [RegularExpression(@"^\d+(\.\d+)?$", ErrorMessage = "请输入数字")]
  683. public string Weight { get; set; }
  684. /// <summary>
  685. /// 导师姓名
  686. /// </summary>
  687. [DisplayName("导师姓名")]
  688. public string DirectorName { get; set; }
  689. /// <summary>
  690. /// 总分
  691. /// </summary>
  692. [DisplayName("总分")]
  693. [RegularExpression(@"^[0-9]+([.]{1}[0-9]+){0,1}$", ErrorMessage = "请输入数字")]
  694. public decimal? Score { get; set; }
  695. /// <summary>
  696. /// 总分(Excel导入用)
  697. /// </summary>
  698. [DisplayName("总分")]
  699. public string ScoreStr { get; set; }
  700. /// <summary>
  701. /// 入学方式
  702. /// </summary>
  703. [DisplayName("入学方式")]
  704. public int? EntranceWayID { get; set; }
  705. /// <summary>
  706. /// 入学方式(Excel导入用)
  707. /// </summary>
  708. [DisplayName("入学方式")]
  709. public string EntranceWayStr { get; set; }
  710. /// <summary>
  711. /// 入学方式
  712. /// </summary>
  713. [DisplayName("入学方式")]
  714. public string EntranceWayName
  715. {
  716. get
  717. {
  718. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_EntranceWay.ToString()).Where(x => x.Value == EntranceWayID).Select(x => x.Name).FirstOrDefault();
  719. }
  720. }
  721. /// <summary>
  722. /// 考生特征
  723. /// </summary>
  724. [DisplayName("考生特征")]
  725. public int? FeaturesID { get; set; }
  726. /// <summary>
  727. /// 考生特征(Excel导入用)
  728. /// </summary>
  729. [DisplayName("考生特征")]
  730. public string FeaturesStr { get; set; }
  731. /// <summary>
  732. /// 考生特征
  733. /// </summary>
  734. [DisplayName("考生特征")]
  735. public string FeaturesName
  736. {
  737. get
  738. {
  739. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Features.ToString()).Where(x => x.Value == FeaturesID).Select(x => x.Name).FirstOrDefault();
  740. }
  741. }
  742. /// <summary>
  743. /// 生源所属地
  744. /// </summary>
  745. [DisplayName("生源所属地")]
  746. public int? TerritorialID { get; set; }
  747. /// <summary>
  748. /// 生源所属地(Excel导入用)
  749. /// </summary>
  750. [DisplayName("生源所属地")]
  751. public string TerritorialStr { get; set; }
  752. /// <summary>
  753. /// 生源所属地
  754. /// </summary>
  755. [DisplayName("生源所属地")]
  756. public string TerritorialName
  757. {
  758. get
  759. {
  760. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Province.ToString()).Where(x => x.Value == TerritorialID).Select(x => x.Name).FirstOrDefault();
  761. }
  762. }
  763. /// <summary>
  764. /// 来源地区
  765. /// </summary>
  766. [DisplayName("来源地区")]
  767. public string Area { get; set; }
  768. /// <summary>
  769. /// 家庭住址
  770. /// </summary>
  771. [DisplayName("家庭住址")]
  772. public string HomeAddress { get; set; }
  773. /// <summary>
  774. /// 工作单位
  775. /// </summary>
  776. [DisplayName("工作单位")]
  777. public string WorkUnit { get; set; }
  778. /// <summary>
  779. /// 通信地址
  780. /// </summary>
  781. [DisplayName("通信地址")]
  782. public string Address { get; set; }
  783. /// <summary>
  784. /// 收件人
  785. /// </summary>
  786. [DisplayName("收件人")]
  787. public string Recipient { get; set; }
  788. /// <summary>
  789. /// 宿舍地址
  790. /// </summary>
  791. [DisplayName("宿舍地址")]
  792. public string Dormitory { get; set; }
  793. /// <summary>
  794. /// 开户银行
  795. /// </summary>
  796. [DisplayName("开户银行")]
  797. public string BankName { get; set; }
  798. /// <summary>
  799. /// 银行卡号
  800. /// </summary>
  801. [DisplayName("银行卡号")]
  802. [RegularExpression(@"^[0-9]*$", ErrorMessage = "只能输入数字")]
  803. public string CardNo { get; set; }
  804. /// <summary>
  805. /// 录取照片
  806. /// </summary>
  807. [DisplayName("录取照片")]
  808. public string RecruitPictureUrl { get; set; }
  809. /// <summary>
  810. /// 录取照片
  811. /// </summary>
  812. [DisplayName("录取照片")]
  813. public string RecruitPictureUrlStr
  814. {
  815. get
  816. {
  817. if (string.IsNullOrWhiteSpace(this.RecruitPictureUrl))
  818. {
  819. return "/Content/images/noPhoto.png";
  820. }
  821. else
  822. {
  823. return this.RecruitPictureUrl;
  824. }
  825. }
  826. }
  827. /// <summary>
  828. /// 录取照片有无
  829. /// </summary>
  830. [DisplayName("录取照片有无")]
  831. public bool RecruitPictureHasValue { get; set; }
  832. /// <summary>
  833. /// 录取照片有无
  834. /// </summary>
  835. [DisplayName("录取照片有无")]
  836. public string RecruitPictureHasValueName
  837. {
  838. get { return this.RecruitPictureHasValue != true ? "无" : "有"; }
  839. }
  840. /// <summary>
  841. /// 学籍卡编号
  842. /// </summary>
  843. [DisplayName("学籍卡编号")]
  844. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "只能输入数字和英文字母")]
  845. public string StudentCardNo { get; set; }
  846. /// <summary>
  847. /// 学籍照片
  848. /// </summary>
  849. [DisplayName("学籍照片")]
  850. public string PhotoUrl { get; set; }
  851. /// <summary>
  852. /// 学籍照片
  853. /// </summary>
  854. [DisplayName("学籍照片")]
  855. public string PhotoUrlStr
  856. {
  857. get
  858. {
  859. if (string.IsNullOrWhiteSpace(this.PhotoUrl))
  860. {
  861. return "/Content/images/noPhoto.png";
  862. }
  863. else
  864. {
  865. return this.PhotoUrl;
  866. }
  867. }
  868. }
  869. /// <summary>
  870. /// 学籍照片有无
  871. /// </summary>
  872. [DisplayName("学籍照片有无")]
  873. public bool PhotoHasValue { get; set; }
  874. /// <summary>
  875. /// 学籍照片有无
  876. /// </summary>
  877. [DisplayName("学籍照片有无")]
  878. public string PhotoHasValueName
  879. {
  880. get { return this.PhotoHasValue != true ? "无" : "有"; }
  881. }
  882. /// <summary>
  883. /// 预计毕业日期
  884. /// </summary>
  885. [DisplayName("预计毕业日期")]
  886. [DataType(DataType.Date)]
  887. [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
  888. public DateTime? PlanningGraduateDate { get; set; }
  889. /// <summary>
  890. /// 预计毕业日期(yyyyMMdd)
  891. /// </summary>
  892. [DisplayName("预计毕业日期")]
  893. public string PlanningGraduateDateStr { get; set; }
  894. /// <summary>
  895. /// 毕业日期
  896. /// </summary>
  897. [DisplayName("毕业日期")]
  898. [DataType(DataType.Date)]
  899. [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
  900. public DateTime? GraduateDate { get; set; }
  901. /// <summary>
  902. /// 毕业日期(yyyyMMdd)
  903. /// </summary>
  904. [DisplayName("毕业日期")]
  905. public string GraduateDateStr { get; set; }
  906. /// <summary>
  907. /// 毕业结论
  908. /// </summary>
  909. [Required]
  910. [DisplayName("毕业结论")]
  911. public int? GraduationResult { get; set; }
  912. /// <summary>
  913. /// 毕业结论
  914. /// </summary>
  915. [DisplayName("毕业结论")]
  916. public string GraduationResultName
  917. {
  918. get
  919. {
  920. return IdNameExt.GetDictionaryItem(DictionaryItem.ER_GraduationResult.ToString()).Where(x => x.Value == GraduationResult).Select(x => x.Name).FirstOrDefault();
  921. }
  922. }
  923. /// <summary>
  924. /// 毕结业证书编号
  925. /// </summary>
  926. [DisplayName("毕结业证书编号")]
  927. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "请输入数字或英文字母")]
  928. public string GraduateCardNo { get; set; }
  929. /// <summary>
  930. /// 补证编号(补办证书编号)
  931. /// </summary>
  932. [DisplayName("补证编号")]
  933. [RegularExpression(@"^[0-9a-zA-Z\s?]+$", ErrorMessage = "请输入数字或英文字母")]
  934. public string ReplaceGraduateNo { get; set; }
  935. /// <summary>
  936. /// 学位有无
  937. /// </summary>
  938. [DisplayName("学位有无")]
  939. public bool DegreeStatus { get; set; }
  940. /// <summary>
  941. /// 学位有无(Excel导入用)
  942. /// </summary>
  943. [DisplayName("学位有无")]
  944. public string DegreeStatusStr { get; set; }
  945. /// <summary>
  946. /// 学位有无
  947. /// </summary>
  948. [DisplayName("学位有无")]
  949. public string DegreeStatusName
  950. {
  951. get { return this.DegreeStatus != true ? "无" : "有"; }
  952. }
  953. /// <summary>
  954. /// 学历照片
  955. /// </summary>
  956. [DisplayName("学历照片")]
  957. public string GraduationPictureUrl { get; set; }
  958. /// <summary>
  959. /// 学历照片
  960. /// </summary>
  961. [DisplayName("学历照片")]
  962. public string GraduationPictureUrlStr
  963. {
  964. get
  965. {
  966. if (string.IsNullOrWhiteSpace(this.GraduationPictureUrl))
  967. {
  968. return "/Content/images/noPhoto.png";
  969. }
  970. else
  971. {
  972. return this.GraduationPictureUrl;
  973. }
  974. }
  975. }
  976. /// <summary>
  977. /// 学历照片有无
  978. /// </summary>
  979. [DisplayName("学历照片有无")]
  980. public bool GraduationPictureHasValue { get; set; }
  981. /// <summary>
  982. /// 学历照片有无
  983. /// </summary>
  984. [DisplayName("学历照片有无")]
  985. public string GraduationPictureHasValueName
  986. {
  987. get { return this.GraduationPictureHasValue != true ? "无" : "有"; }
  988. }
  989. /// <summary>
  990. /// 在校经历
  991. /// </summary>
  992. [DisplayName("在校经历")]
  993. public string Career { get; set; }
  994. /// <summary>
  995. /// 照片比对
  996. /// </summary>
  997. [DisplayName("照片比对")]
  998. public bool IsPhotoComparison { get; set; }
  999. /// <summary>
  1000. /// 照片比对
  1001. /// </summary>
  1002. [DisplayName("照片比对")]
  1003. public string IsPhotoComparisonName
  1004. {
  1005. get { return this.IsPhotoComparison != true ? "否" : "是"; }
  1006. }
  1007. /// <summary>
  1008. /// 是否核对
  1009. /// </summary>
  1010. [DisplayName("是否核对")]
  1011. public bool IsProofread { get; set; }
  1012. /// <summary>
  1013. /// 是否核对
  1014. /// </summary>
  1015. [DisplayName("是否核对")]
  1016. public string IsProofreadName
  1017. {
  1018. get { return this.IsProofread != true ? "否" : "是"; }
  1019. }
  1020. /// <summary>
  1021. /// 异动数
  1022. /// </summary>
  1023. [DisplayName("异动数")]
  1024. public int? ChangeCount { get; set; }
  1025. /// <summary>
  1026. /// 注册状态
  1027. /// </summary>
  1028. [DisplayName("注册状态")]
  1029. public int? ReportStatus { get; set; }
  1030. /// <summary>
  1031. /// 注册状态
  1032. /// </summary>
  1033. [DisplayName("注册状态")]
  1034. public string ReportStatusName
  1035. {
  1036. get
  1037. {
  1038. return IdNameExt.GetDictionaryItem(DictionaryItem.CF_ReportStatus.ToString()).Where(x => x.Value == ReportStatus).Select(x => x.Name).FirstOrDefault();
  1039. }
  1040. }
  1041. /// <summary>
  1042. /// 帐号状态
  1043. /// </summary>
  1044. [DisplayName("帐号状态")]
  1045. public int? AccountStatus { get; set; }
  1046. /// <summary>
  1047. /// 帐号状态
  1048. /// </summary>
  1049. [DisplayName("帐号状态")]
  1050. public string AccountStatusName
  1051. {
  1052. get
  1053. {
  1054. return IdNameExt.GetDictionaryItem(DictionaryItem.SYS_STATUS.ToString()).Where(x => x.Value == AccountStatus).Select(x => x.Name).FirstOrDefault();
  1055. }
  1056. }
  1057. /// <summary>
  1058. /// 备注
  1059. /// </summary>
  1060. [DisplayName("备注")]
  1061. public string Remark { get; set; }
  1062. /// <summary>
  1063. /// 错误信息(Excel导入)
  1064. /// </summary>
  1065. [DisplayName("未导入原因")]
  1066. public string ErrorMessage { get; set; }
  1067. /// <summary>
  1068. /// 状态
  1069. /// </summary>
  1070. [DisplayName("状态")]
  1071. public int? RecordStatus { get; set; }
  1072. /// <summary>
  1073. /// 创建人
  1074. /// </summary>
  1075. [DisplayName("创建人")]
  1076. public Guid? CreateUserID { get; set; }
  1077. /// <summary>
  1078. /// 创建时间
  1079. /// </summary>
  1080. [DisplayName("创建时间")]
  1081. public DateTime? CreateTime { get; set; }
  1082. /// <summary>
  1083. /// 修改人
  1084. /// </summary>
  1085. [DisplayName("修改人")]
  1086. public Guid? ModifyUserID { get; set; }
  1087. /// <summary>
  1088. /// 修改时间
  1089. /// </summary>
  1090. [DisplayName("修改时间")]
  1091. public DateTime? ModifyTime { get; set; }
  1092. }
  1093. }