Beispiel #1
0
        public async Task <ActionResult> Create([Bind(Include = "Id, TicketId,FilePath,Description,UserId,FileUrl")] TicketAttachments ticketAttachments, HttpPostedFileBase attachment)
        {
            var ticketHistory = new TicketHistories();
            var tickets       = new Tickets();
            var user          = User.Identity.GetUserId();
            var currentUser   = db.Users.Find(user);
            //var ticketId = db.Tickets.FirstOrDefault(t => t.OwnerUserId == user).Id;
            var ticketOwnerId = db.Tickets.FirstOrDefault(t => t.OwnerUserId == user);

            ticketAttachments.UserId = currentUser.Id;

            if (FileUploadValidator.IsWebFriendlyFile(attachment))
            {
                var absPath = Path.GetFileName(attachment.FileName);
                attachment.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), absPath));
                ticketAttachments.FileUrl = "~/Uploads/" + absPath;

                if (ModelState.IsValid)
                {
                    //Send Notification
                    var developer = db.Users.Find(tickets.AssignedToUserId);
                    if (developer != null && developer.Email != null)
                    {
                        var svc = new EmailService();
                        var msg = new IdentityMessage();
                        msg.Destination = developer.Email;
                        msg.Subject     = "Bug Tracker Update: " + tickets.Title;
                        msg.Body        = ("An attachment has been added to Ticket ID: " + tickets.Id + " - " + tickets.Title);
                        await svc.SendAsync(msg);
                    }
                    //Ticket History
                    ticketHistory.TicketId   = ticketAttachments.TicketId;
                    ticketHistory.Property   = "Added Attachment";
                    ticketHistory.NewValue   = "Added";
                    ticketHistory.UserId     = ticketAttachments.UserId;
                    ticketHistory.ChangeDate = DateTime.Now;

                    ticketAttachments.Created = DateTime.Now;

                    db.TicketHistories.Add(ticketHistory);
                    db.TicketAttachments.Add(ticketAttachments);

                    db.SaveChanges();
                    return(RedirectToAction("Index", "Tickets", new { id = ticketAttachments.TicketId }));
                }
            }
            else
            {
                ModelState.AddModelError("attachment", "Invalid Format.");
            }

            //    }
            //}



            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachments.Id);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttachments.UserId);
            return(View(ticketAttachments));
        }
        public ActionResult Create([Bind(Include = "TicketId,FileName,Description")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                ticketAttachment.Created = DateTime.Now;
                ticketAttachment.UserId  = User.Identity.GetUserId();

                if (file == null)
                {
                    TempData["Error"] = "You must supply a file.";
                    return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachment.TicketId }));
                }

                if (FileUploadValidator.IsWebFriendlyImage(file) || FileUploadValidator.IsWebFriendlyFile(file))
                {
                    var fileName = FileStamp.MakeUnique(file.FileName);

                    var serverFolder = WebConfigurationManager.AppSettings["DefaultServerFolder"];
                    file.SaveAs(Path.Combine(Server.MapPath(serverFolder), fileName));
                    ticketAttachment.FilePath = $"{serverFolder}{fileName}";
                }

                db.TicketAttachments.Add(ticketAttachment);
                db.SaveChanges();
                var ticket = db.Tickets.Find(ticketAttachment.TicketId);
                if (ticket.DeveloperId != User.Identity.GetUserId())
                {
                    ticketManager.AttachmentNotifications(ticket);
                }
                return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachment.TicketId }));
            }

            TempData["Error"] = "The model was invalid.";
            return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachment.TicketId }));
        }
        public ActionResult Create([Bind(Include = "TicketId")] TicketAttachment ticketAttachment, HttpPostedFileBase attach, string aDescription)
        {
            if (ModelState.IsValid)
            {
                if (FileUploadValidator.IsWebFriendlyImage(attach) || FileUploadValidator.IsWebFriendlyFile(attach))
                {
                    var fileName     = Path.GetFileName(attach.FileName);
                    var justFileName = Path.GetFileNameWithoutExtension(fileName);
                    justFileName = StringUtilities.URLFriendly(justFileName);
                    fileName     = $"{justFileName}_{DateTime.Now.Ticks}{Path.GetExtension(fileName)}";
                    attach.SaveAs(Path.Combine(Server.MapPath("~/Attachments"), fileName));

                    ticketAttachment.FilePath    = "/Attachments/" + fileName;
                    ticketAttachment.Created     = DateTime.Now;
                    ticketAttachment.UserId      = User.Identity.GetUserId();
                    ticketAttachment.Description = aDescription;
                    nHelp.AddAttachmentNotification(ticketAttachment);
                    db.TicketAttachments.Add(ticketAttachment);
                    db.SaveChanges();

                    return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
                }
            }

            return(View(ticketAttachment));
        }
        public ActionResult UploadFileToTicket([Bind(Include = "TicketId,FileName")] TicketAttachment ticketAttachments, string AttachmentDescription, HttpPostedFileBase file)
        {
            if (file == null)
            {
                TempData["Error"] = "You must Supply a vaild File";
                return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachments.TicketId }));
            }
            if (ModelState.IsValid)
            {
                if (FileUploadValidator.IsWebFriendlyImage(file) || FileUploadValidator.IsWebFriendlyFile(file))
                {
                    ticketAttachments.Created     = DateTime.Now;
                    ticketAttachments.UserId      = User.Identity.GetUserId();
                    ticketAttachments.Description = AttachmentDescription;

                    var fileName     = FileStamp.MakeUnique(file.FileName);
                    var serverFolder = WebConfigurationManager.AppSettings["DefaultAttachmentFolder"];
                    file.SaveAs(Path.Combine(Server.MapPath(serverFolder), fileName));
                    ticketAttachments.FilePath = $"{serverFolder}{fileName}";
                    ticketAttachments.FileName = fileName;
                    db.TicketAttachments.Add(ticketAttachments);
                    db.SaveChanges();
                    notificationHelper.TicketNewAttachmentAdded(ticketAttachments);
                    return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachments.TicketId }));
                }
            }

            //ViewBag.TicketId = new SelectList(db.Tickets, "Id", "SubmitterId", ticketAttahment.TicketId);
            //ViewBag.UserId = new SelectList(db.Users, "Id", "FirstName", ticketAttahment.UserId);
            TempData["Error"] = "Model Invalid";
            return(RedirectToAction("Dashboard", "Tickets", new { id = ticketAttachments.TicketId }));
        }
        public ActionResult Create([Bind(Include = "TicketId")] TicketAttach ticketAttach, HttpPostedFileBase file, string attachDesc)
        {
            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    if (FileUploadValidator.IsWebFriendlyImage(file) || FileUploadValidator.IsWebFriendlyFile(file))
                    {
                        ticketAttach.Description = attachDesc;
                        var fileName     = Path.GetFileName(file.FileName);
                        var justFileName = Path.GetFileNameWithoutExtension(fileName);
                        justFileName = StringUtilities.URLFriendly(justFileName);
                        fileName     = $"{justFileName}_{DateTime.Now.Ticks}{Path.GetExtension(fileName)}";
                        file.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                        ticketAttach.FilePath = "/Uploads/" + fileName;
                        ticketAttach.Created  = DateTime.Now;
                        ticketAttach.UserId   = User.Identity.GetUserId();
                        db.TicketAttaches.Add(ticketAttach);
                        db.SaveChanges();
                    }
                }

                return(RedirectToAction("Details", "Ticket", new { Id = ticketAttach.TicketId }));
            }

            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttach.TicketId);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttach.UserId);
            return(View(ticketAttach));
        }
