Пример #1
0
        protected override void checkBusinessRulesOnUpdate(DomainObject entity)
        {
            Gimnasticar    g              = (Gimnasticar)entity;
            Notification   notification   = new Notification();
            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

            if (hasImeSrednjeImePrezimeDatumRodjenjaChanged(g) &&
                gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme,
                                                                                  g.DatumRodjenja))
            {
                notification.RegisterMessage("Ime",
                                             "Gimnasticar sa datim imenom, prezimenom i datumom rodjenja vec postoji.");
                throw new BusinessException(notification);
            }

            bool regBrojChanged = (g.RegistarskiBroj != oldRegBroj) ? true : false;

            if (regBrojChanged && !String.IsNullOrEmpty(g.RegistarskiBroj) &&
                gimnasticarDAO.existsGimnasticarRegBroj(g.RegistarskiBroj))
            {
                notification.RegisterMessage("RegistarskiBroj",
                                             "Gimnasticar sa datim registarskim brojem vec postoji.");
                throw new BusinessException(notification);
            }
        }
Пример #2
0
        protected override void checkBusinessRulesOnUpdate(DomainObject entity)
        {
            GimnasticarUcesnik g = (GimnasticarUcesnik)entity;

            if (!hasImeSrednjeImePrezimeDatumRodjenjaChanged(g))
            {
                return;
            }

            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

            if (gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(oldIme, oldPrezime, oldSrednjeIme,
                                                                                  oldDatumRodjenja))
            {
                if (!gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme,
                                                                                       g.DatumRodjenja))
                {
                    // Staro ime postoji u registru, novo ime ne postoji u registru.
                    // Menjaj staro ime u registru sa novim
                    Gimnasticar gim = gimnasticarDAO.FindGimnasticar(oldIme, oldPrezime,
                                                                     oldDatumRodjenja.Dan, oldDatumRodjenja.Mesec, oldDatumRodjenja.Godina, gimnastika);
                    if (gim != null)
                    {
                        gim.Ime           = g.Ime;
                        gim.Prezime       = g.Prezime;
                        gim.SrednjeIme    = g.SrednjeIme;
                        gim.DatumRodjenja = g.DatumRodjenja;
                        gimnasticarDAO.Update(gim);
                    }
                    else
                    {
                        throw new BusinessException("Greska u programu");
                    }
                }
                else
                {
                    // Staro ime postoji u registru, novo ime postoji u registru.
                    // TODO4: Ne menjaj nista u registru; trazi potvrdu za nastavak
                    throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara2");
                }
            }
            else
            {
                if (!gimnasticarDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme,
                                                                                       g.DatumRodjenja))
                {
                    // Staro ime ne postoji u registru, novo ime ne postoji u registru.
                    // TODO4: Dodaj novog gimnasticara u registru sa novim imenom
                    throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara3");
                }
                else
                {
                    // Staro ime ne postoji u registru, novo ime postoji u registru.
                    // TODO4: Ne menjaj nista u registru; trazi potvrdu za nastavak
                    throw new BusinessException("Greska u programu - neuspesna promena imena gimnasticara4");
                }
            }
        }
Пример #3
0
        protected override List <object> loadEntities()
        {
            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

            return(new List <Gimnasticar>(gimnasticarDAO.FindAll()).ConvertAll <object>(
                       delegate(Gimnasticar g)
            {
                return g;
            }));
        }
Пример #4
0
        protected override void delete(Klub klub)
        {
            GimnasticarDAO      gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
            IList <Gimnasticar> gimnasticari   = gimnasticarDAO.FindGimnasticariByKlub(klub);

            foreach (Gimnasticar g in gimnasticari)
            {
                g.Klub = null;
                gimnasticarDAO.Update(g);
            }
            DAOFactoryFactory.DAOFactory.GetKlubDAO().Delete(klub);
        }
        protected override void delete(KategorijaGimnasticara kategorija)
        {
            GimnasticarDAO      gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
            IList <Gimnasticar> gimnasticari   = gimnasticarDAO.FindGimnasticariByKategorija(kategorija);

            foreach (Gimnasticar g in gimnasticari)
            {
                g.Kategorija = null;
                gimnasticarDAO.Update(g);
            }
            DAOFactoryFactory.DAOFactory.GetKategorijaGimnasticaraDAO().Delete(kategorija);
        }
Пример #6
0
        protected override void checkBusinessRulesOnAdd(DomainObject entity)
        {
            Gimnasticar  g            = (Gimnasticar)entity;
            Notification notification = new Notification();

            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

            if (gimnasticarDAO.postojiGimnasticar(g.Ime, g.Prezime))
            {
                notification.RegisterMessage("Ime", "Gimnasticar sa datim imenom i prezimenom vec postoji.");
                throw new BusinessException(notification);
            }
        }
