示例#1
0
 public static Ticket ToTicketModel(this TicketAddViewModel ticket)
 {
     return(new Ticket
     {
         Subject = ticket.Subject,
         Content = ticket.Content,
         CompanyID = ticket.CompanyID,
         UserID = ticket.UserID
     });
 }
示例#2
0
        public async Task <IActionResult> TicketAdd([FromForm] TicketAddViewModel viewTicket)
        {
            if (!(await _authService.AuthorizeProjectRole(eProjectRoles.Reporter, viewTicket.ProjectId)))
            {
                return(RedirectToAction("AccessDenied", "Account"));
            }

            Ticket ticket = new Ticket();

            viewTicket.copyValsTo(ticket);
            ticket.Reporter  = User.Identity.Name;
            ticket.CreatedTs = DateTime.Now;

            _ticketService.AddTicket(ticket);
            await _ticketService.MarkTicketAsSeen(ticket.Id, User.Identity.Name);

            return(RedirectToAction("tickets", "ticket", new { projectId = viewTicket.ProjectId, type = (int)viewTicket.Type, state = (int)viewTicket.State }));
        }
示例#3
0
        public async Task <IActionResult> TicketAdd(long projectId, eTicketType type = eTicketType.Feature, eTicketState state = eTicketState.New)
        {
            TicketAddViewModel model = new TicketAddViewModel();

            model.Projects        = _ticketService.GetProjects().ToList();
            model.SelectedProject = model.Projects.FirstOrDefault(ll => ll.Id == projectId);
            model.Type            = type;
            model.State           = state;

            if (model.SelectedProject != null)
            {
                model.AssignableUsers = (await _projectRolesService.GetUsersWithProjectRoleForProject(model.SelectedProject.Name)).projectUser.Where(ll => ll.Role > eProjectRoles.Reporter).ToList();
            }
            else
            {
                model.AssignableUsers = new List <ProjectUserWithRole>();
            }
            return(View(model));
        }
示例#4
0
        public async Task <IActionResult> Create(TicketAddViewModel ticket)
        {
            var result = await _ticketService.CreateAsync(ticket);

            return(CreatedAtAction(nameof(GetByID), new { id = result }, ticket));
        }
        public async Task <int> CreateAsync(TicketAddViewModel ticket)
        {
            var request = ticket.ToTicketModel();

            return(await _ticket.Create(request));
        }