예제 #1
0
        public ActionResult SacuvajArtikal(Artikal artikal)
        {
            var vm = new ArtikliViewModel
            {
                Pdv          = fRepository.Pdv(),
                JediniceMere = fRepository.JediniceMere(),
            };

            if (!ModelState.IsValid)
            {
                vm.Greska = "Ispravite greške pre snimanja";
            }
            else
            {
                if (fRepository.PostojiSifraArtikla(artikal.Sifra) && artikal.ID == 0)
                {
                    throw new Exception("Izabrana šifra artikla već postoji");
                }
                if (fRepository.PostojiNazivArtikla(artikal.Naziv) && artikal.ID == 0)
                {
                    throw new Exception("Artikal sa istim nazivom već postoji");
                }
                var radnje = fRepository.Radnje().Select(x => x.ID).ToArray();
                fRepository.SacuvajArtikal(artikal, radnje);
                fRepository.Submit();
            }
            vm.Artikli = fRepository.Artikli();
            vm.PrototipArtikla.Sifra          = fRepository.SledeciIdArtikla().ToString();
            vm.PrototipArtikla.JedinicaMereID = fRepository.DefaultJedinicaMere();
            vm.PrototipArtikla.PdvID          = fRepository.DefaultPdv();
            return(PartialView("_ArtikliGrid", vm));
        }
예제 #2
0
        public ActionResult Index()
        {
            var vm = new ArtikliViewModel
            {
                Pdv             = fRepository.Pdv(),
                JediniceMere    = fRepository.JediniceMere(),
                Artikli         = fRepository.Artikli(),
                PrototipArtikla = new Artikal
                {
                    Sifra          = fRepository.SledeciIdArtikla().ToString(),
                    JedinicaMereID = fRepository.DefaultJedinicaMere(),
                    PdvID          = fRepository.DefaultPdv()
                }
            };

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ArtikliGrid", vm));
            }
            return(View(vm));
        }
예제 #3
0
        public IActionResult Index(int page = 1, int sort = 1, bool ascending = true)
        {
            int pagesize = appData.PageSize;
            var query    = ctx.Artikl.AsNoTracking();
            int count    = query.Count();

            var pagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                Sort         = sort,
                Ascending    = ascending,
                ItemsPerPage = pagesize,
                TotalItems   = count
            };

            if (page > pagingInfo.TotalPages)
            {
                return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages, sort = sort, ascending = ascending }));
            }

            System.Linq.Expressions.Expression <Func <Artikl, object> > orderSelector = null;
            switch (sort)
            {
            case 2:
                orderSelector = a => a.SifArtikla;
                break;

            case 3:
                orderSelector = a => a.NazArtikla;
                break;

            case 4:
                orderSelector = a => a.JedMjere;
                break;

            case 5:
                orderSelector = a => a.CijArtikla;
                break;

            case 6:
                orderSelector = a => a.ZastUsluga;
                break;
            }
            if (orderSelector != null)
            {
                query = ascending ?
                        query.OrderBy(orderSelector) :
                        query.OrderByDescending(orderSelector);
            }

            var artikli = query
                          .Select(a => new ArtiklViewModel
            {
                SifraArtikla  = a.SifArtikla,
                NazivArtikla  = a.NazArtikla,
                JedinicaMjere = a.JedMjere,
                CijenaArtikla = a.CijArtikla,
                Usluga        = a.ZastUsluga,
                TekstArtikla  = a.TekstArtikla,
                ImaSliku      = a.SlikaArtikla != null,
                ImageHash     = a.SlikaArtikla != null ? a.SlikaArtikla.Length : 0
            })
                          .Skip((page - 1) * pagesize)
                          .Take(pagesize)
                          .ToList();
            var model = new ArtikliViewModel
            {
                Artikli    = artikli,
                PagingInfo = pagingInfo
            };

            return(View(model));
        }
예제 #4
0
 public ArtikliPage()
 {
     InitializeComponent();
     BindingContext = model = new ArtikliViewModel();
 }