いくつかの請求書を発行し、プログレスバーを表示/更新し、いくつかの値を休止状態のクラスに保存する必要があるクラスに問題があります。以下のコードは、WyemitujFakture を呼び出してプログレス バー ウィンドウを表示する関数を示しています。
private void BtOK_Click(object sender, EventArgs e)
{
lista.Add(2);
lista.Add(8);
liczbaWygenerowach = 0;
ilosc_zrobionych = 0;
fpb = new FrmProgressBar("Emisja faktur potwierdzonych, proszę czekać...");
fpb.Show();
Application.DoEvents();
WyemitujFakture(lista);
fpb.Close();
}
Windows フォームに進行状況バーが表示され、請求書が生成されますが、nHibernate クラスから値を保存できません。次の行のように見えます: fs.Save(); および Session.Flush(); 動作しない。この問題を解決する方法を知っていますか?
private void WyemitujFakture(List<int> lista)
{
foreach (int knh_id in lista)
{
try
{
if (luk.Count > 0)
{
FakturySprzedazy fs = new FakturySprzedazy();
fs.FKS_AKCYZA = false;
fs.FKS_CZY_KLON = false;
fs.FKS_DATA_DOW_KS = Convert.ToDateTime(MTBDataZapisuDoFK.Text);
fs.FKS_DATA_FAKTURY = Convert.ToDateTime(MTBDataFaktury.Text);
fs.FKS_DATA_SPRZEDAZY = Convert.ToDateTime(MTBDataSprzedazy.Text);
fs.Save();
Session.Flush();
liczbaWygenerowach++;
}
}
catch (Exception ex)
{
MessageBox.Show("Nie mozna wyemitowac faktury dla kontrahenta o id = " + knh_id.ToString() + " " + ex.Message);
}
ilosc_zrobionych++;
fpb.PBStan.Value = (int)((100 * ilosc_zrobionych) / liczbaKontrahentow);
Application.DoEvents();
}
}
事前に助けてくれてありがとう