当前位置: 首页>>代码示例>>C#>>正文


C# IDataContext.Commit方法代码示例

本文整理汇总了C#中IDataContext.Commit方法的典型用法代码示例。如果您正苦于以下问题:C# IDataContext.Commit方法的具体用法?C# IDataContext.Commit怎么用?C# IDataContext.Commit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDataContext的用法示例。


在下文中一共展示了IDataContext.Commit方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: 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;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:28,代码来源:ZrebForm.cs

示例2: delete

        public void delete()
        {
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                IList<Gimnasticar> gimnasticari = dataContext.GetAll<Gimnasticar>();
                foreach (Gimnasticar g in gimnasticari)
                    dataContext.Delete(g);

                IList<KategorijaGimnasticara> kategorije = dataContext.GetAll<KategorijaGimnasticara>();
                foreach (KategorijaGimnasticara k in kategorije)
                    dataContext.Delete(k);

                IList<Klub> klubovi = dataContext.GetAll<Klub>();
                foreach (Klub k in klubovi)
                    dataContext.Delete(k);

                IList<Mesto> mesta = dataContext.GetAll<Mesto>();
                foreach (Mesto m in mesta)
                    dataContext.Delete(m);

                IList<Sudija> sudije = dataContext.GetAll<Sudija>();
                foreach (Sudija s in sudije)
                    dataContext.Delete(s);

                IList<Drzava> drzave = dataContext.GetAll<Drzava>();
                foreach (Drzava d in drzave)
                    dataContext.Delete(d);

                dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:48,代码来源:RegistarInitializer.cs

示例3: insert

        public void insert()
        {
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                insertTakmicenje();
                insertGimnasticariAndDrzaveUcesniciAndAddRezTakmicenjaUcesnici();
                insertSudijeUcesnici();

                insertRasporedSudija();
                insertStartListe();
                insertOcene();

                insertRezultatiUkupno(DeoTakmicenjaKod.Takmicenje1);
                insertRezultatiUkupno(DeoTakmicenjaKod.Takmicenje2);

                insertRezultatiSprava(DeoTakmicenjaKod.Takmicenje1);
                insertRezultatiSprava(DeoTakmicenjaKod.Takmicenje3);

                dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:38,代码来源:MilanoInitializer.cs

示例4: promeniKlubDrzava

        private void promeniKlubDrzava(bool prikaziKlub)
        {
            DataGridViewUserControl dgw = getActiveSpravaGridGroupUserControl()[clickedSprava]
                .DataGridViewUserControl;
            List<SudijaUcesnik> sudije = new List<SudijaUcesnik>();
            foreach (SudijaNaSpravi s in dgw.getSelectedItems<SudijaNaSpravi>())
            {
                if (s.Sudija != null)
                    sudije.Add(s.Sudija);
            }
            if (sudije.Count == 0)
                return;

            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                foreach (SudijaUcesnik s in sudije)
                {
                    s.NastupaZaDrzavu = !prikaziKlub;
                    dataContext.Save(s);
                }
                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;
            }

            SudijaNaSpravi s2 = dgw.getSelectedItem<SudijaNaSpravi>();
            dgw.refreshItems();
            dgw.setSelectedItem<SudijaNaSpravi>(s2);
        }
开发者ID:stankela,项目名称:bilten,代码行数:45,代码来源:RasporedSudijaForm.cs

示例5: btnDelete_Click

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (ActiveRaspored == null)
                return;

            string msgFmt = "Da li zelite da izbrisete raspored sudija?";
            if (!MessageDialogs.queryConfirmation(String.Format(
                msgFmt, ""), this.Text))
                return;

            bool deleted = false;
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                dataContext.Delete(ActiveRaspored);

                dataContext.Commit();
                deleted = true;
            }
            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;
            }

            if (!deleted)
                return;

            rasporedi.Remove(ActiveRaspored);

            tabOpened.RemoveAt(tabControl1.SelectedIndex);
            tabControl1.TabPages.Remove(tabControl1.SelectedTab);
        }
开发者ID:stankela,项目名称:bilten,代码行数:46,代码来源:RasporedSudijaForm.cs

