本文整理汇总了C#中IDataContext.Save方法的典型用法代码示例。如果您正苦于以下问题:C# IDataContext.Save方法的具体用法?C# IDataContext.Save怎么用?C# IDataContext.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDataContext
的用法示例。
在下文中一共展示了IDataContext.Save方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RecalculatePoints
public void RecalculatePoints(IDataContext dataContext, IPointsCalculator pointsCalculator, List<PlayedGameToRecalculate> playedGamesToRecalculate)
{
int counter = 0;
foreach (var playedGame in playedGamesToRecalculate)
{
var playerRanks = playedGame.PlayerGameResults.Select(x => new PlayerRank
{
PlayerId = x.PlayerId,
GameRank = x.GameRank
}).ToList();
var newPoints = pointsCalculator.CalculatePoints(playerRanks, playedGame.BoardGameGeekGameDefinition);
var applicationUserForThisGamingGroup = new ApplicationUser()
{
CurrentGamingGroupId = playedGame.GamingGroupId
};
foreach (var playerGameResult in playedGame.PlayerGameResults)
{
var scorecard = newPoints[playerGameResult.PlayerId];
playerGameResult.NemeStatsPointsAwarded = scorecard.BasePoints;
playerGameResult.GameDurationBonusPoints = scorecard.GameDurationBonusPoints;
playerGameResult.GameWeightBonusPoints = scorecard.GameWeightBonusPoints;
dataContext.Save(playerGameResult, applicationUserForThisGamingGroup);
}
Debug.WriteLine("{0} games updated... last PlayedGame.Id is {1}", ++counter, playedGame.PlayedGameId);
}
}
示例2: btnOK_Click
// TODO: Dodaj provere i validaciju.
private void btnOK_Click(object sender, EventArgs e)
{
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
takmicenje.ZrebZaFinalePoSpravama = textBox1.Text.Trim();
dataContext.Save(takmicenje);
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
this.DialogResult = DialogResult.Cancel;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
}
示例3: dodajPenalizacijuToolStripMenuItem_Click
private void dodajPenalizacijuToolStripMenuItem_Click(object sender, EventArgs e)
{
IList<RezultatEkipno> rezultatiEkipe = dataGridViewUserControl1.getSelectedItems<RezultatEkipno>();
if (rezultatiEkipe.Count != 1)
return;
RezultatEkipno rezultat = rezultatiEkipe[0];
PenalizacijaForm form = new PenalizacijaForm(rezultat, takmicenje);
if (form.ShowDialog() != DialogResult.OK)
return;
if (form.Penalizacija.Trim() == String.Empty)
rezultat.addPenalty(null);
else
rezultat.addPenalty(float.Parse(form.Penalizacija));
// Posto se ekipni poredak svaki put nanovo kreira iz ocena, moram
// da zapamtim penalizaciju u ekipi (metod Poredak.create koristi Ekipa.Penalty)
rezultat.Ekipa.Penalty = rezultat.Penalty;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Save(rezultat.Ekipa);
if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
{
ActiveTakmicenje.Takmicenje1.PoredakEkipno.calculatePoredak(ActiveTakmicenje);
dataContext.Save(ActiveTakmicenje.Takmicenje1.PoredakEkipno);
}
else
{
ActiveTakmicenje.Takmicenje4.Poredak.calculatePoredak(ActiveTakmicenje);
dataContext.Save(ActiveTakmicenje.Takmicenje4.Poredak);
}
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
dataGridViewUserControl1.setItems<RezultatEkipno>(
ActiveTakmicenje.getPoredakEkipno(deoTakKod).getRezultati());
dataGridViewUserControl1.setSelectedItem<RezultatEkipno>(rezultat);
}
示例4: promeniKvalStatus
private void promeniKvalStatus(KvalifikacioniStatus kvalStatus)
{
RezultatUkupno rez = dataGridViewUserControl1.getSelectedItem<RezultatUkupno>();
if (rez == null || rez.KvalStatus == kvalStatus)
return;
string msg = String.Empty;
if (kvalStatus != KvalifikacioniStatus.None)
{
string msgFmt = "Da li zelite da oznacite sa \"{1}\" gimnasticara \"{0}\"?";
msg = String.Format(msgFmt, rez.Gimnasticar, kvalStatus);
}
else
{
string msgFmt = "Da li zelite da ponistite oznaku \"{1}\" za gimnasticara \"{0}\"?";
msg = String.Format(msgFmt, rez.Gimnasticar, rez.KvalStatus);
}
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
rez.KvalStatus = kvalStatus;
dataContext.Save(ActiveTakmicenje.getPoredakUkupno(deoTakKod));
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
dataGridViewUserControl1.refreshItems();
dataGridViewUserControl1.setSelectedItem<RezultatUkupno>(rez);
}
示例5: btnAdd_Click
private void btnAdd_Click(object sender, EventArgs e)
{
DialogResult dlgResult = DialogResult.None;
SelectGimnasticarUcesnikForm form = null;
try
{
form = new SelectGimnasticarUcesnikForm(
ActiveRezTakmicenje.Takmicenje.Id, ActiveRezTakmicenje.Pol,
ActiveRezTakmicenje.Kategorija);
dlgResult = form.ShowDialog();
}
catch (InfrastructureException ex)
{
MessageDialogs.showError(ex.Message, this.Text);
return;
}
if (dlgResult != DialogResult.OK || form.SelectedEntities.Count == 0)
return;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
bool added = false;
List<GimnasticarUcesnik> illegalGimnasticari = new List<GimnasticarUcesnik>();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Attach(ActiveRezTakmicenje, false);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Attach(g, false);
foreach (GimnasticarUcesnik g in form.SelectedEntities)
{
if (canAddGimnasticar(ActiveRezTakmicenje, g))
{
ActiveRezTakmicenje.Takmicenje1.addGimnasticar(g);
IList<Ocena> ocene = loadOceneTak1(g);
ActiveRezTakmicenje.Takmicenje1
.gimnasticarAdded(g, ocene, ActiveRezTakmicenje);
added = true;
}
else
{
illegalGimnasticari.Add(g);
}
}
if (added)
{
dataContext.Save(ActiveRezTakmicenje.Takmicenje1);
foreach (GimnasticarUcesnik g in ActiveRezTakmicenje.Takmicenje1.Gimnasticari)
dataContext.Evict(g);
dataContext.Commit();
}
}
catch (InfrastructureException ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(ex.Message, this.Text);
Close();
return;
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
Cursor.Hide();
Cursor.Current = Cursors.Arrow;
}
if (added)
{
setGimnasticari(ActiveRezTakmicenje.Takmicenje1.Gimnasticari);
updateGimnasticariCount();
}
if (illegalGimnasticari.Count > 0)
{
string msg = "Sledeci gimnasticari nisu dodati: \n\n";
msg += StringUtil.getListString(illegalGimnasticari.ToArray());
// MessageDialogs.showMessage(msg, this.Text);
}
}
示例6: btnNewGroup_Click
private void btnNewGroup_Click(object sender, EventArgs e)
{
// TODO: Dodaj brisanje grupa (razmisli da li samo poslednje ili bilo koje)
// Takodje, kada se promeni grupa, proveri da li je grupa ostala prazna i
// pitaj da li treba da se izbrise
if (ActiveRaspored == null)
return;
string msg = "Da li zelite da dodate nov turnus?";
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
if (!ActiveRaspored.canAddNewGrupa())
{
string fmt = "Nije moguce dodati nov turnus zato sto je poslednji " +
"turnus (turnus {0}) prazan.";
MessageDialogs.showMessage(
String.Format(fmt, ActiveRaspored.getBrojGrupa()), this.Text);
return;
}
bool added = false;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
ActiveRaspored.addNewGrupa();
dataContext.Save(ActiveRaspored);
dataContext.Commit();
added = true;
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
if (!added)
{
Close();
return;
}
int brojGrupa = ActiveRaspored.getBrojGrupa();
cmbGrupa.Items.Add(brojGrupa);
updateCombos(brojGrupa, 1);
onRotacijaChanged();
}
示例7: promeniKlubDrzava
private void promeniKlubDrzava(bool prikaziKlub)
{
DataGridViewUserControl dgw = getActiveSpravaGridGroupUserControl()[clickedSprava]
.DataGridViewUserControl;
List<GimnasticarUcesnik> gimnasticari = new List<GimnasticarUcesnik>();
foreach (NastupNaSpravi n in dgw.getSelectedItems<NastupNaSpravi>())
gimnasticari.Add(n.Gimnasticar);
if (gimnasticari.Count == 0)
return;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
foreach (GimnasticarUcesnik g in gimnasticari)
{
g.NastupaZaDrzavu = !prikaziKlub;
dataContext.Save(g);
}
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
NastupNaSpravi n2 = dgw.getSelectedItem<NastupNaSpravi>();
dgw.refreshItems();
dgw.setSelectedItem<NastupNaSpravi>(n2);
}
示例8: kreirajPreostaleRotacije
private void kreirajPreostaleRotacije()
{
if (ActiveRaspored == null)
return;
/*int finalRot = (takmicenje.Gimnastika == Gimnastika.ZSG) ? 4 : 6;
string preostaleRot = "2-" + finalRot.ToString();
string msgFmt = "Da li zelite da kreirate rotacije {0}? Prethodni raspored koji je postojao na rotacijama {0} " +
"bice izbrisan.";
if (!MessageDialogs.queryConfirmation(String.Format(msgFmt, preostaleRot), this.Text))
return;*/
// Nadji aktivne sprave za rotaciju 1.
List<Sprava> aktivneSpraveRot1 = new List<Sprava>();
foreach (Sprava s in Sprave.getSprave(takmicenje.Gimnastika))
{
if (ActiveRaspored.getStartLista(s, ActiveGrupa, 1).Nastupi.Count != 0)
{
aktivneSpraveRot1.Add(s);
}
}
SpraveNaRotacijiForm form = null;
try
{
form = new SpraveNaRotacijiForm(takmicenje.Gimnastika, aktivneSpraveRot1);
if (form.ShowDialog() != DialogResult.OK)
{
return;
}
}
catch (Exception ex)
{
MessageDialogs.showError(ex.Message, this.Text);
return;
}
int finalRot = (takmicenje.Gimnastika == Gimnastika.ZSG) ? 4 : 6;
for (int rot = 2; rot <= finalRot; rot++)
{
kreirajRotaciju(rot, form.AktivneSprave);
}
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
Sprava[] sprave = Sprave.getSprave(takmicenje.Gimnastika);
for (int i = 2; i <= finalRot; i++)
{
for (int j = 0; j < sprave.Length; j++)
{
StartListaNaSpravi startLista = ActiveRaspored.getStartLista(sprave[j], ActiveGrupa, i);
dataContext.Save(startLista);
}
}
dataContext.Commit();
if (ActiveRotacija != 1)
setStartListe(ActiveRaspored, ActiveGrupa, ActiveRotacija);
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
Cursor.Hide();
Cursor.Current = Cursors.Arrow;
}
}
示例9: kreirajNaOsnovuKvalifikanata
// TODO: Ceo ovaj deo gde se kreira na osnovu kvalifikanata je radjen na brzinu, gde je jedino bilo bitno da moze da
// se primeni na Memorijal. Trebalo bi ga temeljno proveriti i uciniti robustnijim.
private void kreirajNaOsnovuKvalifikanata()
{
if (ActiveRaspored == null)
{
string msg2 = "Morate najpre da kreirate praznu start listu (dugme \"Nova start lista\").";
MessageDialogs.showMessage(msg2, this.Text);
return;
}
string msg = "Da li zelite da kreirate start listu na osnovu kvalifikanata?";
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
List<int> zreb = parseZreb();
if (zreb == null)
{
msg = "Nepravilno unesen zreb za finale.";
MessageDialogs.showMessage(msg, this.Text);
return;
}
else if (zreb.Count == 0)
{
msg = "Nije unesen zreb za start liste. Da li zelite da kreirate start listu bez zreba?";
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
}
List<TakmicarskaKategorija> kategorije = new List<TakmicarskaKategorija>(ActiveRaspored.Kategorije);
RezultatskoTakmicenje rezTakmicenje = loadRezTakmicenje(takmicenje.Id, kategorije[0]);
if (rezTakmicenje == null)
return;
Sprava[] sprave = Sprave.getSprave(takmicenje.Gimnastika);
for (int j = 0; j < sprave.Length; j++)
{
StartListaNaSpravi startLista = ActiveRaspored.getStartLista(sprave[j], ActiveGrupa, 1 /*ActiveRotacija*/);
startLista.clear();
List<UcesnikTakmicenja3> kvalifikanti = new List<UcesnikTakmicenja3>(
rezTakmicenje.Takmicenje3.getUcesniciKvalifikanti(sprave[j]));
PropertyDescriptor propDesc =
TypeDescriptor.GetProperties(typeof(UcesnikTakmicenja3))["QualOrder"];
kvalifikanti.Sort(new SortComparer<UcesnikTakmicenja3>(propDesc, ListSortDirection.Ascending));
int k = 0;
while (k < zreb.Count)
{
if (zreb[k] <= kvalifikanti.Count)
startLista.addNastup(new NastupNaSpravi(kvalifikanti[zreb[k] - 1].Gimnasticar, 0));
k++;
}
k = startLista.Nastupi.Count;
while (k < kvalifikanti.Count)
{
startLista.addNastup(new NastupNaSpravi(kvalifikanti[k].Gimnasticar, 0));
k++;
}
}
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
for (int j = 0; j < sprave.Length; j++)
{
StartListaNaSpravi startLista = ActiveRaspored.getStartLista(sprave[j], ActiveGrupa, 1 /*ActiveRotacija*/);
foreach (NastupNaSpravi n in startLista.Nastupi)
{
// potrebno za slucaj kada se u start listi nalaze i gimnasticari iz kategorija razlicitih od kategorija
// za koje start lista vazi.
// TODO3: Proveri da li ovo (tj. nedostatak ove naredbe na drugim mestima) ima veze sa time sto mi
// za start liste ponekad daje gresku, i zbog cega sam morao da u klasi NastupNaSpravi kesiram
// Kategoriju.
NHibernateUtil.Initialize(n.Gimnasticar.TakmicarskaKategorija);
}
dataContext.Save(startLista);
}
dataContext.Commit();
setStartListe(ActiveRaspored, ActiveGrupa, 1 /*ActiveRotacija*/);
getActiveSpravaGridGroupUserControl().clearSelection();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
//.........这里部分代码省略.........
示例10: btnDelete_Click
private void btnDelete_Click(object sender, EventArgs e)
{
IList<Ocena> selItems = getDataGridViewUserControl()
.getSelectedItems<Ocena>();
if (selItems.Count != 1)
return;
Ocena ocena = selItems[0];
string msg = String.Format(
"Da li zelite da izbrisete ocenu za gimnasticara '{0}', za spravu '{1}'?",
ocena.Gimnasticar.ImeSrednjeImePrezime, Sprave.toString(ActiveSprava));
if (!MessageDialogs.queryConfirmation(msg, this.Text))
return;
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
try
{
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Delete(ocena);
IList<RezultatskoTakmicenje> rezTakmicenja = loadRezTakmicenja(ocena.Gimnasticar);
foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
{
if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
{
rezTak.Takmicenje1.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje1);
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje2)
{
if (rezTak.Propozicije.OdvojenoTak2)
{
rezTak.Takmicenje2.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje2);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
{
if (rezTak.Propozicije.OdvojenoTak3)
{
rezTak.Takmicenje3.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje3);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje4)
{
if (rezTak.Propozicije.OdvojenoTak4)
{
rezTak.Takmicenje4.ocenaDeleted(ocena, rezTak);
dataContext.Save(rezTak.Takmicenje4);
}
}
}
foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
{
if (deoTakKod == DeoTakmicenjaKod.Takmicenje1)
{
foreach (GimnasticarUcesnik g in rezTak.Takmicenje1.Gimnasticari)
dataContext.Evict(g);
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje2)
{
foreach (UcesnikTakmicenja2 u in rezTak.Takmicenje2.Ucesnici)
{
if (dataContext.Contains(u.Gimnasticar))
dataContext.Evict(u.Gimnasticar);
dataContext.Evict(u);
}
}
else if (deoTakKod == DeoTakmicenjaKod.Takmicenje3)
{
foreach (UcesnikTakmicenja3 u in rezTak.Takmicenje3.Ucesnici)
{
if (dataContext.Contains(u.Gimnasticar))
dataContext.Evict(u.Gimnasticar);
dataContext.Evict(u);
}
}
}
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
//.........这里部分代码省略.........
示例11: mnKreirajTakmicenja234_Click
private void mnKreirajTakmicenja234_Click(object sender, EventArgs e)
{
string msg = "Da li zelite da kreirate takmicenja II, III i IV?";
if (!MessageDialogs.queryConfirmation(msg, "Kreiraj takmicenja II, III i IV"))
return;
IDataContext dataContext = null;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
IList<RezultatskoTakmicenje> rezTakmicenja = loadRezTakmicenja(
dataContext, takmicenjeId.Value);
if (rezTakmicenja.Count == 0)
throw new BusinessException("Morate najpre da unesete takmicarske kategorije.");
Cursor.Current = Cursors.WaitCursor;
Cursor.Show();
IList<Ocena> ocene = loadOceneTak1(takmicenjeId.Value);
foreach (RezultatskoTakmicenje rt in rezTakmicenja)
{
// Ovo je zakomentarisano zato sto je moguce da je poredak rucno promenjen, pa ga ne treba ponovo
// kreirati.
/*rt.Takmicenje1.PoredakUkupno.create(rt, ocene);
foreach (PoredakSprava p in rt.Takmicenje1.PoredakSprava)
p.create(rt, ocene);
rt.Takmicenje1.PoredakPreskok.create(rt, ocene);*/
// TODO3: Zakomentarisi ovo kada budes ponovo uveo da se ekipni poredak automatski azurira.
rt.Takmicenje1.PoredakEkipno.create(rt, ocene);
if (rt.Propozicije.PostojiTak2)
{
rt.Takmicenje2.createUcesnici(rt.Takmicenje1);
if (rt.Propozicije.OdvojenoTak2)
rt.Takmicenje2.Poredak.initRezultati(rt.Takmicenje2.getUcesniciGimKvalifikanti());
else
rt.Takmicenje2.Poredak.create(rt, ocene);
}
if (rt.Propozicije.PostojiTak3)
{
rt.Takmicenje3.createUcesnici(rt.Takmicenje1, rt.Propozicije.KvalifikantiTak3PreskokNaOsnovuObaPreskoka);
if (rt.Propozicije.OdvojenoTak3)
{
foreach (PoredakSprava p in rt.Takmicenje3.Poredak)
p.initRezultati(rt.Takmicenje3.getUcesniciGimKvalifikanti(p.Sprava));
rt.Takmicenje3.PoredakPreskok.initRezultati(rt.Takmicenje3.getUcesniciGimKvalifikanti(Sprava.Preskok));
}
else
{
foreach (PoredakSprava p in rt.Takmicenje3.Poredak)
p.create(rt, ocene);
rt.Takmicenje3.PoredakPreskok.create(rt, ocene);
}
}
if (rt.Propozicije.PostojiTak4)
{
/*
rt.Takmicenje4.createUcesnici(rt.Takmicenje1);
if (rt.Propozicije.OdvojenoTak4)
rt.Takmicenje4.Poredak.initRezultati(rt.Takmicenje4.getUcesnici());
else
rt.Takmicenje4.Poredak.create(rt, ocene);
*/
}
dataContext.Save(rt.Takmicenje1);
if (rt.Propozicije.PostojiTak2)
dataContext.Save(rt.Takmicenje2);
if (rt.Propozicije.PostojiTak3)
dataContext.Save(rt.Takmicenje3);
//if (rt.Propozicije.PostojiTak4)
// dataContext.Save(rt.Takmicenje4);
Takmicenje t = dataContext.GetById<Takmicenje>(takmicenjeId.Value);
t.ZavrsenoTak1 = true;
dataContext.Save(t);
mnTakmicenje2.Visible = true;
mnTakmicenje3.Visible = true;
mnTakmicenje4.Visible = true;
}
dataContext.Commit();
}
catch (BusinessException ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(ex.Message, strProgName);
}
catch (InfrastructureException ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(ex.Message, strProgName);
//.........这里部分代码省略.........
示例12: btnOK_Click
private void btnOK_Click(object sender, EventArgs e)
{
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
// TODO: Prvo proveri da li je nesto menjano
// Proveri da li se sve ekipe sastoje od uzastopnih gimnsticara. Ako ne, sve gimnasticare koji se nalaze
// izmedju dva clana neke ekipe proglasi za clanove te iste ekipe.
if (rotacija == 1)
{
byte ekipa = findFragmentedEkipa(startLista);
while (ekipa > 0)
{
kompaktujEkipu(ekipa, startLista);
ekipa = findFragmentedEkipa(startLista);
}
}
dataContext.Save(startLista);
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(
Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
this.DialogResult = DialogResult.Cancel;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
}
示例13: promeniPoredakPreskok
private void promeniPoredakPreskok()
{
bool obaPreskoka = ActiveTakmicenje.Propozicije.racunajObaPreskoka(deoTakKod, takmicenje.FinaleKupa);
RazresiIsteOceneForm form = new RazresiIsteOceneForm(istiRezultati, takmicenje, obaPreskoka);
if (form.ShowDialog() != DialogResult.OK)
return;
for (int i = 0; i < istiRezultati.Count; ++i)
{
if (!obaPreskoka)
istiRezultati[i].Rank = (short)form.Poredak[i];
else
(istiRezultati[i] as RezultatPreskok).Rank2 = (short)form.Poredak[i];
}
string rank = (!obaPreskoka) ? "Rank" : "Rank2";
PropertyDescriptor[] propDesc = new PropertyDescriptor[] {
TypeDescriptor.GetProperties(typeof(RezultatPreskok))[rank],
TypeDescriptor.GetProperties(typeof(RezultatPreskok))["PrezimeIme"]
};
ListSortDirection[] sortDir = new ListSortDirection[] {
ListSortDirection.Ascending,
ListSortDirection.Ascending
};
short redBroj = (!obaPreskoka) ? istiRezultati[0].RedBroj : (istiRezultati[0] as RezultatPreskok).RedBroj2.Value;
istiRezultati.Sort(new SortComparer<RezultatSprava>(propDesc, sortDir));
foreach (RezultatPreskok r in istiRezultati)
{
if (!obaPreskoka)
r.RedBroj = redBroj++;
else
r.RedBroj2 = redBroj++;
}
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Save(ActiveTakmicenje.getPoredakPreskok(deoTakKod));
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
string redBrojStr = (!obaPreskoka) ? "RedBroj" : "RedBroj2";
spravaGridUserControl1.DataGridViewUserControl
.sort<RezultatPreskok>(redBrojStr, ListSortDirection.Ascending);
//spravaGridUserControl1.DataGridViewUserControl.refreshItems();
spravaGridUserControl1.DataGridViewUserControl.setSelectedItem<RezultatPreskok>(
istiRezultati[0] as RezultatPreskok);
}
示例14: okButton_Click
private void okButton_Click(object sender, System.EventArgs e)
{
/* foreach (PropertyPage page in _pages)
{
page.OnApply();
}*/
try
{
if (_activePage != null && !applyPage(_activePage))
{
DialogResult = DialogResult.None;
return;
}
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
dataContext.Save(takmicenje);
IDictionary<int, List<RezultatskoTakmicenje>> rezTakMap = new Dictionary<int, List<RezultatskoTakmicenje>>();
foreach (RezultatskoTakmicenje rt in rezTakmicenja)
{
if (rezTakMap.ContainsKey(rt.TakmicenjeDescription.Id))
{
rezTakMap[rt.TakmicenjeDescription.Id].Add(rt);
}
else
{
List<RezultatskoTakmicenje> rezTakList = new List<RezultatskoTakmicenje>();
rezTakList.Add(rt);
rezTakMap.Add(rt.TakmicenjeDescription.Id, rezTakList);
}
}
foreach (List<RezultatskoTakmicenje> rezTakList in rezTakMap.Values)
{
bool kombAdded = false;
foreach (RezultatskoTakmicenje rt in rezTakList)
{
if (!rt.TakmicenjeDescription.Propozicije.JednoTak4ZaSveKategorije)
{
rt.ImaEkipnoTakmicenje = true;
rt.KombinovanoEkipnoTak = false;
}
else
{
if (!kombAdded)
{
rt.ImaEkipnoTakmicenje = true;
rt.KombinovanoEkipnoTak = true;
kombAdded = true;
}
else
{
rt.ImaEkipnoTakmicenje = false;
rt.KombinovanoEkipnoTak = false;
}
}
}
}
foreach (RezultatskoTakmicenje rt in rezTakmicenja)
{
dataContext.Save(rt.Propozicije);
bool deletedTak2, deletedTak3, deletedTak4;
rt.updateTakmicenjaFromChangedPropozicije(
out deletedTak2, out deletedTak3, out deletedTak4);
// TODO: Sledece tri Delete naredbe najverovatnije nemaju efekta zato sto ako je npr. deletedTak2 == true,
// tada je rt.Takmicenje2 == null
if (deletedTak2)
dataContext.Delete(rt.Takmicenje2);
if (deletedTak3)
dataContext.Delete(rt.Takmicenje3);
if (deletedTak4)
dataContext.Delete(rt.Takmicenje4);
// TODO: Potrebno je ponovo izracunati poretke i ucesnike zato
// sto su se mozda promenili brojevi finalista, rezervi, nacin
// racunanja preskoka itd.
dataContext.Save(rt);
}
dataContext.Commit();
}
catch (InfrastructureException ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showError(ex.Message, this.Text);
DialogResult = DialogResult.Cancel;
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
//.........这里部分代码省略.........
示例15: promeniKlubDrzava
private void promeniKlubDrzava(bool prikaziKlub)
{
List<GimnasticarUcesnik> gimnasticari = new List<GimnasticarUcesnik>();
foreach (RezultatUkupno r in dataGridViewUserControl2.getSelectedItems<RezultatUkupno>())
gimnasticari.Add(r.Gimnasticar);
if (gimnasticari.Count == 0)
return;
try
{
DataAccessProviderFactory factory = new DataAccessProviderFactory();
dataContext = factory.GetDataContext();
dataContext.BeginTransaction();
foreach (GimnasticarUcesnik g in gimnasticari)
{
g.NastupaZaDrzavu = !prikaziKlub;
dataContext.Save(g);
}
dataContext.Commit();
}
catch (Exception ex)
{
if (dataContext != null && dataContext.IsInTransaction)
dataContext.Rollback();
MessageDialogs.showMessage(Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
Close();
return;
}
finally
{
if (dataContext != null)
dataContext.Dispose();
dataContext = null;
}
RezultatUkupno rez = dataGridViewUserControl2.getSelectedItem<RezultatUkupno>();
dataGridViewUserControl2.refreshItems();
dataGridViewUserControl2.setSelectedItem<RezultatUkupno>(rez);
}