コード例 #1
0
        public void VratiIspravanBrojUsluga()
        {
            // Arrange
            var mockLogger = new Mock <ILogger <UslugeController> >();

            var dbOptions = new DbContextOptionsBuilder <PI10Context>()
                            .UseInMemoryDatabase(databaseName: "PI10Memory2")
                            .Options;

            using (var context = new PI10Context(dbOptions))
            {
                for (int i = 0; i < 50; i++)
                {
                    context.Add(new Usluge
                    {
                        IdUsluge    = i,
                        NazivUsluge = "naz"
                    });
                }
                context.SaveChanges();
                var controller   = new UslugeController(context, options, mockLogger.Object);
                var tempDataMock = new Mock <ITempDataDictionary>();
                controller.TempData = tempDataMock.Object;

                // Act
                var result = controller.Index();

                // Assert
                var             viewResult = Assert.IsType <ViewResult>(result);
                UslugeViewModel model      = Assert.IsType <UslugeViewModel>(viewResult.Model);
                Assert.Equal(options.Value.PageSize, model.Usluge.Count());
            }
        }
コード例 #2
0
        public IActionResult Index(int page = 1, int sort = 1, bool ascending = true)
        {
            int pagesize = _appSettings.PageSize;
            var query    = _ctx.Usluge.AsNoTracking();
            int count    = query.Count();

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

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

            System.Linq.Expressions.Expression <Func <Usluge, object> > orderSelector = null;
            switch (sort)
            {
            case 1:
                orderSelector = b => b.IdUsluge;
                break;

            case 2:
                orderSelector = b => b.NazivUsluge;
                break;

            case 3:
                orderSelector = b => b.IdKategorijeNavigation.Naziv;
                break;;
            }

            if (orderSelector != null)
            {
                query = ascending ? query.OrderBy(orderSelector) : query.OrderByDescending(orderSelector);
            }

            var usluge = query
                         .Select(s => new UslugaViewModel
            {
                IdUsluge        = s.IdUsluge,
                NazivKategorije = s.IdKategorijeNavigation.Naziv,
                NazivUsluge     = s.NazivUsluge
            })
                         .Skip((page - 1) * pagesize)
                         .Take(pagesize)
                         .ToList();

            var modelD = new UslugeViewModel()
            {
                Usluge     = usluge,
                PagingInfo = pagingInfo
            };

            return(View(modelD));
        }
コード例 #3
0
        public IActionResult PrikaziUsluge()
        {
            List <Usluga> us         = reposUsluge.GetAll();/*baza.Usluge.Include(s => s.Kategorija).ToList();*/
            var           uslugeView = new UslugeViewModel
            {
                Usluge = us
            };

            return(View(uslugeView));
        }
コード例 #4
0
        public IActionResult UrediUslugu(int UslugaId)
        {
            Usluga            usluga     = reposUsluge.GetById(UslugaId); /*baza.Usluge.Find(UslugaId);*/
            List <Kategorija> kategorije = reposKategorija.GetAll();
            UslugeViewModel   uslugeVM   = new UslugeViewModel()
            {
                Usluga     = usluga,
                Kategorije = kategorije
            };

            return(View(uslugeVM));
        }
コード例 #5
0
        public static UslugeViewModel MockingViewModel()
        {
            var serviceview = new UslugeViewModel()
            {
                Prijava           = DateTime.Parse("20-11-2019"),
                Odjava            = DateTime.Parse("25-11-2019"),
                Popust            = 0,
                RezervacijaID     = 2,
                CijenaRezervacije = 200,
                RacunID           = 1
            };

            return(serviceview);
        }
コード例 #6
0
        public ActionResult Odlazak(int?id, int?racunID, int?stavkaRacunaID, UslugeViewModel viewModel)
        {
            StavkaRacuna stavkaRacuna = db.StavkeRacuna.Find(stavkaRacunaID);
            Rezervacija  rezervacija  = db.Rezervacije.Find(id);
            Racun        racun        = db.Racuni.Find(racunID);

            var daniBoravka             = (rezervacija.Odjava - rezervacija.Prijava).TotalDays;
            var popust                  = rezervacija.Popust;
            var ukupnaCijenaRezervacije = (double?)rezervacija.Soba.TipSobe.CijenaPoNoci;

            if (daniBoravka <= 1)
            {
                ukupnaCijenaRezervacije += 100;
            }
            if (daniBoravka > 1)
            {
                ukupnaCijenaRezervacije *= (daniBoravka);
            }
            if (popust > 0)
            {
                ukupnaCijenaRezervacije -= ukupnaCijenaRezervacije * (double)(popust / 100);
            }

            UslugeViewModel uslugeView = new UslugeViewModel
            {
                CijenaRezervacije = (decimal)ukupnaCijenaRezervacije,
                Prijava           = rezervacija.Prijava,
                Odjava            = rezervacija.Odjava,
                Prezime           = rezervacija.Gost.Prezime,
                RezervacijaID     = rezervacija.RezervacijaID,
                Popust            = rezervacija.Popust
            };

            var racuni = new Racun
            {
                IznosUkupno   = (double)uslugeView.CijenaRezervacije,
                RezervacijaID = uslugeView.RezervacijaID,
                RacunID       = uslugeView.RacunID
            };

            db.Racuni.Add(racuni);
            db.SaveChanges();

            return(View(uslugeView));
        }
コード例 #7
0
        // GET: Usluga
        public IActionResult Index(int page = 1, int sort = 1, bool ascending = true)
        {
            int pagesize = appData.PageSize;

            var query = _context.Vw_Usluga

                        .AsNoTracking();

            int count = query.Count();

            if (count == 0)
            {
                TempData[Constants.Message]       = "Ne postoji niti jedana usluga.";
                TempData[Constants.ErrorOccurred] = false;
                return(RedirectToAction(nameof(Create)));
            }

            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 <ViewUsluga, object> > orderSelector = null;

            switch (sort)
            {
            case 1:
                orderSelector = d => d.Naziv;
                break;

            case 2:
                orderSelector = d => d.Opis;
                break;

            case 3:
                orderSelector = d => d.KategorijaPoslaNaziv;
                break;

            case 4:
                orderSelector = d => d.NazivTipaOpreme;
                break;

            case 5:
                orderSelector = d => d.NazivTipaZanimanja;
                break;
            }
            if (orderSelector != null)
            {
                query = ascending ?
                        query.OrderBy(orderSelector) :
                        query.OrderByDescending(orderSelector);
            }

            var uluga = query
                        .Skip((page - 1) * pagesize)
                        .FromSql("Select * FROM dbo.Vw_Usluga")
                        .Take(pagesize)
                        .ToList();
            var model = new UslugeViewModel
            {
                Usluga     = uluga,
                PagingInfo = pagingInfo
            };

            return(View(model));
        }
コード例 #8
0
 public DodajUslugu()
 {
     InitializeComponent();
     BindingContext = model = new UslugeViewModel();
 }
コード例 #9
0
 public PonudePage()
 {
     InitializeComponent();
     BindingContext = model = new UslugeViewModel();
 }
コード例 #10
0
 public PrikazUsluga()
 {
     InitializeComponent();
     BindingContext = model = new UslugeViewModel();
 }