示例6: promeniNacinRotacije

        private void promeniNacinRotacije(NacinRotacije nacinRotacije, Sprava sprava)
        {
            if (ActiveRotacija != 1)
                return;
            StartListaNaSpravi startLista = ActiveRaspored.getStartLista(sprava, ActiveGrupa, ActiveRotacija);
            if (startLista.NacinRotacije == nacinRotacije)
                return;

            startLista.NacinRotacije = nacinRotacije;

            bool close = false;
            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                dataContext.Save(startLista);
                dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                MessageDialogs.showMessage(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
                close = true;
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
            if (close)
            {
                Close();
                return;
            }

            mnRotirajEkipeRotirajGim.Checked = nacinRotacije == NacinRotacije.RotirajEkipeRotirajGimnasticare;
            mnNeRotirajEkipeRotirajGim.Checked = nacinRotacije == NacinRotacije.NeRotirajEkipeRotirajGimnasticare;
            mnRotirajSve.Checked = nacinRotacije == NacinRotacije.RotirajSve;
            mnNeRotirajNista.Checked = nacinRotacije == NacinRotacije.NeRotirajNista;
        }
开发者ID:stankela,项目名称:bilten,代码行数:50,代码来源:StartListeForm.cs

示例7: oznaci

        private void oznaci(bool oznaciKaoPojedinca)
        {
            StartListaNaSpravi startLista = ActiveRaspored.getStartLista(clickedSprava, ActiveGrupa, ActiveRotacija);

            IList<NastupNaSpravi> selNastupi = getActiveSpravaGridGroupUserControl()[clickedSprava]
                .DataGridViewUserControl.getSelectedItems<NastupNaSpravi>();
            if (selNastupi.Count == 0)
                return;

            if (!areConsecutiveRowsSelected(getActiveSpravaGridGroupUserControl()[clickedSprava]
                                              .DataGridViewUserControl.DataGridView))
            {
                string msg;
                if (oznaciKaoPojedinca)
                    msg = "Samo uzastopne gimnasticare je moguce oznaciti kao pojedinca.";
                else
                    msg = "Samo uzastopne gimnasticare je moguce oznaciti kao ekipu.";
                MessageDialogs.showMessage(msg, this.Text);
                return;
            }

            if (areSelectedRowsTrueSubsetOfEkipa(getActiveSpravaGridGroupUserControl()[clickedSprava]
                                              .DataGridViewUserControl.DataGridView))
            {
                // Selektovan je pravi podskup neke ekipe. Ponisti ekipe za sve gimnasticare iz ekipe.
                // Time se sprecava da imamo ekipu ciji clanovi nisu uzastopni u start listi.

                List<byte> selEkipe = getEkipe(getActiveSpravaGridGroupUserControl()[clickedSprava]
                    .DataGridViewUserControl.DataGridView, true);
                IList<NastupNaSpravi> sviNastupi = getActiveSpravaGridGroupUserControl()[clickedSprava]
                    .DataGridViewUserControl.getItems<NastupNaSpravi>();
                foreach (NastupNaSpravi n in sviNastupi)
                {
                    if (selEkipe.IndexOf(n.Ekipa) != -1)
                        n.Ekipa = 0;
                }
            }
            else
            {
                // Ponisti ekipe za selektovane gimnasticare.
                foreach (NastupNaSpravi n in selNastupi)
                {
                    n.Ekipa = 0;
                }
            }

            if (!oznaciKaoPojedinca)
            {
                byte maxEkipa = getMaxEkipa(getActiveSpravaGridGroupUserControl()[clickedSprava]
                    .DataGridViewUserControl.DataGridView);
                foreach (NastupNaSpravi n in selNastupi)
                    n.Ekipa = (byte)(maxEkipa + 1);
            }

            bool close = false;
            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                dataContext.Save(startLista);
                dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                MessageDialogs.showMessage(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), this.Text);
                close = true;
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
            if (close)
            {
                Close();
                return;
            }

            getActiveSpravaGridGroupUserControl()[clickedSprava].clearSelection();
            getActiveSpravaGridGroupUserControl()[clickedSprava].DataGridViewUserControl.DataGridView.Refresh();
        }
开发者ID:stankela,项目名称:bilten,代码行数:92,代码来源:StartListeForm.cs

示例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;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:84,代码来源:StartListeForm.cs

