public ActionResult UploadFile(StudentTicketViewModel model, HttpPostedFileBase file) { // Verify that the user selected a file if (file != null && file.ContentLength > 0) { // extract only the filename var fileName = Path.GetFileName(file.FileName); // store the file inside ~/App_Data/uploads folder var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), model.ticket.recordID + "_" + fileName); file.SaveAs(path); var now = DateTime.Now; var date = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); var ticket = db.Ticket.Where(t => t.recordID == model.ticket.recordID).FirstOrDefault(); var user = db.User.Where(u => u.recordID == model.user.recordID).FirstOrDefault(); var sysUser = db.User.Where(u => u.recordID == 999999).FirstOrDefault(); var comment = new Comments { User = sysUser, Ticket = ticket, CommentDate = date, Content = fileName + " upload by <b>" + user.firstName + " " + user.lastName + "</b>" }; db.Comments.Add(comment); db.SaveChanges(); } // redirect back to the index action to show the form once again return(RedirectToAction("Ticket", new { id = model.ticket.recordID })); }
// GET: Ticket public ActionResult Index() { if (IsLoggedIn()) { int userID = GetUserID(); ViewBag.UserID = GetUserID(); var user = db.User.Where(u => u.recordID == userID).FirstOrDefault(); var student = db.Student.Where(s => s.recordID == userID).FirstOrDefault(); var ticket = db.Ticket.Where(t => t.recordID > 0).FirstOrDefault(); var idea = db.Idea.Where(i => i.User.recordID != userID).ToList(); var studentUser = new StudentTicketViewModel { user = user, student = student, ticket = ticket }; if (student.matrikelNumber == 0) { ViewBag.IsDataSet = false; } return(View(studentUser)); } else { return(RedirectToAction("Login", "User")); } }
public ActionResult PostComment(StudentTicketViewModel model) { var now = DateTime.Now; var date = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); var ticket = db.Ticket.Where(t => t.recordID == model.ticket.recordID).FirstOrDefault(); var user = db.User.Where(u => u.recordID == model.user.recordID).FirstOrDefault(); var comment = new Comments { User = user, Ticket = ticket, CommentDate = date, Content = model.theComment.Content, CommentsFor = model.theComment.CommentsFor }; db.Comments.Add(comment); db.SaveChanges(); return(RedirectToAction("Ticket", new { id = model.ticket.recordID })); }
//Get: Student/Ticket/ public ActionResult Ticket(int id) { if (IsLoggedIn()) { int userID = GetUserID(); ViewBag.UserID = userID; ViewBag.UserRole = GetUserRole(); var user = db.User.Where(u => u.recordID == userID).FirstOrDefault(); var student = db.Student.Where(s => s.recordID == userID).FirstOrDefault(); var ticket = db.Ticket.Where(t => t.recordID == id) .Include(t => t.ticketStatus) .FirstOrDefault(); var submission = db.Submissions. Include("Files"). Where(s => s.Ticket.recordID == id).FirstOrDefault(); var comments = db.Comments.Where(c => c.Ticket.recordID == id).ToList(); var contributersNames = (from u in db.User join c in db.Contributors on u.recordID equals c.User.recordID where c.Ticket.recordID == ticket.recordID select new StudentTicketViewModel.ContributingUsers // had to create new temp table with two columns { lastName = u.lastName, Role = c.Role }).ToList(); var idea = db.Idea.Where(i => i.User.recordID != userID).ToList(); var proposal = (from p in db.Proposal join i in db.Idea on p.Idea.recordID equals i.recordID join t in db.Ticket on i.recordID equals t.idea.recordID select p ).FirstOrDefault(); var path = Path.Combine(Server.MapPath("~/App_Data/uploads")); DirectoryInfo dirInfo = new DirectoryInfo(path); List <FileInfo> ListOffiles = dirInfo.GetFiles().ToList(); for (var i = 0; i < ListOffiles.Count; i++) { string tokens = ListOffiles[i].ToString(); string[] token = tokens.Split('_'); if (ticket.recordID.ToString() != token[0]) { ListOffiles.Remove(ListOffiles[i]); i = i - 1; } } var artifacts = db.Artifacts.Where(a => a.ticket.recordID == id).ToList(); var artifactsTemplate = db.ArtifactTemplates.ToList(); //.Select(at => new SelectListItem //{ // Value = at.name, // Text = "some" //}); var studentUser = new StudentTicketViewModel { user = user, student = student, ticket = ticket, availableIdeas = idea, contributorsName = contributersNames, comments = comments, proposal = proposal, files = ListOffiles, artifacts = artifacts, artifactsTemplet = artifactsTemplate, submission = submission }; if (GetUserRole() != "Supervisor") { if (student.matrikelNumber == 0) { ViewBag.IsDataSet = false; } } return(View(studentUser)); } else { return(RedirectToAction("Login", "User")); } }