/// <summary> /// 背景模式 /// </summary> void BGW_DoWork(object sender, DoWorkEventArgs e) { //取得資料 List <GraduateUDT> list = _AccessHelper.Select <GraduateUDT>(string.Format("UID='{0}'", this.PrimaryKey)); if (list.Count == 1) { GraduateOBJ = list[0]; //取得本UDT資料之照片UDT資料 List <PhotoDataUDT> list2 = _AccessHelper.Select <PhotoDataUDT>(string.Format("RefUDT_ID='{0}'", GraduateOBJ.UID)); if (list2.Count == 1) { photoOBJ = list2[0]; } else { photoOBJ = null; } } else if (list.Count > 1) //UDT資料多餘 { MsgBox.Show("UDT資料有誤!!"); } else //無UDT資料 { } }
/// <summary> /// 更新照片封存資料 /// </summary> private List <PhotoDataUDT> UpdateStudentPhoto(List <GraduateUDT> UpdateArchiveList) { List <PhotoDataUDT> ArchiveList = new List <PhotoDataUDT>(); //取得照片資料(照片資料需取得後更新) List <string> list = new List <string>(); foreach (GraduateUDT each in UpdateArchiveList) { list.Add(each.UID); } string test1 = UDT_S.PopOneCondition("RefUDT_ID", list); List <PhotoDataUDT> PhotoArchiveList = _AccessHelper.Select <PhotoDataUDT>(test1); Dictionary <string, PhotoDataUDT> photoDic = new Dictionary <string, PhotoDataUDT>(); foreach (PhotoDataUDT each in PhotoArchiveList) { if (!photoDic.ContainsKey(each.StudentID)) { photoDic.Add(each.StudentID, each); } else { MsgBox.Show("一名學生有2筆照片資料!!\n" + each.StudentID); } } foreach (GraduateUDT udt in UpdateArchiveList) { if (photoDic.ContainsKey(udt.StudentID)) { photoDic[udt.StudentID].FreshmanPhoto = SetPhoto(udt.StudentID, true); //入學照片 photoDic[udt.StudentID].GraduatePhoto = SetPhoto(udt.StudentID, false); //入學照片 ArchiveList.Add(photoDic[udt.StudentID]); } else //如果不存在,表示前次封存無照片 { //封存入學/畢業照片 PhotoDataUDT photo = new PhotoDataUDT(); photo.StudentID = udt.StudentID; photo.RefUDT_ID = udt.UID; photo.FreshmanPhoto = SetPhoto(udt.StudentID, true); //入學照片 photo.GraduatePhoto = SetPhoto(udt.StudentID, false); //入學照片 ArchiveList.Add(photo); } } return(ArchiveList); }
/// <summary> /// 新增照片封存資料 /// </summary> private List <PhotoDataUDT> InsertStudentPhoto(List <GraduateUDT> GraUDTList) { List <PhotoDataUDT> ArchiveList = new List <PhotoDataUDT>(); foreach (GraduateUDT udt in GraUDTList) { //封存入學/畢業照片 PhotoDataUDT photo = new PhotoDataUDT(); photo.StudentID = udt.StudentID; photo.RefUDT_ID = udt.UID; photo.FreshmanPhoto = SetPhoto(udt.StudentID, true); //入學照片 photo.GraduatePhoto = SetPhoto(udt.StudentID, false); //入學照片 ArchiveList.Add(photo); } return(ArchiveList); }