Пример #7
0
        protected override void checkBusinessRulesOnUpdate(DomainObject entity)
        {
            Gimnasticar  g            = (Gimnasticar)entity;
            Notification notification = new Notification();

            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
            bool           imeChanged     = (g.Ime.ToUpper() != oldIme.ToUpper()) ? true : false;
            bool           prezimeChanged = (g.Prezime.ToUpper() != oldPrezime.ToUpper()) ? true : false;

            if ((imeChanged || prezimeChanged) && gimnasticarDAO.postojiGimnasticar(g.Ime, g.Prezime))
            {
                notification.RegisterMessage("Ime", "Gimnasticar sa datim imenom i prezimenom vec postoji.");
                throw new BusinessException(notification);
            }
        }
Пример #8
0
        protected override void delete(Drzava drzava)
        {
            GimnasticarDAO      gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
            IList <Gimnasticar> gimnasticari   = gimnasticarDAO.FindGimnasticariByDrzava(drzava);
            SudijaDAO           sudijaDAO      = DAOFactoryFactory.DAOFactory.GetSudijaDAO();
            IList <Sudija>      sudije         = sudijaDAO.FindSudijeByDrzava(drzava);

            foreach (Gimnasticar g in gimnasticari)
            {
                g.Drzava = null;
                gimnasticarDAO.Update(g);
            }
            foreach (Sudija s in sudije)
            {
                s.Drzava = null;
                sudijaDAO.Update(s);
            }
            DAOFactoryFactory.DAOFactory.GetDrzavaDAO().Delete(drzava);
        }
