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 })); }
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)); }