コード例 #1
0
        public TemeView()
        {
            var zajednickiElementi = new ZajednickiElementiAplikacije();

            BindingContext = new TemeViewModel();

            Title = "Grane fizike";

            var temaKinematikaButton = zajednickiElementi.PrimarniNavigacijskiButton(kinematika);

            temaKinematikaButton.SetBinding(Button.CommandProperty, nameof(TemeViewModel.OdabirGraneFizikeCommand));

            var temaDinamikaButton = zajednickiElementi.PrimarniNavigacijskiButton(dinamika);

            temaDinamikaButton.SetBinding(Button.CommandProperty, nameof(TemeViewModel.OdabirGraneFizikeCommand));

            Content = new StackLayout
            {
                Children =
                {
                    temaKinematikaButton,
                    temaDinamikaButton
                },
                Margin = new Thickness(0, 10, 0, 0)
            };
        }
コード例 #2
0
        public async Task <IActionResult> Tema(TemeViewModel model)
        {
            ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User);

            if (model.Nova.Naslov.Trim().Equals(""))
            {
                ModelState.AddModelError("Naslov", "Naslov je obavezan");
            }
            if (model.Tekst.Trim().Equals(""))
            {
                ModelState.AddModelError("Tekst", "Zapis je obavezan");
            }
            if (ModelState.IsValid)
            {
                model.Nova.Id = Guid.NewGuid();
                Zapis zap = new Zapis
                {
                    Id            = Guid.NewGuid(),
                    IdKorisnik    = user.Id,
                    DatumIvrijeme = DateTime.Now,
                    IdTema        = model.Nova.Id,
                    Tekst         = model.Tekst
                };
                model.Nova.DatumPocetka = zap.DatumIvrijeme;
                model.Nova.ZadnjiZapis  = zap.DatumIvrijeme;
                model.Nova.Zapis.Add(zap);
                model.Nova.IdKorisnik = user.Id;
                model.Nova.IdForum    = model.IdForum;
                _ctx.Tema.Add(model.Nova);
                _ctx.SaveChanges();
                return(RedirectToAction("Tema", new { id = model.IdForum }));
            }
            //model.KategorijaForuma = _ctx.KategorijaForuma.Include(k => k.Forum).ThenInclude(f => f.Tema).OrderBy(k => k.Redoslijed).ToList();
            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> Tema(Guid id, [FromQuery] int page = 1)
        {
            ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User);

            bool mod      = isMod(user.Id);
            int  pagesize = appData.PageSize;
            var  forum    = _ctx.Forum.Find(id);

            if (forum == null)
            {
                return(RedirectToAction("Nema", "Greska"));
            }
            var teme       = _ctx.Tema.Where(t => t.IdForum == id);
            var pagingInfo = new PagingInfo
            {
                CurrentPage  = page,
                ItemsPerPage = pagesize,
                TotalItems   = teme.Count()
            };

            if (page > pagingInfo.TotalPages && pagingInfo.TotalItems != 0)
            {
                return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages }));
            }

            System.Linq.Expressions.Expression <Func <Tema, object> > orderSelector = t => t.ZadnjiZapis;

            if (orderSelector != null)
            {
                teme =


                    _ctx.Tema.Where(t => t.IdForum == id).Include(t => t.IdKorisnikNavigation).Include(t => t.IdForumNavigation).Include(t => t.Zapis).ThenInclude(z => z.IdKorisnikNavigation).OrderByDescending(orderSelector);
            }
            var trazeneTeme = teme
                              .Skip((page - 1) * pagesize)
                              .Take(pagesize)
                              .ToList();
            var model = new TemeViewModel()
            {
                Teme       = trazeneTeme,
                PagingInfo = pagingInfo,
                IdForum    = id,
                Mod        = mod,
                IdKorisnik = user.Id,
                Naslov     = forum.Naziv
            };

            return(View(model));
        }
コード例 #4
0
        public async Task <IActionResult> ObrisiTema(TemeViewModel model, int page = 1)
        {
            ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User);

            var zapis = _ctx.Tema.Find(model.IdBrisanje);

            if (zapis == null)
            {
                return(RedirectToAction("Nema", "Greska"));
            }
            if (!isMod(user.Id) && zapis.IdKorisnik != user.Id)
            {
                return(RedirectToAction("Prava", "Zbor"));
            }
            _ctx.Tema.Remove(zapis);
            _ctx.SaveChanges();
            return(RedirectToAction("Tema", new { id = zapis.IdForum, page = page }));
        }
コード例 #5
0
 public TemePage(Guid id)
 {
     model          = new TemeViewModel(id);
     BindingContext = model;
     InitializeComponent();
 }