public IActionResult AddRad(string tip) { var model = new AddRadVM(); if (tip == "0") { model.TipRada = "Recenzirani"; model.TipRecenziranogRadaList = new List <SelectListItem> { new SelectListItem { Value = "0", Text = "Conference Style" }, new SelectListItem { Value = "1", Text = "Magazine Style" } }; } else if (tip == "1") { model.TipRada = "Studentski"; model.MentoriList = _context.Mentor.Select(m => new SelectListItem { Value = m.Id.ToString(), Text = m.Ime + " " + m.Prezime }).ToList(); model.TipStudentskogRadaList = new List <SelectListItem> { new SelectListItem { Value = "1", Text = "Seminarski" }, new SelectListItem { Value = "2", Text = "Maturski" } }; } else if (tip == "2") { model.TipRada = "Ideja"; } else { model.TipRada = "EKnjiga"; } return(View(model)); }
public async Task <IActionResult> AddRad(AddRadVM model) { string tip = model.TipRada; if (ModelState.IsValid) { if (model.TipRada == "Recenzirani" || model.TipRada == "Studentski" || model.TipRada == "EKnjiga") { if (model.Document == null || String.IsNullOrEmpty(model.Document.FileName)) { ModelState.AddModelError(string.Empty, "Document is required!"); return(View(model)); } } var currentUserId = _userManager.GetUserId(User); var rad = new Rad { Naslov = model.Naslov, Apstrakt = model.Apstrakt, ApprovedByAdmin = null, DatumObjavljivanja = null, Tip = model.TipRada, BrojPozitivnihOcjena = 0, KeyWords = model.KeyWords, UploadDate = DateTime.Now, OstaliAutori = model.OstaliAutori }; _context.Add(rad); _context.Add(new AutorRad { RadId = rad.Id, AuthorId = currentUserId }); _context.SaveChanges(); var currentUser = _context.Users.FirstOrDefault(u => u.Id == currentUserId); var brojVerzija = 1; //Dodaje se novi dokument //Nova verzija dokumenta se postavlja kao trenutna ili zadana verzija //koja se kasnije, ako se rad prihvati //prikazuje korisnicima if (model.Document != null && !String.IsNullOrEmpty(model.Document.FileName)) { //sta ako je model.document == null??? string ext = Path.GetExtension(model.Document.FileName); var noviDoc = new Document { RadId = rad.Id, FileName = model.Document.FileName, Version = brojVerzija.ToString(), TrenutnaVerzija = true }; _context.Add(noviDoc); _context.SaveChanges(); string folderPath = Path.Combine(_environment.WebRootPath, "Uploads", currentUser.UserName, model.Naslov); AddQuotesIfRequired(folderPath); Directory.CreateDirectory(folderPath); var filePath = Path.Combine(folderPath, "verzija_" + noviDoc.Version.ToString() + "_" + model.Document.FileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await model.Document.CopyToAsync(stream); } } //naknadno dodano if (model.TipRada == "Recenzirani") { string tipRecRada = " "; if (model.TipRecenziranogRada == "1") { tipRecRada = "Conference Style"; } else { tipRecRada = "Magazine Style"; } _context.Add(new RecenziraniRad { RecenziraniRadId = rad.Id, TipRecenziranogRada = tipRecRada }); } else if (model.TipRada == "Studentski") { var newStudentski = new StudentskiRad { StudentskiRadId = rad.Id, MentorId = Convert.ToInt32(model.Mentor) }; if (model.TipStudentskogRada == "1") { newStudentski.TipStudentskogRada = "Seminarski"; } else { newStudentski.TipStudentskogRada = "Diplomski"; } _context.Add(newStudentski); } else if (model.TipRada == "Ideja") { _context.Add(new Ideja { IdejaId = rad.Id, TekstIdeje = model.TekstIdeje }); _context.SaveChanges(); //return RedirectToAction("DodajKategorijuIndex", new { @id = rad.Id }); } else if (model.TipRada == "EKnjiga") { _context.Add(new EKnjiga { EKnjigaId = rad.Id }); } _context.SaveChanges(); int radId = rad.Id; return(RedirectToAction("RadoviIndexByAuthor", "Rad")); } model.TipRada = tip; if (model.TipRada == "Recenzirani") { model.TipRecenziranogRadaList = new List <SelectListItem>() { new SelectListItem { Text = "Conference Style", Value = "0" }, new SelectListItem { Text = "Magazine Style", Value = "1" } }; } else if (model.TipRada == "Studentski") { model.MentoriList = _context.Mentor.Select(m => new SelectListItem { Value = m.Id.ToString(), Text = m.Ime + " " + m.Prezime }).ToList(); model.TipStudentskogRadaList = new List <SelectListItem> { new SelectListItem { Value = "1", Text = "Seminarski" }, new SelectListItem { Value = "2", Text = "Maturski" } }; } return(View(model)); }