Beispiel #1
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     try
     {
         using (ISession session = NHibernateHelper.OpenSession())
             using (session.BeginTransaction())
             {
                 CurrentSessionContext.Bind(session);
                 if (!validateDialog())
                 {
                     DialogResult = DialogResult.None;
                     return;
                 }
                 if (cmbGimnasticar.SelectedIndex != -1)
                 {
                     gimnasticar = DAOFactoryFactory.DAOFactory.GetGimnasticarDAO()
                                   .FindById(((Gimnasticar)cmbGimnasticar.SelectedItem).Id);
                 }
                 else
                 {
                     gimnasticar = null;
                 }
                 sprava  = (Sprava)cmbSprava.SelectedValue;
                 pravilo = cmbPravila.SelectedItem as PraviloOceneVezbe;
                 naziv   = txtNaziv.Text.Trim();
             }
     }
     finally
     {
         CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
     }
 }
Beispiel #2
0
        protected override void updateEntityFromUI(DomainObject entity)
        {
            PraviloOceneVezbe pravilo = (PraviloOceneVezbe)entity;

            pravilo.Naziv = txtNazivPravila.Text.Trim();
            pravilo.BrojBodovanihElemenata = int.Parse(txtBrojBodovanih.Text);
            pravilo.MaxIstaGrupa           = int.Parse(txtMaxIstaGrupa.Text);
        }
Beispiel #3
0
        protected override void updateUIFromEntity(DomainObject entity)
        {
            PraviloOceneVezbe pravilo = (PraviloOceneVezbe)entity;

            txtNazivPravila.Text  = pravilo.Naziv;
            txtBrojBodovanih.Text = pravilo.BrojBodovanihElemenata.ToString();
            txtMaxIstaGrupa.Text  = pravilo.MaxIstaGrupa.ToString();
            updateGridIzvedba();
        }
Beispiel #4
0
 private void btnIzbrisiOcenu_Click(object sender, EventArgs e)
 {
     if (gridIzvedba.Rows.Count > 0)
     {
         PraviloOceneVezbe   pravilo = (PraviloOceneVezbe)entity;
         PocetnaOcenaIzvedbe ocena   = pravilo.PocetneOceneIzvedbe[gridIzvedba.CurrentRow.Index];
         pravilo.ukloniPocetnuOcenuIzvedbe(ocena);
         updateGridIzvedba();
     }
 }
Beispiel #5
0
 private void updatePravilaDetails()
 {
     if (cmbPravila.SelectedIndex != -1)
     {
         PraviloOceneVezbe pravilo = (PraviloOceneVezbe)cmbPravila.SelectedItem;
         txtBrojBodovanih.Text = pravilo.BrojBodovanihElemenata.ToString();
         txtMaxIstaGrupa.Text  = pravilo.MaxIstaGrupa.ToString();
         updateGridIzvedba();
     }
 }
Beispiel #6
0
        private void updateGridIzvedba()
        {
            gridIzvedba.Rows.Clear();
            PraviloOceneVezbe pravilo = (PraviloOceneVezbe)entity;

            foreach (PocetnaOcenaIzvedbe ocena in pravilo.PocetneOceneIzvedbe)
            {
                // ovo ne generise CellValueChanged event
                gridIzvedba.Rows.Add(getRowValues(ocena));
            }
        }
Beispiel #7
0
        protected override void checkBusinessRulesOnAdd(DomainObject entity)
        {
            PraviloOceneVezbe pravilo      = (PraviloOceneVezbe)entity;
            Notification      notification = new Notification();

            PraviloOceneVezbeDAO praviloOceneVezbeDAO = DAOFactoryFactory.DAOFactory.GetPraviloOceneVezbeDAO();

            if (praviloOceneVezbeDAO.postojiPravilo(pravilo.Naziv))
            {
                notification.RegisterMessage("Naziv", "Pravilo sa datim nazivom vec postoji.");
                throw new BusinessException(notification);
            }
        }
Beispiel #8
0
        protected override void checkBusinessRulesOnUpdate(DomainObject entity)
        {
            PraviloOceneVezbe pravilo      = (PraviloOceneVezbe)entity;
            Notification      notification = new Notification();

            PraviloOceneVezbeDAO praviloOceneVezbeDAO = DAOFactoryFactory.DAOFactory.GetPraviloOceneVezbeDAO();
            bool nazivChanged = (pravilo.Naziv.ToUpper() != oldNaziv.ToUpper()) ? true : false;

            if (nazivChanged && praviloOceneVezbeDAO.postojiPravilo(pravilo.Naziv))
            {
                notification.RegisterMessage("Naziv", "Pravilo sa datim nazivom vec postoji.");
                throw new BusinessException(notification);
            }
        }
Beispiel #9
0
 private void btnPromeni_Click(object sender, EventArgs e)
 {
     if (cmbPravila.SelectedIndex != -1)
     {
         PraviloOceneVezbe pravilo = (PraviloOceneVezbe)cmbPravila.SelectedItem;
         PraviloForm       f       = new PraviloForm(pravilo.Id);
         if (f.ShowDialog() == DialogResult.OK)
         {
             pravila[pravila.IndexOf(pravilo)] = (PraviloOceneVezbe)f.Entity;
             refreshCombo();
             updatePravilaDetails();
         }
     }
 }
