Пример #1
0
        public async Task <ActionResult <Ticket> > PostTicket(CreateTicketVM ticketVM)
        {
            // get registered user
            ClaimsPrincipal loggedUser = HttpContext.User;
            string          userName   = loggedUser.FindFirst(ClaimTypes.Name).Value;
            User            user       = _context.Users.Where(u => u.UserName == userName).FirstOrDefault();

            // get related document
            Document document = _context.Documents.Find(ticketVM.DocumentId);

            // create new ticket
            Ticket ticket = new()
            {
                CreatedBy       = user,
                CreatedDate     = DateTime.Now,
                Description     = ticketVM.Description,
                Document        = document,
                LastChangedBy   = user,
                LastChangedDate = DateTime.Now,
                TicketClosed    = false,
                Title           = ticketVM.Title
            };

            // add ticket to database
            _context.Tickets.Add(ticket);
            await _context.SaveChangesAsync();

            // return new ticket
            return(CreatedAtAction("GetTicket", new { id = ticket.Id }, ticket));
        }
        /* public ActionResult Create(TicketDTO ticket)
         * {
         * if (ModelState.IsValid)
         * {
         *  ticket = _client.AddTicket(ticket.AccountId, ticket.Text);
         *
         *  return RedirectToAction("Details", new { id = ticket.TicketNumber });
         * }
         *
         * return View();
         * } */
        // ADHV view-model 'CreateTicketVM'
        public ActionResult Create(CreateTicketVM newTicket)
        {
            if (ModelState.IsValid)
            {
                TicketDTO ticket = _client.AddTicket(newTicket.AccId, newTicket.Problem);
                return(RedirectToAction("Details", new { id = ticket.TicketNumber }));
            }

            return(View());
        }
Пример #3
0
        public void Create_ModelStateIsValid_ReturnsRedirectToDetailsView()
        {
            //Arrange
            CreateTicketVM ticketVM = new CreateTicketVM {
                AccId = 1, Problem = "Cannot find webbrowser"
            };

            //Act
            var result = (RedirectToRouteResult)controller.Create(ticketVM);

            //Assert
            Assert.AreEqual("Details", result.RouteValues["action"]);
        }
Пример #4
0
        public void Create_ModelStateIsNotValid_ReturnsCreateView()
        {
            //Arrange
            CreateTicketVM ticketVM = new CreateTicketVM {
                AccId = 1, Problem = "test"
            };

            //Act
            controller.ModelState.AddModelError("Problem", "Problem need to be at least 50 characters"); //create fake error to set ModelState.IsValid to false
            var result = controller.Create(ticketVM) as ViewResult;

            //Assert
            Assert.AreEqual("Create", result.ViewName);
        }
Пример #5
0
        public IActionResult Create(CreateTicketVM vm)
        {
            Ticket newTicket = mgr.AddTicket(vm.AccId, vm.Problem);

            return(RedirectToAction("Details", "Ticket", new { id = newTicket.TicketNumber }));
        }