public async Task <IActionResult> Create(CreateTicketViewModel model)
        {
            if (ModelState.IsValid)
            {
                Ticket ticket = new Ticket();
                ticket.Title       = model.Title;
                ticket.Description = model.Description;
                if (model.Description == null)
                {
                    ticket.Description = "No Description";
                }
                var user = await userManager.GetUserAsync(HttpContext.User);

                ticket.ApplicationUser = user;
                TicketApplicationUser tau = new TicketApplicationUser();
                tau.ApplicationUser   = user;
                tau.Ticket            = ticket;
                ticket.TicketPriority = model.TicketPriority;
                ticket.TicketStatus   = model.TicketStatus;
                ticket.TicketType     = model.TicketType;
                ticket.TicketApplicationUsers.Add(tau);
                ticket.Created = DateTime.Now;
                ticket.Project = dbContext.Projects.Find(model.ProjectId);

                foreach (var file in Request.Form.Files)
                {
                    TicketAttachment attachment = new TicketAttachment();
                    attachment.ApplicationUser = user;
                    attachment.Ticket          = ticket;
                    attachment.Name            = file.FileName;
                    MemoryStream ms = new MemoryStream();
                    file.CopyTo(ms);
                    attachment.Image = ms.ToArray();

                    ticket.TicketAttachments.Add(attachment);
                }

                dbContext.Tickets.Add(ticket);
                dbContext.SaveChanges();

                if (model.returnToProject)
                {
                    return(RedirectToAction("Tickets", "Projects", new { id = model.ProjectId }));
                }

                return(View("Index"));
            }

            return(BadRequest());
        }
        /// <summary>
        /// "Create ticket" view
        /// </summary>
        /// <param name="projectId">Optional project ID for the created ticket</param>
        /// <returns>Create Ticket ViewResult</returns>
        public async Task <IActionResult> Create(int?projectId)
        {
            CreateTicketViewModel model = new CreateTicketViewModel();

            var _user = await userManager.GetUserAsync(HttpContext.User);

            model.Projects = await dbContext.GetProjectsVisibleForUserAsync(_user, userManager);

            //TODO return index for now, later create a view with "No projects, want to create one?"
            if (model.Projects.Count == 0)
            {
                return(View("Index"));
            }

            if (projectId != null)
            {
                model.ProjectId       = (int)projectId;
                model.returnToProject = true;
            }

            return(View(model));
        }