예제 #1
0
        private IList <DolazakNaTreningMesecni> getDolasciMesecni(Clan c, DateTime from, DateTime to)
        {
            if (c == null || c.Broj == CitacKartica.TEST_KARTICA_BROJ)
            {
                return(new List <DolazakNaTreningMesecni>());
            }

            IList <DolazakNaTreningMesecni> result = null;

            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        DolazakNaTreningMesecniDAO dolazakNaTreningMesecniDAO
                               = DAOFactoryFactory.DAOFactory.GetDolazakNaTreningMesecniDAO();
                        result = dolazakNaTreningMesecniDAO.getDolazakNaTrening(c, from.Year, from.Month, to.Year, to.Month);
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Uplata clanarine");
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
            if (result == null)
            {
                result = new List <DolazakNaTreningMesecni>();
            }
            return(result);
        }
예제 #2
0
        private void btnPageSetup_Click(object sender, System.EventArgs e)
        {
            if (rezimRada == RezimRada.MyPreviewDraw)
            {
                MessageDialogs.showMessage(NO_PRINTERS_MSG, this.Text);
                return;
            }

            pageSetupDialog1.Document = printDocument1;
            if (pageSetupDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    setupContent();
                }
                catch (SmallPageSizeException)
                {
                    rezimRada = RezimRada.PageSizeTooSmall;
                    drawPreviewPage();
                    return;
                }

                if (previewPage > izvestaj.LastPageNum)
                {
                    previewPage = izvestaj.LastPageNum;
                    setPageTextBox(previewPage);
                }
                drawPreviewPage();
            }
        }
예제 #3
0
        public void printWithoutPreview(Izvestaj izvestaj)
        {
            if (rezimRada == RezimRada.MyPreviewDraw)
            {
                MessageDialogs.showMessage(NO_PRINTERS_MSG, this.Text);
                return;
            }

            setIzvestaj(izvestaj);
            if (rezimRada == RezimRada.PageSizeTooSmall)
            {
                MessageDialogs.showMessage(SMALL_PAPER_SIZE_MSG, this.Text);
                return;
            }

            printDocument1.DocumentName = izvestaj.DocumentName;
            page            = 1;
            lastPageToPrint = izvestaj.LastPageNum;
            try
            {
                printDocument1.Print();
            }
            catch (InvalidPrinterException)
            {
                MessageBox.Show(PRINTING_FAILURE_MSG, this.Text);
            }
            catch (Exception)
            {
                MessageBox.Show(PRINTING_FAILURE_MSG, this.Text);
            }
        }
예제 #4
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            Mesto          m       = (Mesto)entity;
            ClanDAO        clanDao = DAOFactoryFactory.DAOFactory.GetClanDAO();
            InstitucijaDAO instDao = DAOFactoryFactory.DAOFactory.GetInstitucijaDAO();

            if (clanDao.existsClanMesto(m))
            {
                string msg = "Mesto '{0}' nije moguce izbrisati zato sto postoje " +
                             "clanovi iz datog mesta. \n\nDa bi neko mesto moglo da se izbrise, " +
                             "uslov je da ne postoje clanovi iz datog mesta. To znaci da morate " +
                             "najpre da pronadjete sve clanove iz datog mesta, i da zatim, u " +
                             "prozoru u kome " +
                             "se menjaju podaci o clanu, polje za mesto ostavite prazno. " +
                             "Nakon sto ste ovo uradili za sve " +
                             "clanove iz datog mesta, moci cete da izbrisete mesto. ";
                MessageDialogs.showMessage(String.Format(msg, m), this.Text);
                return(false);
            }
            else if (instDao.existsInstitucijaMesto(m))
            {
                string msg = "Mesto '{0}' nije moguce izbrisati zato sto postoje " +
                             "institucije iz datog mesta. \n\nDa bi neko mesto moglo da se izbrise, " +
                             "uslov je da ne postoje institucije iz datog mesta. To znaci da morate " +
                             "najpre da pronadjete sve institucije iz datog mesta, i da zatim, u " +
                             "prozoru u kome " +
                             "se menjaju podaci o instituciji, polje za mesto ostavite prazno. " +
                             "Nakon sto ste ovo uradili za sve " +
                             "institucije iz datog mesta, moci cete da izbrisete mesto. ";
                MessageDialogs.showMessage(String.Format(msg, m), this.Text);
                return(false);
            }
            return(true);
        }