示例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
            {
//.........这里部分代码省略.........
开发者ID:stankela,项目名称:bilten,代码行数:101,代码来源:StartListeForm.cs

示例10: 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
                dataContext.Save(sudijskiOdbor);

                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;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:28,代码来源:RasporedSudijaEditorForm.cs

示例11: btnOk_Click

        private void btnOk_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                RezultatskoTakmicenje origTakmicenje = loadRezTakmicenje(rezTakmicenje.Id);

                List<UcesnikTakmicenja3> orig = new List<UcesnikTakmicenja3>(origTakmicenje.Takmicenje3.getUcesniciKvalifikanti(sprava));
                List<UcesnikTakmicenja3> curr = new List<UcesnikTakmicenja3>(rezTakmicenje.Takmicenje3.getUcesniciKvalifikanti(sprava));
                List<UcesnikTakmicenja3> added = new List<UcesnikTakmicenja3>();
                List<UcesnikTakmicenja3> updated = new List<UcesnikTakmicenja3>();
                List<UcesnikTakmicenja3> deleted = new List<UcesnikTakmicenja3>();
                diff(curr, orig, added, updated, deleted);

                foreach (UcesnikTakmicenja3 u in updated)
                {
                    UcesnikTakmicenja3 origUcesnik = origTakmicenje.Takmicenje3.getUcesnikKvalifikant(u.Gimnasticar, sprava);
                    if (origUcesnik == null)
                        throw new Exception("Greska u programu.");
                    origUcesnik.QualOrder = u.QualOrder;
                }

                foreach (UcesnikTakmicenja3 u in added)
                {
                    origTakmicenje.Takmicenje3.addUcesnik(u);
                    Ocena o = loadOcena(u.Gimnasticar, DeoTakmicenjaKod.Takmicenje3, sprava);
                    if (sprava != Sprava.Preskok)
                        origTakmicenje.Takmicenje3.getPoredak(sprava).addGimnasticar(u.Gimnasticar, o, origTakmicenje);
                    else
                        origTakmicenje.Takmicenje3.PoredakPreskok.addGimnasticar(u.Gimnasticar, o, origTakmicenje);
                }

                foreach (UcesnikTakmicenja3 u in deleted)
                {
                    origTakmicenje.Takmicenje3.removeUcesnik(u);
                    if (sprava == Sprava.Preskok)
                        origTakmicenje.Takmicenje3.PoredakPreskok.deleteGimnasticar(u.Gimnasticar, origTakmicenje);
                    else
                        origTakmicenje.Takmicenje3.getPoredak(sprava).deleteGimnasticar(u.Gimnasticar, origTakmicenje);
                }

                dataContext.Save(origTakmicenje.Takmicenje3);
                dataContext.Commit();
            }
            catch (InfrastructureException ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                MessageDialogs.showError(ex.Message, this.Text);
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:71,代码来源:KvalifikantiTak3EditorForm.cs

示例12: deleteGimnasticar

        private bool deleteGimnasticar(GimnasticarUcesnik g)
        {
            if (!canDeleteGimnasticar(g))
                return false;

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                dataContext.Attach(g, false);
                IList<RezultatskoTakmicenje> rezTakmicenja = loadRezTakmicenja(g);
                foreach (RezultatskoTakmicenje rezTak in rezTakmicenja)
                {
                    rezTak.Takmicenje1.removeGimnasticar(g);

                    // najpre ucitavam sprave na kojima je gimnasticar vezbao, da bih
                    // azurirao samo te poretke. Inace bi se u metodu
                    // Takmicenje1.gimnasticarDeleted ucitavali svi poretci (da bi se
                    // proverilo u kojima se gimnasticar nalazi) i zatim bi se svi
                    // ponovo snimali u bazu.
                    IList sprave = loadVezbaneSpraveTak1(g);
                    rezTak.Takmicenje1.gimnasticarDeleted(g, sprave, rezTak);

                    dataContext.Save(rezTak.Takmicenje1);
                    foreach (GimnasticarUcesnik g2 in rezTak.Takmicenje1.Gimnasticari)
                      dataContext.Evict(g2);
                }

                dataContext.Delete(g);
                dataContext.Commit();
                return true;
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                MessageDialogs.showError(
                    String.Format("{0} \n\n{1}", deleteErrorMessage(), ex.Message),
                    this.Text);
                return false;
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
开发者ID:stankela,项目名称:bilten,代码行数:55,代码来源:TakmicariKategorijeForm.cs

示例13: addCmd

        private void addCmd()
        {
            NacinIzboraGimnasticaraForm form2 = new NacinIzboraGimnasticaraForm();
            if (form2.ShowDialog() != DialogResult.OK)
                return;

            List<GimnasticarUcesnik> selGimnasticari = new List<GimnasticarUcesnik>();

            DialogResult dlgResult = DialogResult.None;
            SelectGimnasticariPrethTakmForm form3 = null;
            SelectGimnasticarForm form = null;
            if (form2.IzPrethodnogTakmicenja)
            {
                try
                {
                    form3 = new SelectGimnasticariPrethTakmForm(ActiveKategorija.Gimnastika, false);
                    dlgResult = form3.ShowDialog();
                }
                catch (InfrastructureException ex)
                {
                    MessageDialogs.showError(ex.Message, this.Text);
                }
                if (dlgResult != DialogResult.OK || form3.SelectedGimnasticari.Count == 0)
                    return;
            }
            else
            {
                try
                {
                    form = new SelectGimnasticarForm(ActiveKategorija.Gimnastika);
                    dlgResult = form.ShowDialog();
                }
                catch (InfrastructureException ex)
                {
                    MessageDialogs.showError(ex.Message, this.Text);
                }

                if (dlgResult != DialogResult.OK || form.SelectedEntities.Count == 0)
                    return;
            }

            bool added = false;
            List<GimnasticarUcesnik> okGimnasticari = new List<GimnasticarUcesnik>();
            List<GimnasticarUcesnik> illegalGimnasticari = new List<GimnasticarUcesnik>();
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                if (form2.IzPrethodnogTakmicenja)
                {
                    foreach (GimnasticarUcesnik g in form3.SelectedGimnasticari)
                    {
                        selGimnasticari.Add(createGimnasticarUcesnik(
                            g, ActiveKategorija));
                    }
                }
                else
                {
                    foreach (Gimnasticar g in form.SelectedEntities)
                    {
                        selGimnasticari.Add(createGimnasticarUcesnik(
                            g, ActiveKategorija));
                    }
                }

                foreach (GimnasticarUcesnik g in selGimnasticari)
                {
                    //GimnasticarUcesnik gimnasticar = createGimnasticarUcesnik(
                    //    g, ActiveKategorija);
                    if (canAddGimnasticar(g/*imnasticar*/, ActiveKategorija))
                        okGimnasticari.Add(g/*imnasticar*/);
                    else
                        illegalGimnasticari.Add(g);
                }

                foreach (GimnasticarUcesnik g in okGimnasticari)
                    dataContext.Add(g);
                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;
//.........这里部分代码省略.........
开发者ID:stankela,项目名称:bilten,代码行数:101,代码来源:TakmicariKategorijeForm.cs

示例14: btnDelete_Click

        private void btnDelete_Click(object sender, EventArgs e)
        {
            Takmicenje selTakmicenje = dataGridViewUserControl1.getSelectedItem<Takmicenje>();
            if (selTakmicenje == null)
                return;

            string msgFmt = "Da li zelite da izbrisete takmicenje \"{0}\"?";
            if (!MessageDialogs.queryConfirmation(String.Format(
                msgFmt, selTakmicenje), this.Text))
                return;

            if (selTakmicenje.Id == currTakmicenjeId)
            {
                string msg = "Nije dozvoljeno brisanje takmicenja koje je trenutno otvoreno.";
                MessageDialogs.showMessage(msg, this.Text);
                return;
            }

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();

            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                deleteTakmicenje(selTakmicenje);

                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;

                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }

            takmicenja.Remove(selTakmicenje);
            setTakmicenja(takmicenja);
            if (dataGridViewUserControl1.isSorted())
                dataGridViewUserControl1.refreshItems();
        }
开发者ID:stankela,项目名称:bilten,代码行数:55,代码来源:OtvoriTakmicenjeForm.cs

示例15: 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)
//.........这里部分代码省略.........
开发者ID:stankela,项目名称:bilten,代码行数:101,代码来源:OceneForm.cs


注:本文中的IDataContext.Commit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。