Beispiel #10
0
 private void updateGridIzvedba()
 {
     if (cmbPravila.SelectedIndex != -1)
     {
         PraviloOceneVezbe pravilo = (PraviloOceneVezbe)cmbPravila.SelectedItem;
         gridIzvedba.Rows.Clear();
         pravilo.sortirajPocetneOceneIzvedbe();
         foreach (PocetnaOcenaIzvedbe ocena in pravilo.PocetneOceneIzvedbe)
         {
             // ovo ne generise CellValueChanged event
             gridIzvedba.Rows.Add(getRowValues(ocena));
         }
     }
 }
Beispiel #11
0
        public static void drawIzvedbaCaptionCellContent(Graphics g, Font fontIzvedba,
                                                         Font fontOpseg, PraviloOceneVezbe pravilo, RectangleF rect, Brush brush)
        {
            string        izvedba     = "IZVEDBA";
            SizeF         izvedbaSize = g.MeasureString(izvedba, fontIzvedba);
            List <string> opsezi      = new List <string>();
            List <SizeF>  sizes       = new List <SizeF>();

            pravilo.sortirajPocetneOceneIzvedbe();
            float opseziWidth = 0;

            foreach (PocetnaOcenaIzvedbe po in pravilo.PocetneOceneIzvedbe)
            {
                if (po.MinBrojElemenata > 0)
                {
                    string opsegString = po.OpsegOcenaString;
                    opsezi.Add(opsegString);
                    SizeF size = g.MeasureString(opsegString, fontOpseg);
                    sizes.Add(size);
                    opseziWidth += size.Width;
                }
            }
            float         opseziMaxWidth = rect.Width - izvedbaSize.Width;
            float         opseziMargin   = (opseziMaxWidth - opseziWidth) / (opsezi.Count + 1);
            SizeF         marginSize     = new SizeF(opseziMargin, 0);
            PointF        topLeft        = rect.Location + new SizeF(izvedbaSize.Width, 0) + marginSize;
            List <PointF> opseziTopLeft  = new List <PointF>();

            for (int i = 0; i < sizes.Count; i++)
            {
                opseziTopLeft.Add(topLeft);
                topLeft += new SizeF(sizes[i].Width, 0) + marginSize;
            }

            StringFormat sf = new StringFormat();

            sf.Alignment     = StringAlignment.Near;
            sf.LineAlignment = StringAlignment.Center;
            g.DrawString(izvedba, fontIzvedba, brush, rect, sf);

            for (int i = 0; i < opsezi.Count; i++)
            {
                string     opseg = opsezi[i];
                RectangleF r     = new RectangleF(opseziTopLeft[i], new SizeF(sizes[i].Width, rect.Height));
                g.DrawString(opseg, fontOpseg, brush, r, sf);
            }
        }
Beispiel #12
0
        private void btnDodajOcenu_Click(object sender, EventArgs e)
        {
            PocetnaOcenaForm f = new PocetnaOcenaForm();

            if (f.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    PraviloOceneVezbe pravilo = (PraviloOceneVezbe)entity;
                    pravilo.dodajPocetnuOcenuIzvedbe((PocetnaOcenaIzvedbe)f.Entity);
                    updateGridIzvedba();
                }
                catch (InvalidPropertyException ex)
                {
                    MessageBox.Show(ex.Message, "Greska");
                }
            }
        }
Beispiel #13
0
        protected override void saveOriginalData(DomainObject entity)
        {
            PraviloOceneVezbe p = (PraviloOceneVezbe)entity;

            oldNaziv = p.Naziv;
        }
Beispiel #14
0
        private void btnBrisi_Click(object sender, EventArgs e)
        {
            if (cmbPravila.SelectedIndex == -1)
            {
                return;
            }

            if (cmbPravila.Items.Count == 1)
            {
                MessageBox.Show("Selektovana pravila su jedina postojeca pravila i nije ih moguce izbrisati. " +
                                "Ukoliko zelite da izbrisete data pravila, najpre dodajte nova pravila.", "Poruka", MessageBoxButtons.OK,
                                MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
                return;
            }

            PraviloOceneVezbe pravilo = (PraviloOceneVezbe)cmbPravila.SelectedItem;

            if (MessageBox.Show("Da li zelite da izbrisete pravila '" +
                                pravilo.Naziv + "' ?", "Potvrda", MessageBoxButtons.OKCancel,
                                MessageBoxIcon.None, MessageBoxDefaultButton.Button2) != DialogResult.OK)
            {
                return;
            }

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);

                        // TODO: Ovde prvo treba pitati sta treba raditi sa vezbama
                        // za dato pravilo (da li ih brisati ili ne). Ako je odgovor
                        // ne, ne treba brisati ni pravilo)

                        bool          delete = true;
                        IList <Vezba> vezbe  = DAOFactoryFactory.DAOFactory.GetVezbaDAO().FindAll();
                        foreach (Vezba v in vezbe)
                        {
                            if (v.Pravilo != null && v.Pravilo.Id == pravilo.Id)
                            {
                                delete = false;
                                break;
                            }
                        }

                        if (delete)
                        {
                            foreach (Vezba v in vezbe)
                            {
                                DAOFactoryFactory.DAOFactory.GetVezbaDAO().Evict(v);
                            }
                            DAOFactoryFactory.DAOFactory.GetPraviloOceneVezbeDAO().MakeTransient(pravilo);
                            session.Transaction.Commit();

                            pravila.Remove(pravilo);
                            refreshCombo();
                            updatePravilaDetails();
                        }
                        else
                        {
                            MessageBox.Show("Nije dozvoljeno brisanje pravila za koja postoje vezbe. Da biste izbrisali pravila, prvo morate da izbrisete sve vezbe za data pravila.", "Poruka");
                        }
                    }
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }