private void btnStartCreate_Click(object sender, EventArgs e) { if (htConditions.Count == 0) { MessageBox.Show("未选择要生成的卡类别!"); return; } CreatorDataSet.CreateCardRow createCard; DateTime createDate; if (MessageBox.Show("是否生成新的生成卡记录?选否将把生成的卡添加到当前选择的生成卡记录中。", "提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { createCard = creatorDataSet.CreateCard.AddCreateCardRow(DateTime.Now, txtMemo.Text); createCardTableAdapter.Update(creatorDataSet.CreateCard); createCard.ID = (int)createCardTableAdapter.GetMaxID(); createCard.AcceptChanges(); createDate = createCard.CreateDate; } else { if (createCardBindingSource.Current == null) { MessageBox.Show("生成卡失败,未选择要添加卡的生成卡记录"); return; } createCard = (CreatorDataSet.CreateCardRow)(createCardBindingSource.Current as DataRowView).Row; createDate = DateTime.Now; } var bar = ShowProgressBar(); bar.Value = 1; bar.Maximum = htConditions.Keys.Cast<object>().Sum(key => ((CustomerCondition)htConditions[key]).CardCount); var cardTableAdapter = new CreatorDataSetTableAdapters.CardTableAdapter(); cardTableAdapter.Fill(creatorDataSet.Card); foreach (string cardTypeName in htConditions.Keys) { var condition = (CustomerCondition)htConditions[cardTypeName]; for (int i = 0; i < condition.CardCount; i++) { //Application.DoEvents(); string cardNumber; string cardPassword; while (true) { Application.DoEvents(); cardNumber = RandomString(condition.CardNumberLength, condition.CardNumberString); cardPassword = RandomString(condition.CardPasswordLength, condition.CardPasswordString); if (creatorDataSet.Card.Count(c => c.CardNumber == cardNumber && c.CardPassword == cardPassword) == 0) { break; } } creatorDataSet.Card.AddCardRow(cardNumber, cardPassword, cardTypeName, createDate, createCard ); bar.PerformStep(); bar.Refresh(); } } var count = cardTableAdapter.Update(creatorDataSet.Card); lbCardTypes.Items.AddRange(lbSelectedCardTypes.Items); lbSelectedCardTypes.Items.Clear(); htConditions.Clear(); HideProgressBar(bar); MessageBox.Show(string.Format("已生成{0}条记录!", count)); }
private void btnStartCreate_Click(object sender, EventArgs e) { if (htConditions.Count == 0) { MessageBox.Show("未选择要生成的卡类别!"); return; } CreatorDataSet.CreateCardRow createCard; DateTime createDate; if (MessageBox.Show("是否生成新的生成卡记录?选否将把生成的卡添加到当前选择的生成卡记录中。", "提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { createCard = creatorDataSet.CreateCard.AddCreateCardRow(DateTime.Now, txtMemo.Text); createCardTableAdapter.Update(creatorDataSet.CreateCard); createCard.ID = (int)createCardTableAdapter.GetMaxID(); createCard.AcceptChanges(); createDate = createCard.CreateDate; } else { if (createCardBindingSource.Current == null) { MessageBox.Show("生成卡失败,未选择要添加卡的生成卡记录"); return; } createCard = (CreatorDataSet.CreateCardRow)(createCardBindingSource.Current as DataRowView).Row; createDate = DateTime.Now; } var bar = ShowProgressBar(); bar.Value = 1; bar.Maximum = htConditions.Keys.Cast <object>().Sum(key => ((CustomerCondition)htConditions[key]).CardCount); var cardTableAdapter = new CreatorDataSetTableAdapters.CardTableAdapter(); cardTableAdapter.Fill(creatorDataSet.Card); foreach (string cardTypeName in htConditions.Keys) { var condition = (CustomerCondition)htConditions[cardTypeName]; for (int i = 0; i < condition.CardCount; i++) { //Application.DoEvents(); string cardNumber; string cardPassword; while (true) { Application.DoEvents(); cardNumber = RandomString(condition.CardNumberLength, condition.CardNumberString); cardPassword = RandomString(condition.CardPasswordLength, condition.CardPasswordString); if (creatorDataSet.Card.Count(c => c.CardNumber == cardNumber && c.CardPassword == cardPassword) == 0) { break; } } creatorDataSet.Card.AddCardRow(cardNumber, cardPassword, cardTypeName, createDate, createCard ); bar.PerformStep(); bar.Refresh(); } } var count = cardTableAdapter.Update(creatorDataSet.Card); lbCardTypes.Items.AddRange(lbSelectedCardTypes.Items); lbSelectedCardTypes.Items.Clear(); htConditions.Clear(); HideProgressBar(bar); MessageBox.Show(string.Format("已生成{0}条记录!", count)); }