コード例 #1
0
        private bool proveriOcitavanja(DateTime from, DateTime to, List <Ocitavanje> listaOcitavanja, out string msg)
        {
            IList <DolazakNaTrening> dolasci = null;

            try
            {
                using (ISession session = NHibernateHelper.Instance.OpenSession())
                    using (session.BeginTransaction())
                    {
                        DolazakNaTreningDAOImpl dolazakNaTreningDAO =
                            DAOFactoryFactory.DAOFactory.GetDolazakNaTreningDAO() as DolazakNaTreningDAOImpl;
                        dolazakNaTreningDAO.Session = session;

                        dolasci = dolazakNaTreningDAO.getDolazakNaTrening(from, to);
                    }
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                return(false);
            }

            if (dolasci.Count != listaOcitavanja.Count)
            {
                msg = String.Format("(Razlicit broj ocitavanja. Baza: {0} Fajl: {1})", dolasci.Count, listaOcitavanja.Count);
                return(false);
            }
            else
            {
                for (int i = 0; i < dolasci.Count; ++i)
                {
                    DolazakNaTrening d = dolasci[i];
                    Ocitavanje       o = listaOcitavanja[i];
                    if (d.Clan.BrojKartice != o.brojKartice)
                    {
                        msg = String.Format("(Broj kartice se ne poklapa. Baza: {0} Fajl: {1})",
                                            d.Clan.BrojKartice, o.brojKartice);
                        return(false);
                    }
                    else if (d.DatumVremeDolaska.Value.ToString("dd.MM.yyyy HH:mm:ss")
                             != o.vremeOcitavanja.ToString("dd.MM.yyyy HH:mm:ss"))
                    {
                        msg = String.Format("(Vreme dolaska se ne poklapa. Baza: {0} Fajl: {1})",
                                            d.DatumVremeDolaska, o.vremeOcitavanja);
                        return(false);
                    }
                }
            }

            msg = String.Format("(Broj ocitavanja: {0})", dolasci.Count);
            return(true);
        }
コード例 #2
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);
            }
        }