예제 #1
0
        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));
        }
예제 #2
0
        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));
        }