private bool EditTicket(TicketModel ticket)
        {
            var editWindow = new EditTicketWindow();
            var ctx        = (EditTicketViewModel)editWindow.DataContext;
            var ticketCopy = new TicketModel();

            CopyFields(ticket, ticketCopy);
            ctx.Flights          = _flightService.GetAllFlights();
            ctx.Passengers       = _passengerService.GetAllPassengers();
            ticketCopy.Flight    = ctx.Flights.Single(f => f.Id == ticketCopy.Flight.Id);
            ticketCopy.Passenger = ctx.Passengers.Single(p => p.Id == ticketCopy.Passenger.Id);
            ctx.Ticket           = ticketCopy;
            if (editWindow.ShowDialog() != true)
            {
                return(false);
            }
            var errs = GetModelErrors(ticketCopy);

            if (errs != string.Empty)
            {
                ShowError(errs, "Error! Saving cancelled. ");
                return(false);
            }

            CopyFields(ticketCopy, ticket);
            _ticketService.EditTicket(ticket);
            return(true);
        }
        private bool AddTicket(TicketModel ticketModel)
        {
            var editWindow = new EditTicketWindow();
            var ctx        = (EditTicketViewModel)editWindow.DataContext;

            ctx.Ticket     = ticketModel;
            ctx.Flights    = _flightService.GetAllFlights();
            ctx.Passengers = _passengerService.GetAllPassengers();
            if (editWindow.ShowDialog() != true)
            {
                return(false);
            }

            var errs = GetModelErrors(ctx.Ticket);

            if (errs != string.Empty)
            {
                ShowError(errs, "Error! Saving cancelled. ");
                return(false);
            }

            _ticketService.AddTicket(ticketModel);
            return(true);
        }