Exemplo n.º 1
0
        public async Task <IActionResult> UpdateVerzijeRada(UpdateVerzijeRadaVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var ext = Path.GetExtension(model.Document.FileName);

            if (!ext.Equals(".pdf"))
            {
                ModelState.AddModelError(string.Empty, "Uploaded file does not have .pdf extension!");
                return(View(model));
            }

            int verzijeCount = 0;

            var sveVerzije = _context.Document.Where(d => d.RadId == model.RadId);

            verzijeCount = sveVerzije.Count();

            verzijeCount += 1;

            var currentUserId   = _userManager.GetUserId(User);
            var currentUserName = _userManager.GetUserName(User);

            var novaVerzija = new Document
            {
                RadId           = model.RadId,
                FileName        = model.Document.FileName,
                TrenutnaVerzija = true,
                Version         = verzijeCount.ToString()
            };

            foreach (var verzija in sveVerzije)
            {
                verzija.TrenutnaVerzija = false;
            }

            //UPLOAD FAJLA

            string folderPath = Path.Combine(_environment.WebRootPath, "Uploads",
                                             currentUserName, model.NazivRada);

            //Kreiraj folder. Ako folder vec postoji nece biti kreiran.
            Directory.CreateDirectory(folderPath);

            var filePath = Path.Combine(folderPath, "verzija_" + novaVerzija.Version.ToString() + "_" + model.Document.FileName);

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await model.Document.CopyToAsync(stream);
            }

            _context.Add(novaVerzija);
            _context.SaveChanges();

            return(RedirectToAction("PregledSvihVerzija", "Rad", new { id = model.RadId }));
        }
Exemplo n.º 2
0
        public IActionResult UpdateVerzijeRada(int id)
        {
            if (_context.Rad.Any(r => r.Id == id) == false)
            {
                return(RedirectToAction("EditRad", new { @id = id }));
            }

            var rad = _context.Rad.FirstOrDefault(r => r.Id == id);

            if (rad.ApprovedByAdmin.HasValue && rad.ApprovedByAdmin.Value == false)
            {
                //ako approvedByAdmin ima vrijednost znaci da je rad ili prihvacen ili odbijen
                //ovo mozda mijenjati kasnije
                return(RedirectToAction("RadoviIndexByAuthor", "Rad"));
            }

            var model = new UpdateVerzijeRadaVM
            {
                RadId     = id,
                NazivRada = rad.Naslov
            };

            return(View(model));
        }