示例#1
0
        public IActionResult GetTicket(int ticketId)
        {
            var ticket = _ticketManager.GetTicket(ticketId);

            var response = TicketBasic.MapFromObject(ticket);

            return(Ok(response));
        }
示例#2
0
        public List <TicketBasic> GenerateBasicTicketList(List <Ticket> tickets)
        {
            var basicTickets = new List <TicketBasic>();

            foreach (var ticket in tickets)
            {
                basicTickets.Add(TicketBasic.MapFromObject(ticket));
            }

            return(basicTickets);
        }
示例#3
0
        public async Task <IHttpActionResult> Post([FromBody] TicketBasic model)
        {
            bool success = await taskManagerUow.Tickets.SaveNewAsync(model, User);

            if (success)
            {
                return(CreatedAtRoute("GetTicket", new { id = model.Id }, model));
            }

            return(this.Forbid());
        }
示例#4
0
        public IActionResult GetTicketsForVendor(int vendorId, bool onlyPending = false)
        {
            var tickets = _ticketManager.GetTicketsForVendor(vendorId, onlyPending);

            var response = new List <TicketBasic>();

            foreach (var ticket in tickets)
            {
                response.Add(TicketBasic.MapFromObject(ticket));
            }

            return(Ok(response));
        }
示例#5
0
        public IActionResult EditTicket([FromBody] TicketForm form)
        {
            var error  = new Error();
            var ticket = _ticketManager.EditTicket(form.MapToCore(), ref error);

            if (error.ErrorCode != ErrorCode.OKAY)
            {
                return(BadRequest(error.Message));
            }

            var response = TicketBasic.MapFromObject(ticket);

            return(Ok(response));
        }
示例#6
0
        //[ValidateAntiForgeryToken]
        public async Task <IHttpActionResult> Put(int id, TicketBasic model)
        {
            if (id != model.Id)
            {
                return(BadRequest());
            }

            bool success = await taskManagerUow.Tickets.SaveUpdatedWithOptimisticConcurrencyAsync(model, User, ModelState.AddModelError);

            if (success)
            {
                var ticket = await taskManagerUow.Tickets.FindByIdAsync <TicketDetailsProxy>(id);

                return(Ok(ticket));
            }

            return(BadRequest(ModelState));
        }
        public async Task CanCreateTicketWithCorrectModel()
        {
            // ARRANGE

            var ticketRepository = new Mock <ITicketRepository>();


            var unitOfWork = new Mock <ITaskManagerUow>();

            unitOfWork.Setup(uow => uow.Tickets).Returns(() => ticketRepository.Object);


            var principal = GetPrincipal();


            var ticketsController = new TicketsController(unitOfWork.Object, new TicketService(unitOfWork.Object, new StatusProcessor(new SetStatusCommandFactory()), principal, new SetStatusCommandFactory(), new CommandManager()));

            ticketsController.ControllerContext.RequestContext.Principal = principal;


            var ticketBasic = new TicketBasic
            {
                StatusId         = 6,
                Subject          = SecurityUtils.GetUniqueCode(4),
                Description      = SecurityUtils.GetUniqueCode(1),
                TypeId           = 12,
                PriorityId       = 1,
                RepresentativeId = SecurityUtils.GetGuid(),
                ContrahentId     = 1
            };

            // ACT

            var validationResult = ObjectUtils.Validate(ticketBasic);

            await ticketsController.Post(ticketBasic);

            // ASSERT

            Assert.IsNull(validationResult);

            ticketRepository.Verify(r => r.SaveNewAsync(It.IsAny <TicketBrief>(), principal, null), Times.AtLeastOnce());
        }