예제 #5
0
        private void btnNapraviKarticu_Click(object sender, EventArgs e)
        {
            bool testKartica = ckbTestKartica.Checked;

            if (!testKartica && SelectedClan == null)
            {
                MessageDialogs.showMessage("Izaberite clana.", "Pravljenje kartice");
                return;
            }

            if (napraviKarticuDlg(SelectedClan, testKartica))
            {
                MessageDialogs.showMessage("Prislonite karticu na citac i kliknite OK.", "Pravljenje kartice");
                string msg;
                if (!testKartica)
                {
                    handlePisacKarticaWrite(SelectedClan.Id, SelectedClan.Broj.Value, testKartica, out msg);
                }
                else
                {
                    handlePisacKarticaWrite(-1, -1, testKartica, out msg);
                }
                MessageDialogs.showMessage(msg, "Pravljenje kartice");
            }
        }
예제 #6
0
        private List <UplataClanarine> getUplate(Clan c)
        {
            if (c == null || c.Broj == CitacKartica.TEST_KARTICA_BROJ)
            {
                return(new List <UplataClanarine>());
            }

            List <UplataClanarine> uplate = null;

            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        UplataClanarineDAO uplataClanarineDAO = DAOFactoryFactory.DAOFactory.GetUplataClanarineDAO();
                        uplate = new List <UplataClanarine>(uplataClanarineDAO.findUplate(c));
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Uplata clanarine");
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            if (uplate == null)
            {
                uplate = new List <UplataClanarine>();
            }
            Util.sortByVaziOdDesc(uplate);
            return(uplate);
        }
예제 #7
0
 private void btnOk_Click(object sender, System.EventArgs e)
 {
     if (rbtGrupe.Checked && checkedListBoxGrupe.CheckedItems.Count == 0)
     {
         MessageDialogs.showMessage("Izaberite grupe.", this.Text);
         this.DialogResult = DialogResult.None;
     }
 }
예제 #8
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            // TODO3: Ponudi samo godinu za biranje, i onda ukloni ovaj workaround.
            if (dateTimePicker1.Value.Month != 1)
            {
                MessageDialogs.showMessage("Izaberite januar mesec. Jedino to je trenutno podrzano.", this.Text);
                this.DialogResult = DialogResult.None;
            }

            datum = dateTimePicker1.Value;
        }
예제 #9
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (txtLozinka.Text != lozinka)
     {
         MessageDialogs.showMessage("Neispravna lozinka", this.Text);
         txtLozinka.Clear();
         this.DialogResult = DialogResult.None;
         return;
     }
     adminMode = !ckbIskljuciAdminMode.Checked;
 }
예제 #10
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (SelectedClan == null)
            {
                MessageDialogs.showMessage("Izaberite clana", this.Text);
                DialogResult = DialogResult.None;
                return;
            }

            this.clan = SelectedClan;
        }
예제 #11
0
        private void btnOcitajKarticu_Click(object sender, EventArgs e)
        {
            string msg;

            handlePisacKarticaRead(out msg);
            if (msg != String.Empty)
            {
                MessageDialogs.showMessage(msg, "Ocitavanje kartice");
            }

            txtIznos.Focus();
        }
예제 #12
0
        private void btnOk_Click(object sender, System.EventArgs e)
        {
            handleOkClick();
            Grupa g = (Grupa)entity;
            bool  ImaGodisnjuClanarinuChanged = (editMode && g.ImaGodisnjuClanarinu != oldImaGodisnjuClanarinu) ||
                                                !editMode && g.ImaGodisnjuClanarinu;

            if (ImaGodisnjuClanarinuChanged)
            {
                MessageDialogs.showMessage("Promenili ste godisnju clanarinu za grupu. Morate da restartujete "
                                           + "program da bi izmene bile vidljive prilikom ocitavanja kartica.", "");
            }
        }