Beispiel #6
0
        public ActionResult Create([Bind(Include = "Id,TicketId,Description,Created,UserId,FileUrl")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (FileUploadValidator.IsWebFriendlyFile(file))
                {
                    var fileName = Path.GetFileName(file.FileName);
                    file.SaveAs(Path.Combine(Server.MapPath("~/img/"), fileName));
                    ticketAttachment.FileUrl = "~/img/" + fileName;

                    var ticketHistory       = new TicketHistory();
                    var oldTicketAttachment = db.TicketAttachments.Find(ticketAttachment.Id);
                    ticketHistory.Changed  = DateTime.Now;
                    ticketHistory.NewValue = ticketAttachment.FileUrl;
                    ticketHistory.Property = "Ticket Attachment";
                    ticketHistory.TicketId = ticketAttachment.TicketId;
                    ticketHistory.UserId   = User.Identity.GetUserId();
                    db.TicketHistories.Add(ticketHistory);

                    ticketAttachment.Created = DateTime.Now;
                    db.TicketAttachments.Add(ticketAttachment);
                    db.SaveChanges();
                    return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
                }
                return(RedirectToAction("Index", "Tickets"));
            }

            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachment.TicketId);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            return(View("Details", "Tickets", new { id = ticketAttachment.TicketId }));
        }
        public ActionResult Create([Bind(Include = "Id,TicketId,FilePath,Description,Created,UserId")] TicketAttachment ticketAttachment, HttpPostedFileBase image)
        {
            var oldTicketAttachment = db.TicketAttachments.AsNoTracking().FirstOrDefault(t => t.Id == ticketAttachment.TicketId);

            if (ModelState.IsValid)
            {
                if (FileUploadValidator.IsWebFriendlyFile(image))
                {
                    var fileName = Path.GetFileName(image.FileName).Replace(' ', '_');
                    image.SaveAs(Path.Combine(Server.MapPath("~/FilesUploaded/"), fileName));
                    ticketAttachment.FilePath = "/FilesUploaded/" + fileName;
                }

                ticketAttachment.Created = DateTimeOffset.Now;
                ticketAttachment.UserId  = User.Identity.GetUserId();

                ticketAttachment.User   = db.Users.Find(ticketAttachment.UserId);
                ticketAttachment.Ticket = db.Tickets.Find(ticketAttachment.TicketId);

                db.TicketAttachments.Add(ticketAttachment);
                db.SaveChanges();

                ticketAttachment.AttachmentAdded(oldTicketAttachment);

                return(RedirectToAction("Details", "Tickets", new { Id = ticketAttachment.TicketId }));
            }
            //ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttachment.TicketId);
            //ViewBag.UserId = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            return(View(ticketAttachment));
        }
        public ActionResult Create([Bind(Include = "TicketId,Body")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                ticketAttachment.CreatedDate = DateTime.Now;
                ticketAttachment.OwnerId     = User.Identity.GetUserId();

                if (file != null)
                {
                    if (FileUploadValidator.IsWebFriendlyFile(file) || ImageUploadValidator.IsWebFriendlyImage(file))
                    {
                        var fileName     = Path.GetFileName(file.FileName);
                        var justFileName = Path.GetFileNameWithoutExtension(fileName);
                        justFileName = StringUtilities.URLFriendly(justFileName);
                        fileName     = $"{justFileName}_{DateTime.Now.Ticks}{Path.GetExtension(fileName)}";

                        file.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                        ticketAttachment.FilePath    = "/Uploads/" + fileName;
                        ticketAttachment.CreatedDate = DateTime.Now;
                        ticketAttachment.OwnerId     = User.Identity.GetUserId();
                        db.TicketAttachments.Add(ticketAttachment);
                        db.SaveChanges();
                    }
                }


                return(RedirectToAction("Index", "TicketAttachments", new { id = ticketAttachment.TicketId }));
            }

            return(View(ticketAttachment));
        }
 public static string UploadSingleFile(HttpPostedFileBase file)
 {
     if (FileUploadValidator.IsWebFriendlyImage(file) || FileUploadValidator.IsWebFriendlyFile(file))
     {
         var fileName = Path.GetFileName(file.FileName);
         file.SaveAs(Path.Combine(HttpContext.Current.Server.MapPath("/Uploads/"), fileName));
         return("/Uploads/" + fileName);
     }
     return("");
 }
        public static List <Tuple <string, string, string> > UploadMultipleFiles(HttpPostedFileBase[] files)
        {
            List <Tuple <string, string, string> > resultList = new List <Tuple <string, string, string> >();

            if (files != null)
            {
                if (files.Length > 0)
                {
                    foreach (var file in files)
                    {
                        if (FileUploadValidator.IsWebFriendlyImage(file) || FileUploadValidator.IsWebFriendlyFile(file))
                        {
                            var fileName = Path.GetFileName(file.FileName);
                            var iconName = ImageHelpers.GetIconPath(fileName);
                            file.SaveAs(Path.Combine(HttpContext.Current.Server.MapPath("/Uploads/Attachments/"), fileName));
                            resultList.Add(new Tuple <string, string, string>(fileName, "/Uploads/Attachments/" + fileName, iconName));
                        }
                    }
                }
            }
            return(resultList);
        }
        public async Task <ActionResult> Create([Bind(Include = "TicketId,FileName")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                ticketAttachment.Ticket = db.Tickets.Find(ticketAttachment.TicketId);
                var oldTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticketAttachment.TicketId);
                db.Entry(ticketAttachment.Ticket).State = EntityState.Modified;
                if (ticketAttachment.FileName == null)
                {
                    TempData["Error"] = "You must supply a File Name of at least three characters";
                    return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
                }
                ticketAttachment.Created = DateTime.Now;
                ticketAttachment.UserId  = User.Identity.GetUserId();
                if (file == null)
                {
                    TempData["Error"] = "You must supply a file";
                    return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
                }

                if (FileUploadValidator.IsWebFriendlyFile(file) || ImageUploadValidator.IsWebFriendlyImage(file))
                {
                    var fileName     = FileStamp.MakeUnique(file.FileName);
                    var serverFolder = WebConfigurationManager.AppSettings["DefaultServerFolder"];
                    file.SaveAs(Path.Combine(Server.MapPath(serverFolder), fileName));
                    ticketAttachment.FilePath = $"{serverFolder}{fileName}";
                    db.TicketAttachments.Add(ticketAttachment);
                    db.SaveChanges();
                    var newTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticketAttachment.TicketId);
                    await ticketHelper.ManageTicketNotifications(oldTicket, newTicket, "no");
                }

                return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
            }
            TempData["Error"] = "The Model State was invalid. I apologize";
            return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
        }
