Esempio n. 1
0
        public ActionResult Edit(EditTicketSpecification spec)
        {
            logger.Debug($"{nameof(EditTicketSpecification)} identity is {spec.Identity?.ToString() ?? "<null>"}");

            var request  = mapper.Map <EditTicketRequest>(spec);
            var response = editor.Value.Edit(request);

            if (response.IdentityIsInvalid)
            {
                return(HttpNotFound());
            }

            TempData.Clear();

            if (response.IsSuccess)
            {
                TempData.Add(SuccessfulEditKey, true);
                return(RedirectToAction(nameof(Index), new { id = spec.TicketReference }));
            }

            var responseModel = mapper.Map <Models.Tickets.EditTicketResponse>(response);

            TempData.Add(EditTicketResponseKey, responseModel);
            TempData.Add(EditTicketSpecKey, spec);

            return(RedirectToAction(nameof(Edit), new { id = spec.TicketReference }));
        }
Esempio n. 2
0
        public Models.Tickets.EditTicketResponse Post(EditTicketSpecification ticket)
        {
            if (ticket == null)
            {
                throw new ArgumentNullException(nameof(ticket));
            }

            logger.Debug($"{nameof(EditTicketSpecification)} ticket identity is {ticket.Identity}");

            var request  = mapper.Value.Map <EditTicketRequest>(ticket);
            var response = ticketEditor.Value.Edit(request);

            if (response.IdentityIsInvalid)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            return(mapper.Value.Map <Models.Tickets.EditTicketResponse>(response));
        }
Esempio n. 3
0
        public void Edit_can_add_a_ticket_reference_by_a_qualified_reference()
        {
            SetupInitialData(Data);
            var ticketId = Identity.Create <Ticket>(5);
            var request  = new EditTicketSpecification {
                Identity           = ticketId,
                RelationshipsToAdd = new List <AddRelationshipModel> {
                    new AddRelationshipModel {
                        RelationshipIdAndParticipation = "6-Primary",
                        RelatedTicketReference         = new TicketReference("AB", 22)
                    }
                },
                Title = "This is a ticket",
                TicketTypeIdentity = Identity.Create <TicketType>(5),
            };
            var ticket = Data.Get(ticketId);
            var expectedOtherTicket = Data.Get(Identity.Create <Ticket>(7));

            Sut.Edit(request);

            Assert.That(ticket.PrimaryRelationships.FirstOrDefault()?.SecondaryTicket, Is.SameAs(expectedOtherTicket));
        }