예제 #13
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            Clan c = (Clan)entity;
            UplataClanarineDAO uplataDao = DAOFactoryFactory.DAOFactory.GetUplataClanarineDAO();

            if (uplataDao.existsUplataClan(c))
            {
                string msg = "Clana '{0}' nije moguce izbrisati zato sto postoje " +
                             "podaci o uplatama za datog clana.";
                MessageDialogs.showMessage(String.Format(msg, c), this.Text);
                return(false);
            }
            return(true);
        }
예제 #14
0
        private void merge(int clanId1, int zaBrisanje, int number)
        {
            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);

                        ClanDAO clanDAO = DAOFactoryFactory.DAOFactory.GetClanDAO();
                        Clan    clan1   = clanDAO.FindById(clanId1);
                        Clan    clan2   = clanDAO.FindById(zaBrisanje);

                        List <UplataClanarine> uplate2 = loadUplate(clan2);
                        for (int i = 0; i < uplate2.Count; ++i)
                        {
                            uplate2[i].Clan = clan1;
                        }

                        clanDAO.MakeTransient(clan2);

                        if (number == 1)
                        {
                            clan1.Adresa   = txtAdresa1.Text;
                            clan1.Telefon1 = txtTelefon1_1.Text;
                            clan1.Telefon2 = txtTelefon2_1.Text;
                        }
                        else if (number == 2)
                        {
                            clan1.Adresa   = txtAdresa2.Text;
                            clan1.Telefon1 = txtTelefon1_2.Text;
                            clan1.Telefon2 = txtTelefon2_2.Text;
                        }

                        session.Transaction.Commit();
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Citac kartica");
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #15
0
 private void PreviewDialog_Load(object sender, System.EventArgs e)
 {
     if (rezimRada == RezimRada.PageSizeTooSmall)
     {
         MessageDialogs.showMessage(SMALL_PAPER_SIZE_MSG, this.Text);
         float pageWidth  = 210 / 25.4f;
         float pageHeight = 297 / 25.4f;
         pictureBox1.ClientSize = pageToScreen(new SizeF(pageWidth, pageHeight));
     }
     else
     {
         drawPreviewPage();
     }
     this.WindowState = FormWindowState.Maximized;
     btnZatvori.Focus();
 }
예제 #16
0
 private void btnMerge_Click(object sender, EventArgs e)
 {
     if (!radioButton1.Checked && !radioButton2.Checked)
     {
         MessageDialogs.showMessage("Izaberite koji clan ostaje nakon merdzovanja", this.Text);
         return;
     }
     if (radioButton1.Checked)
     {
         merge(id1, id2, 1);
     }
     else
     {
         merge(id2, id1, 2);
     }
     updateUI(true);
 }
예제 #17
0
        private void updateUI(bool afterMerge)
        {
            Cursor.Current = Cursors.WaitCursor;
            Cursor.Show();
            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);

                        ClanDAO clanDAO = DAOFactoryFactory.DAOFactory.GetClanDAO();
                        Clan    clan1   = clanDAO.GetById(id1);
                        Clan    clan2   = clanDAO.GetById(id2);

                        List <UplataClanarine> uplate1 = loadUplate(clan1);
                        List <UplataClanarine> uplate2 = loadUplate(clan2);

                        updateClanUI(clan1, txtId1, txtBroj1, txtIme1, txtPrezime1, txtDatumRodjenja1, txtAdresa1, txtMesto1,
                                     txtTelefon1_1, txtTelefon2_1, ckbPristupnica1, ckbKartica1, uplate1);
                        updateClanUI(clan2, txtId2, txtBroj2, txtIme2, txtPrezime2, txtDatumRodjenja2, txtAdresa2, txtMesto2,
                                     txtTelefon1_2, txtTelefon2_2, ckbPristupnica2, ckbKartica2, uplate2);

                        updateUplateListView(listView1, uplate1);
                        updateUplateListView(listView2, uplate2);

                        lblBrojUplata1.Text = uplate1.Count.ToString() + " uplata";
                        lblBrojUplata2.Text = uplate2.Count.ToString() + " uplata";

                        updateStatistics(afterMerge);
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Citac kartica");
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
                Cursor.Hide();
                Cursor.Current = Cursors.Arrow;
            }
        }
