private async void OnInvioExecute()
        {
            //Visura.VisureTipoRecapito = new VisureTipoRecapito { Id = "DL", Descrizione = "Download" };
            NpceOperationResult result = null;
            string message;

            if (Ambiente.IsPil)
            {
                var operation = new InvioVisuraPIL(Visura.Model, Ambiente.Model);

                result = operation.Execute(AutoConferma, ControllaPrezzo);
            }
            else
            {
                var vol = new Vol(_ambiente.Model, _visura.Model, null);

                result = vol.Invio();
            }

            if (result.Success)
            {
                message = $"Operazione {result.Operation.ToString()} completata con successo";
            }
            else
            {
                message = $"Si è verificato il seguente errore:\nCode: {result.Errors[0].Code}\nDescription: {result.Errors[0].Description}";
            }

            await MessageDialogService.ShowOkCancelDialogAsync(message, "Info");

            if (result.Success)
            {
                Visura.IdRichiesta = result.IdRichiesta;

                statoCreated = AutoConferma ? statoServizioRepository.GetByDescription("Confermato") : statoServizioRepository.GetByDescription("Inviato");

                Visura.Model.StatoServizioId = statoInviato.Id;

                Visura.AmbienteId = Ambiente.Id;
                Visura.IdOrdine   = result.IdOrdine;

                OnSaveExecute();
            }
        }