private void Save_Click(object sender, EventArgs e) { try { if (!this.ValidateData()) { MessageBox.Show("請先修正錯誤再儲存。"); this.DialogResult = System.Windows.Forms.DialogResult.None; return; } List<UDT.GradeScoreMappingTable> GradeScoreMappings = __Access.Select<UDT.GradeScoreMappingTable>(); GradeScoreMappings.ForEach(x => x.Deleted = true); GradeScoreMappings.SaveAll(); GradeScoreMappings.Clear(); foreach (DataGridViewRow row in this.dgvData.Rows) { if (row.IsNewRow) continue; UDT.GradeScoreMappingTable GradeScoreMappingTable = new UDT.GradeScoreMappingTable(); GradeScoreMappingTable.Grade = (row.Cells[0].Value + "").Trim(); GradeScoreMappingTable.GP = decimal.Parse(row.Cells[1].Value + ""); GradeScoreMappingTable.Score = decimal.Parse(row.Cells[2].Value + ""); GradeScoreMappings.Add(GradeScoreMappingTable); } GradeScoreMappings.SaveAll(); MessageBox.Show("儲存成功。"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); this.DialogResult = System.Windows.Forms.DialogResult.None; } }
private void Subject_Score_Export_DBF_Load(object sender, EventArgs e) { this.circularProgress.Visible = false; this.circularProgress.IsRunning = false; this.form_loaded = false; Task task = Task.Factory.StartNew(() => { List<UDT.GradeScoreMappingTable> GradeScoreMappings = __Access.Select<UDT.GradeScoreMappingTable>(); if (GradeScoreMappings.Count == 0) { XDocument xDocument = XDocument.Parse(Properties.Resources.GradeScoreMappingTable, LoadOptions.None); IEnumerable<XElement> xElements = xDocument.Descendants("Grade"); foreach (XElement xElement in xElements) { UDT.GradeScoreMappingTable GradeScoreMappingTable = new UDT.GradeScoreMappingTable(); GradeScoreMappingTable.Grade = xElement.Value; GradeScoreMappingTable.GP = decimal.Parse(xElement.Attribute("GP").Value); GradeScoreMappingTable.Score = decimal.Parse(xElement.Attribute("Score").Value); GradeScoreMappings.Add(GradeScoreMappingTable); } GradeScoreMappings.SaveAll(); } foreach (UDT.GradeScoreMappingTable GradeScoreMappingTable in GradeScoreMappings) { if (!this.dicGradeScoreMappings.ContainsKey(GradeScoreMappingTable.Grade)) this.dicGradeScoreMappings.Add(GradeScoreMappingTable.Grade, new KeyValuePair<string, string>(GradeScoreMappingTable.GP.ToString(), GradeScoreMappingTable.Score.ToString())); } }); task.ContinueWith((x) => { if (x.Exception != null) { MessageBox.Show(x.Exception.InnerException.Message); } this.circularProgress.IsRunning = false; this.circularProgress.Visible = false; this.form_loaded = true; }, System.Threading.CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.FromCurrentSynchronizationContext()); }