public static BrojacEntity FetchBrojac(DataAccessAdapterBase adapter, PrefetchPath2 prefetchPath, long BrojacId)
        {
            BrojacEntity _BrojacEntity = new BrojacEntity(BrojacId);

            adapter.FetchEntity(_BrojacEntity, prefetchPath);
            return(_BrojacEntity);
        }
        public static int GetNextNumber(DataAccessAdapterBase adapter, long firmaId, BrojacEnum brojacEnum, short?godina)
        {
            if (!godina.HasValue)
            {
                godina = 0;
            }

            RelationPredicateBucket bucket = new RelationPredicateBucket();

            bucket.PredicateExpression.Add(BrojacFields.Naziv == brojacEnum.ToString());
            bucket.PredicateExpression.Add(BrojacFields.FirmaId == firmaId);
            if (godina.HasValue)
            {
                bucket.PredicateExpression.Add(BrojacFields.Godina == godina.Value);
            }

            BrojacEntity brojac = BrojacEntity.FetchBrojacCollection(adapter, bucket, null).SingleOrDefault();

            if (brojac == null)
            {
                brojac = new BrojacEntity()
                {
                    Godina        = godina.Value,
                    Naziv         = brojacEnum.ToString(),
                    SlijedeciBroj = 1,
                    FirmaId       = firmaId
                };
            }

            int slijedeciBroj = brojac.SlijedeciBroj;

            brojac.SlijedeciBroj++;

            adapter.SaveEntity(brojac);

            return(slijedeciBroj);
        }