Пример #9
0
        void btnUveziIzBiltena_Click(object sender, EventArgs e)
        {
            if (Opcije.Instance.BiltenConnectionString == null)
            {
                MessageDialogs.showMessage("Pronadjite folder za bilten i selektujte fajl 'BiltenPodaci.sdf'.", "Registracija");
                OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                Opcije.Instance.BiltenConnectionString = String.Format(@"Data Source={0}", ofd.FileName);
            }

            SelectGimnasticarBiltenForm form = new SelectGimnasticarBiltenForm();

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            IList <Gimnasticar> noviGimnasticari = new List <Gimnasticar>();

            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            bool     ok      = false;
            ISession session = null;

            try
            {
                using (session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        GimnasticarDAO gimDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

                        KlubDAO klubDAO = DAOFactoryFactory.DAOFactory.GetKlubDAO();
                        KategorijaGimnasticaraDAO katDAO = DAOFactoryFactory.DAOFactory.GetKategorijaGimnasticaraDAO();

                        IDictionary <Klub, Klub> klubovi = new Dictionary <Klub, Klub>();
                        foreach (Klub k in klubDAO.FindAll())
                        {
                            klubovi.Add(k, k);
                        }
                        IDictionary <KategorijaGimnasticara, KategorijaGimnasticara> kategorije
                            = new Dictionary <KategorijaGimnasticara, KategorijaGimnasticara>();
                        foreach (KategorijaGimnasticara kat in katDAO.FindAll())
                        {
                            kategorije.Add(kat, kat);
                        }

                        foreach (GimnasticarBilten g in form.SelektovaniGimnasticari)
                        {
                            if (!gimDAO.existsGimnasticarImePrezimeSrednjeImeDatumRodjenja(g.Ime, g.Prezime, g.SrednjeIme,
                                                                                           g.DatumRodjenja))
                            {
                                Gimnasticar gim = createGimnasticar(g, klubDAO, katDAO, klubovi, kategorije);
                                noviGimnasticari.Add(gim);
                                gimDAO.Add(gim);
                            }
                        }

                        session.Transaction.Commit();
                        ok = true;
                    }
            }
            catch (Exception ex)
            {
                if (session != null && session.Transaction != null && session.Transaction.IsActive)
                {
                    session.Transaction.Rollback();
                }
                throw new InfrastructureException(ex.Message, ex);
            }
            finally
            {
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            if (ok)
            {
                List <Gimnasticar> items = dataGridViewUserControl1.getItems <Gimnasticar>();
                foreach (Gimnasticar g in noviGimnasticari)
                {
                    items.Add(g);
                }
                dataGridViewUserControl1.setItems <Gimnasticar>(items);
                dataGridViewUserControl1.clearSelection();
                updateEntityCount();
            }
        }
Пример #10
0
        protected override void delete(DomainObject entity)
        {
            GimnasticarDAO gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();

            gimnasticarDAO.MakeTransient((Gimnasticar)entity);
        }
Пример #11
0
        public void delete()
        {
            ISession session = null;

            try
            {
                using (session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        GimnasticarDAO      gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
                        IList <Gimnasticar> gimnasticari   = gimnasticarDAO.FindAll();
                        foreach (Gimnasticar g in gimnasticari)
                        {
                            gimnasticarDAO.Delete(g);
                        }

                        KategorijaGimnasticaraDAO      kategorijaGimnasticaraDAO = DAOFactoryFactory.DAOFactory.GetKategorijaGimnasticaraDAO();
                        IList <KategorijaGimnasticara> kategorije = kategorijaGimnasticaraDAO.FindAll();
                        foreach (KategorijaGimnasticara k in kategorije)
                        {
                            kategorijaGimnasticaraDAO.Delete(k);
                        }

                        KlubDAO      klubDAO = DAOFactoryFactory.DAOFactory.GetKlubDAO();
                        IList <Klub> klubovi = klubDAO.FindAll();
                        foreach (Klub k in klubovi)
                        {
                            klubDAO.Delete(k);
                        }

                        MestoDAO      mestoDAO = DAOFactoryFactory.DAOFactory.GetMestoDAO();
                        IList <Mesto> mesta    = mestoDAO.FindAll();
                        foreach (Mesto m in mesta)
                        {
                            mestoDAO.Delete(m);
                        }

                        SudijaDAO      sudijaDAO = DAOFactoryFactory.DAOFactory.GetSudijaDAO();
                        IList <Sudija> sudije    = sudijaDAO.FindAll();
                        foreach (Sudija s in sudije)
                        {
                            sudijaDAO.Delete(s);
                        }

                        DrzavaDAO      drzavaDAO = DAOFactoryFactory.DAOFactory.GetDrzavaDAO();
                        IList <Drzava> drzave    = drzavaDAO.FindAll();
                        foreach (Drzava d in drzave)
                        {
                            drzavaDAO.Delete(d);
                        }

                        session.Transaction.Commit();
                    }
            }
            catch (Exception ex)
            {
                if (session != null && session.Transaction != null && session.Transaction.IsActive)
                {
                    session.Transaction.Rollback();
                }
                throw new InfrastructureException(ex.Message, ex);
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
        }
Пример #12
0
        private void insertRegistrovaniGimnasticari()
        {
            RegistrovaniGimnasticariParser parser = new RegistrovaniGimnasticariParser();
            string fileName = @"..\..\test\Data\RegistracijaTakmicara2009.txt";

            parser.parse(fileName);

            GimnasticarDAO      gimnasticarDAO = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO();
            IList <Gimnasticar> gimnasticari   = gimnasticarDAO.FindAll();
            IList <Klub>        klubovi        = DAOFactoryFactory.DAOFactory.GetKlubDAO().FindAll();
            Drzava srbija = DAOFactoryFactory.DAOFactory.GetDrzavaDAO().FindByKod("SRB");

            foreach (object[] o in parser.Gimnasticari)
            {
                char   pol       = (char)o[0];
                string ime       = (string)o[1];
                string prezime   = (string)o[2];
                string datumRodj = (string)o[3];
                string klubMesto = (string)o[4];
                string regBroj   = (string)o[5];
                string datumReg  = (string)o[6];

                Gimnasticar gimnasticar = findGimnasticar(ime, prezime, gimnasticari);
                if (gimnasticar != null)
                {
                    if (datumRodj.Trim() == "NULL")
                    {
                        gimnasticar.DatumRodjenja = null;
                    }
                    else
                    {
                        gimnasticar.DatumRodjenja = Datum.Parse(datumRodj);
                    }
                    gimnasticar.RegistarskiBroj = regBroj;
                    if (datumReg.Trim() == String.Empty)
                    {
                        gimnasticar.DatumPoslednjeRegistracije = null;
                    }
                    else
                    {
                        gimnasticar.DatumPoslednjeRegistracije = Datum.Parse(datumReg);
                    }
                    gimnasticar.Klub = findKlub(klubMesto, klubovi);

                    gimnasticarDAO.Update(gimnasticar);
                }
                else
                {
                    gimnasticar = new Gimnasticar();
                    if (pol == 'M')
                    {
                        gimnasticar.Gimnastika = Gimnastika.MSG;
                    }
                    else if (pol == 'Z')
                    {
                        gimnasticar.Gimnastika = Gimnastika.ZSG;
                    }
                    else if (pol == ' ')
                    {
                        gimnasticar.Gimnastika = Gimnastika.Undefined;
                    }
                    else
                    {
                        throw new FormatException("Invalid format in file " + fileName);
                    }

                    gimnasticar.Ime     = ime.Trim();
                    gimnasticar.Prezime = prezime.Trim();
                    if (datumRodj.Trim() == "NULL")
                    {
                        gimnasticar.DatumRodjenja = null;
                    }
                    else
                    {
                        gimnasticar.DatumRodjenja = Datum.Parse(datumRodj);
                    }
                    gimnasticar.RegistarskiBroj = regBroj;
                    if (datumReg.Trim() == String.Empty)
                    {
                        gimnasticar.DatumPoslednjeRegistracije = null;
                    }
                    else
                    {
                        gimnasticar.DatumPoslednjeRegistracije = Datum.Parse(datumReg);
                    }

                    gimnasticar.Klub   = findKlub(klubMesto, klubovi);
                    gimnasticar.Drzava = srbija;

                    gimnasticarDAO.Add(gimnasticar);
                }
            }
        }