Beispiel #12
0
        public ActionResult Create([Bind(Include = "Id,TicketId,FilePath,Description,CreatedDate,UserId")] TicketAttach ticketAttach, HttpPostedFileBase FileUrl, string description)
        {
            if (ModelState.IsValid)
            {
                if (FileUploadValidator.IsWebFriendlyFile(FileUrl))
                {
                    var fileName = Path.GetFileName(FileUrl.FileName);
                    FileUrl.SaveAs(Path.Combine(Server.MapPath("~/Uploads"), fileName));
                    ticketAttach.FileUrl = "~/Uploads/" + fileName;
                }



                ticketAttach.CreatedDate = DateTime.Now;
                ticketAttach.Description = description;
                db.TicketAttachs.Add(ticketAttach);
                db.SaveChanges();
                return(RedirectToAction("Details", "Tickets", new { id = ticketAttach.TicketId }));
            }

            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketAttach.TicketId);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttach.UserId);
            return(View(ticketAttach));
        }
        public ActionResult Create([Bind(Include = "TicketId,FileName,Description")] TicketAttachment ticketAttachment, HttpPostedFileBase file)
        {
            if (file == null)
            {
                TempData["Error"] = "You must submit a file.";
                return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
            }

            if (ModelState.IsValid)
            {
                //Pass it through a file validator
                if (FileUploadValidator.IsWebFriendlyFile(file))
                {
                    ticketAttachment.Created = DateTime.Now;
                    ticketAttachment.UserId  = User.Identity.GetUserId();


                    var fileName = FileStamp.MakeUnique(file.FileName);
                    //Assign the filePath property and save the physical file
                    var serverFolder = WebConfigurationManager.AppSettings["DefaultAttachmentFolder"];
                    file.SaveAs(Path.Combine(Server.MapPath(serverFolder), fileName));
                    ticketAttachment.FilePath = $"{serverFolder}{fileName}";

                    db.TicketAttachments.Add(ticketAttachment);
                    db.SaveChanges();
                }

                return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.TicketId }));
            }
            TempData["Error"] = "The model is invalid.";
            return(RedirectToAction("Details", "Tickets", new { id = ticketAttachment.Ticket.Id }));

            //ViewBag.TicketId = new SelectList(db.Tickets, "Id", "SubmitterId", ticketAttachment.TicketId);
            //ViewBag.UserId = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            //return View(ticketAttachment);
        }
        public async Task <ActionResult> Create([Bind(Include = "Id,Description")] TicketAttachment ticketAttachment, int ticketId, HttpPostedFileBase file)
        {
            var ticket = db.Tickets.Find(ticketId);

            if (ModelState.IsValid && ticket.TicketStatus.Name != "Resolved")
            {
                if (FileUploadValidator.IsWebFriendlyFile(file))
                {
                    var filename   = Path.GetFileName(file.FileName);
                    var customName = string.Format(Guid.NewGuid() + filename);
                    file.SaveAs(Path.Combine(Server.MapPath("~/app/uploads/"), customName));
                    ticketAttachment.FilePath = "/app/uploads/" + customName;
                    ticketAttachment.FileUrl  = filename;
                    var fileExtensions = new[] { ".txt", ".doc", ".pdf" };
                    var extension      = Path.GetExtension(file.FileName);
                    if (fileExtensions.Contains(extension))
                    {
                        ticketAttachment.FileType = "document";
                    }
                    else
                    {
                        ticketAttachment.FileType = "upload";
                    }
                }
                else
                {
                    ViewBag.Message = "Please select a valid format image";
                }
                ticketAttachment.Created  = new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now));
                ticketAttachment.TicketId = ticketId;
                ticketAttachment.UserId   = User.Identity.GetUserId();
                db.TicketAttachments.Add(ticketAttachment);
                db.SaveChanges();

                var currentUser = db.Users.Find(User.Identity.GetUserId());

                //make sure ticket is assigned
                if (!(ticket.AssignedToId == null || ticket.AssignedToId == "" || ticket.AssignedToId == "N/A"))
                {
                    //email notification
                    try
                    {
                        var from  = "ReSolve Bugtracker<*****@*****.**>";
                        var to    = db.Users.Find(ticket.AssignedToId).Email;
                        var email = new MailMessage(from, to)
                        {
                            Subject    = "Attachment added to your ticket",
                            Body       = $"{currentUser.FirstName} {currentUser.LastName} has added an attachment to a ticket that you are assigned to (<strong>{ticket.Title}</strong>). Ticket Details can be found <a href='http://kferretti-bugtracker.azurewebsites.net/Tickets/Details/{ticket.Id}'>here</a>.",
                            IsBodyHtml = true
                        };
                        var svc = new PersonalEmail();
                        await svc.SendAsync(email);

                        ViewBag.Message = "Email has been sent";
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        await Task.FromResult(0);
                    }
                }

                return(RedirectToAction("Details", "Tickets", new { id = ticketId }));
            }

            return(RedirectToAction("Details", "Tickets", new { id = ticketId }));
        }