예제 #18
0
        private void OptionsForm_Load(object sender, EventArgs e)
        {
            if (PrinterSettings.InstalledPrinters.Count == 0)
            {
                MessageDialogs.showMessage("Ne postoje instalirani stampaci.", this.Text);
            }
            else
            {
                foreach (string s in PrinterSettings.InstalledPrinters)
                {
                    cmbStampacPotvrda.Items.Add(s);
                    cmbStampacIzvestaj.Items.Add(s);
                }
                cmbStampacPotvrda.SelectedItem  = Options.Instance.PrinterNamePotvrda;
                cmbStampacIzvestaj.SelectedItem = Options.Instance.PrinterNameIzvestaj;
            }

            rbtUvekTraziLozinku.Checked  = Options.Instance.UvekPitajZaLozinku;
            rbtTraziLozinkuNakon.Checked = !Options.Instance.UvekPitajZaLozinku;
        }
예제 #19
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            Institucija inst    = (Institucija)entity;
            ClanDAO     clanDao = DAOFactoryFactory.DAOFactory.GetClanDAO();

            if (clanDao.existsClanInstitucija(inst))
            {
                string msg = "Instituciju '{0}' nije moguce izbrisati zato sto postoje " +
                             "clanovi iz date institucije. \n\nDa bi neka institucija mogla da se izbrise, " +
                             "uslov je da ne postoje clanovi iz date institucije. To znaci da morate " +
                             "najpre da pronadjete sve clanove iz date institucije, i da zatim, u " +
                             "prozoru u kome " +
                             "se menjaju podaci o clanu, polje za instituciju ostavite prazno. " +
                             "Nakon sto ste ovo uradili za sve " +
                             "clanove iz date institucije, moci cete da izbrisete instituciju. ";
                MessageDialogs.showMessage(String.Format(msg, inst), this.Text);
                return(false);
            }
            return(true);
        }
예제 #20
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            Kategorija k        = (Kategorija)entity;
            GrupaDAO   grupaDao = DAOFactoryFactory.DAOFactory.GetGrupaDAO();

            if (grupaDao.existsGrupa(k))
            {
                string msg = "Kategoriju '{0}' nije moguce izbrisati zato sto postoje " +
                             "grupe za datu kategoriju. \n\nDa bi neka kategorija mogla da se " +
                             "izbrise, uslov je da ne postoje grupe za tu kategoriju. To " +
                             "znaci da morate najpre da pronadjete sve grupe za datu " +
                             "kategoriju, i da zatim, u prozoru u kome " +
                             "se menjaju podaci o grupi, polje za kategoriju promenite ili ga ostavite prazno. " +
                             "Nakon sto ste ovo uradili za sve " +
                             "grupe za datu kategoriju, moci cete da izbrisete kategoriju. ";
                MessageDialogs.showMessage(String.Format(msg, k), this.Text);
                return(false);
            }
            return(true);
        }
예제 #21
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            FinansijskaCelina f        = (FinansijskaCelina)entity;
            GrupaDAO          grupaDao = DAOFactoryFactory.DAOFactory.GetGrupaDAO();

            if (grupaDao.existsGrupa(f))
            {
                string msg = "Finansijsku celinu '{0}' nije moguce izbrisati zato sto postoje " +
                             "grupe za datu finansijsku celinu. \n\nDa bi neka finansijska celina mogla da se " +
                             "izbrise, uslov je da ne postoje grupe za tu finansijsku celinu. To " +
                             "znaci da morate najpre da pronadjete sve grupe za datu " +
                             "finansijsku celinu, i da zatim, u prozoru u kome " +
                             "se menjaju podaci o grupi, promenite finansijsku celinu za datu grupu. " +
                             "Nakon sto ste ovo uradili za sve " +
                             "grupe za datu finansijsku celinu, moci cete da izbrisete finansijsku celinu. ";
                MessageDialogs.showMessage(String.Format(msg, f), this.Text);
                return(false);
            }
            return(true);
        }
