private void showPrethodneUplate(IList <UplataClanarine> uplate, bool hasNeplaceniDolasci)
        {
            if (hasNeplaceniDolasci)
            {
                btnNedostajuceUplate.ForeColor = Color.Red;
            }

            if (uplate == null || uplate.Count == 0)
            {
                listViewPrethodneUplate.Items.Clear();
                return;
            }

            ListViewItem[] items = new ListViewItem[uplate.Count];
            for (int i = 0; i < uplate.Count; ++i)
            {
                UplataClanarine u = uplate[i];
                items[i] = new ListViewItem(new string[] {
                    u.VaziOd.Value.ToString("MMM"), u.VaziOd.Value.ToString("yyyy"),
                    u.IznosDin, u.Napomena, u.Grupa.Naziv
                });
            }
            listViewPrethodneUplate.Items.Clear();
            listViewPrethodneUplate.Items.AddRange(items);
            listViewPrethodneUplate.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }
        public IActionResult Obrisi(int id)
        {
            UplataClanarine uplata = _ctx.UplataClanarine.Find(id);

            _ctx.UplataClanarine.Remove(uplata);
            _ctx.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemple #3
0
        protected override void updateUIFromEntity(DomainObject entity)
        {
            UplataClanarine uplata = (UplataClanarine)entity;

            SelectedGrupa   = uplata.Grupa;
            lblSummary.Text = uplata.PrezimeImeBrojDatumRodj
                              + "\n" + uplata.SifraGrupeCrtaNazivGrupe
                              + "\n" + uplata.VaziOd.Value.ToString("dd.MM.yyyy")
                              + "\n" + uplata.IznosDin;
        }
        public IActionResult Snimi(UplataClanarineDodajVM model, string clan = "ne")
        {
            if (ModelState.IsValid && ViewData["porukaUspjesno"] == null)
            {
                UplataClanarine u;
                if (model.UplataClanarineId != 0)
                {
                    u = _ctx.UplataClanarine.Find(model.UplataClanarineId);
                    ViewData["porukaUspjesno"] = "Uspješno ste uredili podatke o uplati.";
                }
                else
                {
                    u = new UplataClanarine();
                    _ctx.UplataClanarine.Add(u);
                    u.DatumUplate = model.DatumUplate;
                    ViewData["porukaUspjesno"] = "Uspješno ste dodali uplatu.";
                }

                model.Clan    = _ctx.Clanovi.Find(model.ClanId);
                u.Clan        = model.Clan;
                u.ClanId      = model.ClanId;
                u.Iznos       = model.Iznos;
                model.Clanovi = GetClanovi();

                _ctx.SaveChanges();
                if (clan == "da")
                {
                    return(View("Dodaj", model));
                }
                return(View("Uredi", model));
            }
            else
            {
                ViewData["porukaNeuspjesno"] = "Žao nam je. Podaci nisu validni.";
                if (model.ClanId != 0)
                {
                    model.Clan    = _ctx.Clanovi.Find(model.ClanId);
                    model.Clanovi = _ctx.Clanovi.Where(x => x.ClanId == model.ClanId).ToList();
                }
                else
                {
                    model.Clanovi = GetClanovi();
                }
                if (clan == "da")
                {
                    return(View("Dodaj", model));
                }
                return(View("Uredi", model));
            }
        }
        public IActionResult Uredi(int id)
        {
            UplataClanarine        c     = _ctx.UplataClanarine.Find(id);
            UplataClanarineDodajVM model = new UplataClanarineDodajVM();

            model.UplataClanarineId = c.UplataClanarineId;
            model.Clan        = _ctx.Clanovi.Find(c.ClanId);
            model.Clanovi     = _ctx.Clanovi.Where(x => x.ClanId == c.ClanId).ToList();
            model.Iznos       = c.Iznos;
            model.DatumUplate = c.DatumUplate;
            model.ClanId      = c.ClanId;

            _ctx.SaveChanges();
            return(View("Uredi", model));
        }
Exemple #6
0
        private void updateUplateListView(ListView listView, List <UplataClanarine> uplate)
        {
            if (uplate == null || uplate.Count == 0)
            {
                listView.Items.Clear();
                return;
            }

            ListViewItem[] items = new ListViewItem[uplate.Count];
            for (int i = 0; i < uplate.Count; ++i)
            {
                UplataClanarine u = uplate[i];
                items[i] = new ListViewItem(new string[] {
                    u.VaziOd.Value.ToString("MMM"), u.VaziOd.Value.ToString("yyyy"),
                    u.IznosDin, u.Grupa.Naziv
                });
            }
            listView.Items.Clear();
            listView.Items.AddRange(items);
            listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }
Exemple #7
0
        private void btnStampaj_Click(object sender, System.EventArgs e)
        {
            // TODO: Probaj da promenis i EntityListForm i EntityDetailForm tako da
            // rade za bilo koji objekt (da mogu da se koriste i za npr. DTO objekte)

            UplataClanarine uplata = (UplataClanarine)getSelectedEntity();

            if (uplata == null)
            {
                return;
            }

            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        PreviewDialog p      = new PreviewDialog();
                        List <int>    idList = new List <int>();
                        idList.Add(uplata.Id);
                        p.setIzvestaj(new PotvrdaIzvestaj(idList));
                        p.ShowDialog();
                    }
            }
            catch (InfrastructureException ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            catch (Exception ex)
            {
                MessageDialogs.showError(ex.Message, this.Text);
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
        }
Exemple #8
0
        private void getData()
        {
            List <UplataClanarine> uplate = getUplate(idList);
            UplataClanarine        uplata = uplate[0];

            broj = uplata.Clan.Broj.Value;
            ime  = String.Empty;
            if (uplata.Clan.Ime != null)
            {
                ime = uplata.Clan.Ime;
            }
            prezime = String.Empty;
            if (uplata.Clan.Prezime != null)
            {
                prezime = uplata.Clan.Prezime;
            }
            mesto       = uplata.Clan.NazivMesta;
            datumUplate = uplata.DatumUplate.Value;
            sifraGrupe  = uplata.Grupa.Sifra.Value;
            nazivGrupe  = uplata.Grupa.Naziv;

            decimal ukupanIznos = 0;

            datumClanarine = String.Empty;
            string zarez  = String.Empty;
            string format = uplate.Count <= 6 ? "MMMM yyyy" : "MMM yyyy";

            foreach (UplataClanarine u in uplate)
            {
                ukupanIznos += u.Iznos.Value;
                // TODO2: Ovde bi verovatno trebalo stampati ceo mesec (MMMM), ali za to bi trebalo
                // implementirati text wrap.
                datumClanarine += zarez + u.VaziOd.Value.ToString(format);
                zarez           = ", ";
            }
            iznos = ukupanIznos.ToString("F2") + " Din";
        }
        protected override void updateEntityFromUI(DomainObject entity)
        {
            List <UplataItem> uplateItems = getUplataItems();

            uplateList.Clear();

            DateTime vremeUplate = DateTime.Now;

            for (int i = 0; i < uplateItems.Count; ++i)
            {
                UplataClanarine u = new UplataClanarine();
                u.Clan             = SelectedClan;
                u.Grupa            = SelectedGrupa;
                u.DatumVremeUplate = new DateTime(
                    vremeUplate.Year, vremeUplate.Month, vremeUplate.Day,
                    vremeUplate.Hour, vremeUplate.Minute, vremeUplate.Second);

                UplataItem uplataItem = uplateItems[i];
                u.VaziOd = uplataItem.VaziOd;
                u.Iznos  = uplataItem.Iznos;

                if (txtNapomena.Text.Trim() != String.Empty)
                {
                    u.Napomena = txtNapomena.Text.Trim();
                }
                else
                {
                    u.Napomena = null; // u Access bazi je specifikovano da ne prihvata
                }
                // stringove duzine nula za Napomenu
                u.Korisnik = "Admin";

                uplateList.Add(u);
                vremeUplate = vremeUplate.AddSeconds(1);
            }
        }
Exemple #10
0
        protected override void updateEntityFromUI(DomainObject entity)
        {
            UplataClanarine uplata = (UplataClanarine)entity;

            uplata.Grupa = SelectedGrupa;
        }
Exemple #11
0
        private void prikaziOcitavanje(Clan clan, DateTime vremeOcitavanja, out UplataClanarine uplata)
        {
            uplata = CitacKarticaDictionary.Instance.findUplata(clan);

            bool okForTrening = false;

            if (uplata != null)
            {
                // Moguce da je clan uplatio clanarinu npr. pre 3 meseca, a tek ovog meseca mu je promenjen status
                // u neplaca clanarinu. U tom slucaju treba da svetli zeleno.
                if (clan.NeplacaClanarinu)
                {
                    okForTrening = true;
                }
                else if (uplata.Grupa.ImaGodisnjuClanarinu)
                {
                    okForTrening = uplata.VaziOd.Value.Year == vremeOcitavanja.Year;
                }
                else
                {
                    // Proveri da li postoji uplata za ovaj ili sledeci mesec.
                    okForTrening = uplata.VaziOd.Value.Year == vremeOcitavanja.Year &&
                                   uplata.VaziOd.Value.Month == vremeOcitavanja.Month;
                    if (!okForTrening)
                    {
                        DateTime sledeciMesec = DateTime.Now.AddMonths(1);
                        okForTrening = uplata.VaziOd.Value.Year == sledeciMesec.Year &&
                                       uplata.VaziOd.Value.Month == sledeciMesec.Month;
                    }
                }
            }
            else
            {
                okForTrening = clan.NeplacaClanarinu;
            }

            // Tolerisi do odredjenog dana u mesecu, ali ne i za godisnje clanarine.
            if (!okForTrening)
            {
                if (uplata != null && uplata.Grupa.ImaGodisnjuClanarinu)
                {
                    okForTrening = vremeOcitavanja.Month <= Options.Instance.PoslednjiMesecZaGodisnjeClanarine;
                }
                else
                {
                    okForTrening = vremeOcitavanja.Day <= Options.Instance.PoslednjiDanZaUplate;
                }
            }

            string grupa = null;

            if (uplata != null)
            {
                grupa = uplata.Grupa.Naziv;
            }
            string msg = FormatMessage(clan.BrojKartice.Value, clan, grupa);

            // Posto ocitavanje kartice traje relativno dugo (oko 374 ms), moguce je da je prozor
            // zatvoren bas u trenutku dok se kartica ocitava. Korisnik je u tom slucaju cuo zvuk
            // da je kartica ocitana ali se na displeju ne prikazuje da je kartica ocitana.
            CitacKarticaForm form = Form1.Instance.CitacKarticaForm;

            if (form != null)
            {
                Color color = Options.Instance.PozadinaCitacaKartica;
                if (Options.Instance.PrikaziBojeKodOcitavanja)
                {
                    if (okForTrening)
                    {
                        color = Color.SpringGreen;
                    }
                    else
                    {
                        color = Color.Red;
                    }
                }
                form.Prikazi(msg, color);
            }
        }
Exemple #12
0
        private void unesiOcitavanje(Clan clan, DateTime vremeOcitavanja, UplataClanarine uplata)
        {
            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        // NOTE: DolazakNaTreningDAO (vidi dole) ne uzima session iz CurrentSessionContext zato sto planiram
                        // da metod unesiOcitavanje izvrsavam u posebnom threadu.

                        // CurrentSessionContext.Bind(session);

                        DolazakNaTrening dolazak = new DolazakNaTrening();
                        dolazak.Clan = clan;
                        dolazak.DatumVremeDolaska = vremeOcitavanja;
                        if (uplata != null && !clan.NeplacaClanarinu)
                        {
                            dolazak.Grupa = uplata.Grupa;
                        }
                        else
                        {
                            dolazak.Grupa = null;
                        }

                        DolazakNaTreningDAOImpl dolazakNaTreningDAO =
                            DAOFactoryFactory.DAOFactory.GetDolazakNaTreningDAO() as DolazakNaTreningDAOImpl;
                        dolazakNaTreningDAO.Session = session;
                        dolazakNaTreningDAO.MakePersistent(dolazak);

                        if (CitacKarticaDictionary.Instance.DanasnjaOcitavanja.Add(clan.Id))
                        {
                            DolazakNaTreningMesecniDAOImpl dolazakNaTreningMesecniDAO
                                = DAOFactoryFactory.DAOFactory.GetDolazakNaTreningMesecniDAO() as DolazakNaTreningMesecniDAOImpl;
                            dolazakNaTreningMesecniDAO.Session = session;
                            DolazakNaTreningMesecni dolazakMesecni = dolazakNaTreningMesecniDAO.getDolazakNaTrening(dolazak.Clan,
                                                                                                                    dolazak.DatumDolaska.Value.Year, dolazak.DatumDolaska.Value.Month);
                            if (dolazakMesecni == null)
                            {
                                dolazakMesecni              = new DolazakNaTreningMesecni();
                                dolazakMesecni.Clan         = clan;
                                dolazakMesecni.Godina       = vremeOcitavanja.Year;
                                dolazakMesecni.Mesec        = vremeOcitavanja.Month;
                                dolazakMesecni.BrojDolazaka = 1;
                            }
                            else
                            {
                                ++dolazakMesecni.BrojDolazaka;
                            }
                            dolazakNaTreningMesecniDAO.MakePersistent(dolazakMesecni);
                        }
                        session.Transaction.Commit();
                    }
            }
            catch (Exception ex)
            {
                MessageDialogs.showMessage(ex.Message, "Citac kartica");
            }
            finally
            {
                // CurrentSessionContext.Unbind(NHibernateHelper.Instance.SessionFactory);
            }
        }