Beispiel #15
0
        public async Task <ActionResult> Create([Bind(Include = "Id,UserId,Description,CreatedDate")] TicketAttachment ticketAttachment, HttpPostedFileBase File, int Id)
        {
            UserRolesHelper     helper = new UserRolesHelper(db);
            ProjectAssignHelper ph     = new ProjectAssignHelper();
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            var ticket = db.Tickets.Find(Id);


            if (ModelState.IsValid)
            {
                if (helper.IsUserInRole(userId, "Administrator") || helper.IsUserInRole(userId, "Admin") || helper.IsUserInRole(userId, "Project Manager1") && ph.IsUserOnAProject(userId, ticket.Project.Id) ||
                    helper.IsUserInRole(userId, "Project Manager2") && ph.IsUserOnAProject(userId, ticket.Project.Id) || helper.IsUserInRole(userId, "Project Manager3") && ph.IsUserOnAProject(userId, ticket.Project.Id) ||
                    helper.IsUserInRole(userId, "Developer1") && ticket.AssignedToUserId == userId || helper.IsUserInRole(userId, "Developer2") && ticket.AssignedToUserId == userId || helper.IsUserInRole(userId, "Developer3") && ticket.AssignedToUserId == userId ||
                    helper.IsUserInRole(userId, "Developer4") && ticket.AssignedToUserId == userId || helper.IsUserInRole(userId, "Submitter") && ticket.SubmitterUserId == userId)
                {
                    if (File != null)
                    {
                        TicketNotification TN = new TicketNotification();
                        TN.TicketId = ticket.Id;
                        TN.UserId   = ticket.AssignedToUserId;
                        TN.User     = ticket.AssignedToUser;
                        db.TicketNotifications.Add(TN);

                        var message = new IdentityMessage
                        {
                            Body = "The ticket" + " " + ticket.Title + " " + "from project" + " " + ticket.Project.Name + " " + "has been edited by" + " " + user.FirstName + user.LastName + "." + "  " +
                                   "Please see the ticket history to view the specific change.",
                            Subject     = "Your ticket has been edited",
                            Destination = TN.User.Email
                        };
                        EmailService email = new EmailService();
                        await email.SendAsync(message);

                        if (FileUploadValidator.IsWebFriendlyFile(File))

                        {
                            var fileName   = Path.GetFileName(File.FileName);
                            var customName = string.Format(Guid.NewGuid() + fileName);
                            File.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), customName));
                            ticketAttachment.FilePath = "/Uploads/" + customName;


                            string filename      = ticketAttachment.FilePath.ToString();
                            string word          = ".docx";
                            string excel         = ".xls";
                            string excelx        = "xlsx";
                            string pdf           = ".pdf";
                            string jpeg          = ".jpeg";
                            string bmp           = ".bmp";
                            string gif           = ".gif";
                            string zip           = ".zip";
                            string rar           = ".rar";
                            string ticketmessage = "";
                            if (filename.Contains(word))
                            {
                                ticketmessage = "This is a Word Document";
                            }
                            else if (filename.Contains(excel))
                            {
                                ticketmessage = "This is an Excel File";
                            }
                            else if (filename.Contains(pdf))
                            {
                                ticketmessage = "This is an PDF File";
                            }
                            else if (filename.Contains(jpeg))
                            {
                                ticketmessage = "This is a JPEG File";
                            }
                            else if (filename.Contains(bmp))
                            {
                                ticketmessage = "This is a BMP File";
                            }
                            else if (filename.Contains(gif))
                            {
                                ticketmessage = "This is a .gif File";
                            }
                            else if (filename.Contains(zip))
                            {
                                ticketmessage = "This is an ZIP File";
                            }
                            else if (filename.Contains(rar))
                            {
                                ticketmessage = "This is a RAR File";
                            }
                            else if (filename.Contains(excelx))
                            {
                                ticketmessage = "This is an .xlsx File";
                            }



                            ticketAttachment.CreatedDate = DateTimeOffset.Now;
                            var ticketdatestring = ticketAttachment.CreatedDate.ToString("MM-dd-yyyy");
                            ticketAttachment.TicketId    = Id;
                            ticketAttachment.Description = ticketmessage + " " + "added by" + " " + user.FirstName + " " + user.LastName + " " + "on" + " " + ticketdatestring + ".";
                            ticketAttachment.UserId      = userId;

                            db.TicketAttachments.Add(ticketAttachment);
                            db.SaveChanges();
                        }
                        int id = Id;
                        return(RedirectToAction("Details", "Tickets", new { id = id }));
                    }
                    else
                    {
                        var Temporary = "Please select an image between 1KB - 2MB and in an approved format(.jpg, .bmp, .png, .gif)";
                        TempData["attachmentmessage"] = Temporary;
                    }
                }
                var Temporary3 = "You cannot edit this ticket.  Please revisit your role assignment.  Tickets can only be edited by their creator, a developer assigned to the ticket, a project manager, or an administrator.";
                TempData["message"] = Temporary3;
                return(RedirectToAction("Details", "Tickets", new { id = Id }));
            }

            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "SubmitterUserId", ticketAttachment.TicketId);
            ViewBag.UserId   = new SelectList(db.Users, "Id", "FirstName", ticketAttachment.UserId);
            return(View(ticketAttachment));
        }