예제 #22
0
        private void btnBrisiUplatu_Click(object sender, EventArgs e)
        {
            if (listViewNoveUplate.SelectedItems.Count == 0)
            {
                MessageDialogs.showMessage("Izaberite uplatu koju zelite da izbrisete.", "Uplata clanarine");
                return;
            }

            for (int i = listViewNoveUplate.Items.Count - 1; i >= 0; --i)
            {
                ListViewItem item = listViewNoveUplate.Items[i];
                if (item.Selected)
                {
                    listViewNoveUplate.Items.Remove(item);
                }
            }
            listViewNoveUplate.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

            updateUkupnoIznos();
            txtIznos.Focus();
        }
예제 #23
0
        protected override bool refIntegrityDeleteDlg(DomainObject entity)
        {
            Grupa g = (Grupa)entity;
            UplataClanarineDAO  uplataDao           = DAOFactoryFactory.DAOFactory.GetUplataClanarineDAO();
            MesecnaClanarinaDAO mesecnaClanarinaDao = DAOFactoryFactory.DAOFactory.GetMesecnaClanarinaDAO();

            if (uplataDao.existsUplataGrupa(g))
            {
                string msg = "Grupu '{0}' nije moguce izbrisati zato sto postoje " +
                             "podaci o uplatama za datu grupu.";
                MessageDialogs.showMessage(String.Format(msg, g), this.Text);
                return(false);
            }
            else if (mesecnaClanarinaDao.existsClanarinaGrupa(g))
            {
                string msg = "Grupu '{0}' nije moguce izbrisati zato sto postoji " +
                             "cenovnik za datu grupu. \n\nDa bi mogli da izbrisete neku grupu, " +
                             "morate najpre da izbrisete cenovnik za tu grupu. ";
                MessageDialogs.showMessage(String.Format(msg, g), this.Text);
                return(false);
            }
            return(true);
        }
예제 #24
0
        private bool unesiUplatu()
        {
            Notification notification = new Notification();

            validateUplata(notification);
            if (!notification.IsValid())
            {
                NotificationMessage msg = notification.FirstMessage;
                MessageDialogs.showMessage(msg.Message, this.Text);
                setFocus(msg.FieldName);
                return(false);
            }

            DateTime vaziOd = dateTimePickerDatumClanarine.Value.Date;
            string   iznos  = decimal.Parse(txtIznos.Text).ToString("F2");

            listViewNoveUplate.Items.Add(new ListViewItem(new string[] {
                iznos, vaziOd.ToString("MMM"), vaziOd.ToString("yyyy")
            }));
            listViewNoveUplate.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

            updateUkupnoIznos();
            return(true);
        }
예제 #25
0
        private void btnPrint_Click(object sender, System.EventArgs e)
        {
            if (rezimRada == RezimRada.MyPreviewDraw)
            {
                MessageDialogs.showMessage(NO_PRINTERS_MSG, this.Text);
                return;
            }
            else if (rezimRada == RezimRada.PageSizeTooSmall)
            {
                MessageDialogs.showMessage(SMALL_PAPER_SIZE_MSG, this.Text);
                return;
            }

            printDocument1.DocumentName                = izvestaj.DocumentName;
            printDocument1.PrinterSettings.FromPage    = 1;
            printDocument1.PrinterSettings.ToPage      = izvestaj.LastPageNum;
            printDocument1.PrinterSettings.MinimumPage = 1;
            printDocument1.PrinterSettings.MaximumPage = izvestaj.LastPageNum;
            printDialog1.AllowSomePages                = true;
            if (printDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    setupContent();
                }
                catch (SmallPageSizeException)
                {
                    rezimRada = RezimRada.PageSizeTooSmall;
                    drawPreviewPage();
                    return;
                }


                if (printDialog1.PrinterSettings.PrintRange == PrintRange.SomePages)
                {
                    page            = printDocument1.PrinterSettings.FromPage;
                    lastPageToPrint = printDocument1.PrinterSettings.ToPage;
                }
                else
                {
                    page            = 1;
                    lastPageToPrint = izvestaj.LastPageNum;
                }
                try
                {
                    printDocument1.Print();
                }
                catch (InvalidPrinterException)
                {
                    MessageBox.Show(PRINTING_FAILURE_MSG, this.Text);
                }
                catch (Exception)
                {
                    MessageBox.Show(PRINTING_FAILURE_MSG, this.Text);
                }

                // za slucaj da je u PrintDialogu promenjenja velicina strane

                if (previewPage > izvestaj.LastPageNum)
                {
                    previewPage = izvestaj.LastPageNum;
                    setPageTextBox(previewPage);
                }
                drawPreviewPage();
            }
        }
