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 })); }
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)); }
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)); }