예제 #26
0
        private void btnDodaj_Click(object sender, System.EventArgs e)
        {
            BiracClanaDialog form;

            try
            {
                form = new BiracClanaDialog();
            }
            catch (InfrastructureException ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
                return;
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
                return;
            }

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

            Clan clan = form.Clan;

            for (int i = 0; i < entities.Count; ++i)
            {
                Clan c = (Clan)entities[i];
                if (c.Broj == clan.Broj)
                {
                    string msg = String.Format("Clan \"{0}\" vec postoji na listi.", clan.BrojPrezimeImeDatumRodjenja);
                    MessageDialogs.showMessage(msg, this.Text);
                    return;
                }
            }

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

                        clan.NeplacaClanarinu = true;
                        DAOFactoryFactory.DAOFactory.GetClanDAO().MakePersistent(clan);
                        session.Transaction.Commit();
                        onEntityAdded(clan);
                        updateBrojClanovaLabel();
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
                return;
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }

            CitacKarticaDictionary.Instance.UpdateNeplacaClanarinu(clan.BrojKartice.Value, true);
        }
예제 #27
0
        private void loadDuplikati()
        {
            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);

                        clanovi   = loadClanovi();
                        duplikati = findDuplikati(clanovi);
                        loadUplate(duplikati);


                        int            broj  = 1;
                        ListViewItem[] items = new ListViewItem[duplikati.Count];
                        for (int i = 0; i < duplikati.Count; ++i)
                        {
                            Clan c = duplikati[i];
                            if (c != null)
                            {
                                string datumRodjenja = String.Empty;
                                string imaKarticu    = "NE";
                                if (c.ImaKarticu)
                                {
                                    imaKarticu = "DA";
                                }
                                string imaPristupnicu = "NE";
                                if (c.ImaPristupnicu)
                                {
                                    imaPristupnicu = "DA";
                                }

                                string mesto = String.Empty;
                                if (c.Mesto != null)
                                {
                                    mesto = c.Mesto.Naziv;
                                }

                                string imaUplate       = "NE";
                                string poslednjaUplata = String.Empty;
                                if (dictUplate.ContainsKey(c.Id))
                                {
                                    List <UplataClanarine> uplate = dictUplate[c.Id];
                                    if (uplate.Count > 0)
                                    {
                                        imaUplate       = "DA";
                                        poslednjaUplata = uplate[0].VaziOd.Value.ToString("dd.MM.yyyy");
                                    }
                                }

                                if (c.DatumRodjenja != null)
                                {
                                    datumRodjenja = c.DatumRodjenja.Value.ToString("dd.MM.yyyy");
                                }
                                items[i] = new ListViewItem(new string[] { broj.ToString(), c.Id.ToString(), c.Broj.ToString(),
                                                                           c.Prezime, c.Ime,
                                                                           datumRodjenja, imaPristupnicu, imaKarticu, c.Adresa, mesto, c.Telefon1, c.Telefon2,
                                                                           imaUplate, poslednjaUplata });
                            }
                            else
                            {
                                ++broj;
                                items[i] = new ListViewItem(new string[] { "", "", "" });
                            }
                        }
                        listView1.Items.Clear();
                        listView1.Items.AddRange(items);
                        listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Citac kartica");
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
        }
예제 #28
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            // Validate

            DateTime dummy;
            string   msg = String.Empty;

            if (txtNedostajuceUplate.Text.Trim() == String.Empty)
            {
                msg = "Unesite datum za nedostajuce uplate.";
            }
            else if (!DateTime.TryParse(txtNedostajuceUplate.Text, out dummy))
            {
                msg = "Nepravilan datum za nedostajuce uplate. Datum se unosi u formatu dd-mm-gggg ili dd.mm.gggg.";
            }
            if (msg != String.Empty)
            {
                MessageDialogs.showMessage(msg, this.Text);
                txtNedostajuceUplate.Focus();
                this.DialogResult = DialogResult.None;
                return;
            }

            if (rbtTraziLozinkuNakon.Checked)
            {
                int i;
                if (!Int32.TryParse(txtBrojMinuta.Text, out i) || i < 1)
                {
                    MessageDialogs.showMessage("Neispravna vrednost za broj minuta.", this.Text);
                    txtBrojMinuta.Focus();
                    this.DialogResult = DialogResult.None;
                    return;
                }
            }

            // Update options

            int size;

            if (cmbVelicina.SelectedIndex != -1)
            {
                size = (int)cmbVelicina.SelectedItem;
            }
            else
            {
                size = (int)Math.Round(Font.SizeInPoints);
            }
            Options.Instance.Font = new Font(Font.FontFamily, size);

            if (cmbStampacPotvrda.SelectedItem != null)
            {
                Options.Instance.PrinterNamePotvrda = (string)cmbStampacPotvrda.SelectedItem;
            }
            else
            {
                Options.Instance.PrinterNamePotvrda = null;
            }

            if (cmbStampacIzvestaj.SelectedItem != null)
            {
                Options.Instance.PrinterNameIzvestaj = (string)cmbStampacIzvestaj.SelectedItem;
            }
            else
            {
                Options.Instance.PrinterNameIzvestaj = null;
            }

            Options.Instance.NedostajuceUplateStartDate = DateTime.Parse(txtNedostajuceUplate.Text.Trim());

            Options.Instance.UvekPitajZaLozinku = rbtUvekTraziLozinku.Checked;
            if (!Options.Instance.UvekPitajZaLozinku)
            {
                Options.Instance.LozinkaTimerMinuti = int.Parse(txtBrojMinuta.Text);
            }
        }
예제 #29
0
        private void updateStatistics(bool afterMerge)
        {
            ClanDAO clanDAO         = DAOFactoryFactory.DAOFactory.GetClanDAO();
            int     noviBrojClanova = clanDAO.FindAll().Count;

            UplataClanarineDAO      uplataClanarineDAO = DAOFactoryFactory.DAOFactory.GetUplataClanarineDAO();
            IList <UplataClanarine> sveUplate          = uplataClanarineDAO.FindAll();

            int noviBrojUplata = sveUplate.Count;

            decimal noviTotal = 0;

            for (int i = 0; i < sveUplate.Count; ++i)
            {
                noviTotal += sveUplate[i].Iznos.Value;
            }

            if (brojClanova != null)
            {
                bool greska = false;

                if (afterMerge)
                {
                    if (noviBrojClanova != brojClanova - 1)
                    {
                        MessageDialogs.showError("Broj clanova se ne poklapa", this.Text);
                        greska = true;
                    }
                }
                else
                {
                    if (noviBrojClanova != brojClanova)
                    {
                        MessageDialogs.showError("Broj clanova se ne poklapa", this.Text);
                        greska = true;
                    }
                }

                if (noviBrojUplata != brojUplata)
                {
                    MessageDialogs.showError("Broj uplata se ne poklapa", this.Text);
                    greska = true;
                }
                if (noviTotal != total)
                {
                    MessageDialogs.showError("Total se ne poklapa", this.Text);
                    greska = true;
                }
                if (!greska)
                {
                    MessageDialogs.showMessage("OK", this.Text);
                }
            }
            brojClanova = noviBrojClanova;
            brojUplata  = noviBrojUplata;
            total       = noviTotal;

            lblBrojClanova.Text = brojClanova.ToString() + " clanova";
            lblBrojUplata.Text  = brojUplata.ToString() + " uplata";
            lblTotal.Text       = total.ToString() + " Din";
        }
예제 #30
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            int i;

            if (!Int32.TryParse(txtPoslednjiDanZaUplate.Text, out i) ||
                i < 1 || i > 31)
            {
                MessageDialogs.showMessage("Neispravna vrednost za poslednji dan u mesecu za uplate.", this.Text);
                this.DialogResult = DialogResult.None;
                return;
            }
            if (!Int32.TryParse(txtVelicinaSlova.Text, out i) ||
                i < 1 || i > 100)
            {
                MessageDialogs.showMessage("Neispravna vrednost za velicinu slova na displeju.", this.Text);
                this.DialogResult = DialogResult.None;
                return;
            }
            if (!ckbPrikaziDisplejPrekoCelogEkrana.Checked)
            {
                if (!Int32.TryParse(txtSirinaDispleja.Text, out i) || i < 1)
                {
                    MessageDialogs.showMessage("Neispravna vrednost za sirinu displeja.", this.Text);
                    this.DialogResult = DialogResult.None;
                    return;
                }
                if (!Int32.TryParse(txtVisinaDispleja.Text, out i) || i < 1)
                {
                    MessageDialogs.showMessage("Neispravna vrednost za visinu displeja.", this.Text);
                    this.DialogResult = DialogResult.None;
                    return;
                }
            }

            Options.Instance.COMPortReader = cmbCOMPortReader.SelectedIndex + 1;
            Options.Instance.COMPortWriter = cmbCOMPortWriter.SelectedIndex + 1;
            Options.Instance.PoslednjiMesecZaGodisnjeClanarine = cmbPoslednjiMesecZaGodisnjeClanarine.SelectedIndex + 1;
            Options.Instance.PoslednjiDanZaUplate                = Int32.Parse(txtPoslednjiDanZaUplate.Text);
            Options.Instance.VelicinaSlovaZaCitacKartica         = Int32.Parse(txtVelicinaSlova.Text);
            Options.Instance.PrikaziBojeKodOcitavanja            = ckbPrikaziBoje.Checked;
            Options.Instance.PrikaziImeClanaKodOcitavanjaKartice = ckbPrikaziImeClana.Checked;
            Options.Instance.PrikaziDisplejPrekoCelogEkrana      = ckbPrikaziDisplejPrekoCelogEkrana.Checked;
            if (!ckbPrikaziDisplejPrekoCelogEkrana.Checked)
            {
                Options.Instance.SirinaDispleja = int.Parse(txtSirinaDispleja.Text);
                Options.Instance.VisinaDispleja = int.Parse(txtVisinaDispleja.Text);
            }

            if (!Options.Instance.JedinstvenProgram && Options.Instance.IsProgramZaClanarinu)
            {
                string msg = "CitacKarticaOpcije";
                msg += " COMPortReader " + Options.Instance.COMPortReader.ToString();
                msg += " COMPortWriter " + Options.Instance.COMPortWriter.ToString();
                msg += " PoslednjiDanZaUplate " + Options.Instance.PoslednjiDanZaUplate.ToString();
                msg += " PoslednjiMesecZaGodisnjeClanarine " + Options.Instance.PoslednjiMesecZaGodisnjeClanarine.ToString();
                msg += " VelicinaSlovaZaCitacKartica " + Options.Instance.VelicinaSlovaZaCitacKartica.ToString();
                msg += " PrikaziBojeKodOcitavanja " + Options.Instance.PrikaziBojeKodOcitavanja.ToString();
                msg += " PrikaziImeClanaKodOcitavanjaKartice " + Options.Instance.PrikaziImeClanaKodOcitavanjaKartice.ToString();
                msg += " PrikaziDisplejPrekoCelogEkrana " + Options.Instance.PrikaziDisplejPrekoCelogEkrana.ToString();
                msg += " SirinaDispleja " + Options.Instance.SirinaDispleja.ToString();
                msg += " VisinaDispleja " + Options.Instance.VisinaDispleja.ToString();
                Form1.Instance.sendToPipeClient(msg);
            }
        }