/// <summary>
        ///     Translates a CustomDialogResults into a standard WPF System.Windows.MessageBox MessageBoxResult
        ///     This abstraction allows for different frameworks to use the same ViewModels but supply
        ///     alternative implementations of core service interfaces
        /// </summary>
        /// <param name="result">The CustomDialogResults</param>
        /// <returns>The standard WPF System.Windows.MessageBox MessageBoxResult results to use</returns>
        private MessageBoxResult getResult(CustomDialogResults result)
        {
            var customDialogResults = MessageBoxResult.None;

            switch (result)
            {
            case CustomDialogResults.Cancel:
                customDialogResults = MessageBoxResult.Cancel;
                break;

            case CustomDialogResults.No:
                customDialogResults = MessageBoxResult.No;
                break;

            case CustomDialogResults.None:
                customDialogResults = MessageBoxResult.None;
                break;

            case CustomDialogResults.OK:
                customDialogResults = MessageBoxResult.OK;
                break;

            case CustomDialogResults.Yes:
                customDialogResults = MessageBoxResult.Yes;
                break;
            }

            return(customDialogResults);
        }
예제 #2
0
        /// <summary>
        /// Called when the application is about to exist.
        /// </summary>
        /// <returns>
        /// True if the application can exit. False to abbort exit.
        /// </returns>
        public virtual bool CanExit()
        {
            if (this.SelectedModelContextViewModel == null)
            {
                return(true);
            }
            if (this.SelectedModelContextViewModel.ModelContext == null)
            {
                return(true);
            }

            if (this.SelectedModelContextViewModel.ModelContext.RootElement != null)
            {
                if (this.SelectedModelContextViewModel.ModelContext.IsDirty)
                {
                    IMessageBoxService  messageBox = this.GlobalServiceProvider.Resolve <IMessageBoxService>();
                    CustomDialogResults dlgResult  = messageBox.ShowYesNoCancel("Save changes to the current Model?", CustomDialogIcons.Question);
                    if (dlgResult == CustomDialogResults.Cancel)
                    {
                        return(false);
                    }
                    if (dlgResult == CustomDialogResults.Yes)
                    {
                        using (new ToolFramework.Modeling.Visualization.ViewModel.UI.WaitCursor())
                        {
                            this.SelectedModelContextViewModel.ModelContext.Save((this.SelectedModelContextViewModel.ModelContext.RootElement as IParentModelElement).DomainFilePath);
                        }
                    }
                }
            }

            return(true);
        }
예제 #3
0
        /// <summary>
        /// Translates a standard WPF System.Windows.MessageBox MessageBoxResult into a
        /// CustomDialogIcons.
        /// This abstraction allows for different frameworks to use the same ViewModels but supply
        /// alternative implementations of core service interfaces
        /// </summary>
        /// <param name="result">The standard WPF System.Windows.MessageBox MessageBoxResult</param>
        /// <returns>CustomDialogResults results to use</returns>
        private CustomDialogResults GetResult(MessageBoxResult result)
        {
            CustomDialogResults customDialogResults = CustomDialogResults.None;

            switch (result)
            {
            case MessageBoxResult.Cancel:
                customDialogResults = CustomDialogResults.Cancel;
                break;

            case MessageBoxResult.No:
                customDialogResults = CustomDialogResults.No;
                break;

            case MessageBoxResult.None:
                customDialogResults = CustomDialogResults.None;
                break;

            case MessageBoxResult.OK:
                customDialogResults = CustomDialogResults.OK;
                break;

            case MessageBoxResult.Yes:
                customDialogResults = CustomDialogResults.Yes;
                break;
            }
            return(customDialogResults);
        }
예제 #4
0
 public CustomDialog(string strInstructionHeading, string strInstructionText, CustomDialogButtons enumButtons , CustomDialogResults enumDefaultButton , CustomDialogIcons enumInstructionIcon )
 {
     _strInstructionHeading = strInstructionHeading;
     _strInstructionText = strInstructionText;
     _enumButtons = enumButtons;
     _enumDefaultButton = enumDefaultButton;
     _enumInstructionIcon = enumInstructionIcon;
 }
예제 #5
0
        /// <summary>
        /// Close model command executed.
        /// </summary>
        /// <returns></returns>
        protected virtual bool CloseModelCommandExecute()
        {
            if (this.SelectedModelContextViewModel == null)
            {
                return(false);
            }
            if (this.SelectedModelContextViewModel.ModelContext == null)
            {
                return(false);
            }

            if (this.SelectedModelContextViewModel.ModelContext.IsDirty)
            {
                IMessageBoxService  messageBox = this.GlobalServiceProvider.Resolve <IMessageBoxService>();
                CustomDialogResults dlgResult  = messageBox.ShowYesNoCancel("Save changes to the current Model?", CustomDialogIcons.Question);
                if (dlgResult == CustomDialogResults.Cancel)
                {
                    return(false);
                }
                else if (dlgResult == CustomDialogResults.Yes)
                {
                    using (new ToolFramework.Modeling.Visualization.ViewModel.UI.WaitCursor())
                    {
                        this.SelectedModelContextViewModel.ModelContext.Save((this.SelectedModelContextViewModel.ModelContext.RootElement as IParentModelElement).DomainFilePath);
                        //this.SelectedModelContextViewModel.ModelContext.Save(this.ViewModelStore.GetDomainModelServices(this.SelectedModelContextViewModel.ModelContext.RootElement).ElementParentProvider.GetDomainModelFilePath(this.SelectedModelContextViewModel.ModelContext.RootElement));
                    }
                }
            }
            using (new ToolFramework.Modeling.Visualization.ViewModel.UI.WaitCursor())
            {
                for (int i = this.UnknownOpenedModels.Count - 1; i >= 0; i--)
                {
                    BaseDiagramSurfaceViewModel vm = this.UnknownOpenedModels[i] as BaseDiagramSurfaceViewModel;
                    if (vm == null)
                    {
                        continue;
                    }

                    //foreach (BaseDiagramSurfaceViewModel vm in this.UnknownOpenedModels)
                    if (!vm.IsDisposed)
                    {
                        this.EventManager.GetEvent <CloseViewModelRequestEvent>().Publish(new CloseViewModelRequestEventArgs(vm, true));
                    }
                }

                this.Reset();
                this.ModelData.Reset();
            }

            this.CloseCommand.RaiseCanExecuteChanged();
            this.SaveAsModelCommand.RaiseCanExecuteChanged();
            this.SaveModelCommand.RaiseCanExecuteChanged();

            this.SelectedModelContextViewModel.OnDocumentClosed();

            return(true);
        }
예제 #6
0
        //Evento envio a sunat de comprobantes.
        private void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //Recorrer la grilla para obtener los documentos seleccionados de la grilla.
                List <ReporteRetention> seleccionados = new List <ReporteRetention>();
                foreach (var item in lista_reporte)
                {
                    if (item.Check == true)
                    {
                        seleccionados.Add(item);
                    }
                }
                //If existen los elementos seleccionados.
                if (seleccionados.Count() > 0)
                {
                    string enviados             = string.Empty;
                    ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () => {
                        enviados = sendToSunat(seleccionados);
                    });
                    if (enviados.Trim().Length > 0)
                    {
                        CustomDialogWindow obj = new CustomDialogWindow();
                        obj.AdditionalDetailsText = "Los comprobantes enviados correctamente son:\n" + enviados;
                        obj.Buttons       = CustomDialogButtons.OK;
                        obj.Caption       = "Mensaje";
                        obj.DefaultButton = CustomDialogResults.OK;
                        // obj.FooterIcon = CustomDialogIcons.Shield;
                        // obj.FooterText = "This is a secure program";
                        obj.InstructionHeading = "Documentos enviados";
                        obj.InstructionIcon    = CustomDialogIcons.Information;
                        obj.InstructionText    = "Los comprobantes han sido enviados correctamente.";
                        CustomDialogResults objResults = obj.Show();
                    }
                    refrescarGrilla();

                    //string enviados = String.Empty;
                    //Por cada elemento seleccionado se envia a la sunat.

                    /*if (enviados.Length > 0)
                     * {
                     *  System.Windows.Forms.MessageBox.Show("Los siguientes comprobantes han sido enviados correctamente.\n"+enviados,"Mensaje",System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
                     * }*/
                    refrescarGrilla();
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar un item");
                }
            }
            catch (Exception ex)
            {
                clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
                clsBaseLog.cs_pxRegistarAdd("Enviar retencion sunat" + ex.Message);
            }
        }
 public CustomDialogWindow(string strCaption, string strInstructionHeading, string strInstructionText, CustomDialogButtons enumButtons, CustomDialogResults enumDefaultButton, CustomDialogIcons enumInstructionIcon, int intButtonsDisabledDelay = 0)
 {
     _strCaption              = strCaption;
     _strInstructionHeading   = strInstructionHeading;
     _strInstructionText      = strInstructionText;
     _enumButtons             = enumButtons;
     _enumDefaultButton       = enumDefaultButton;
     _enumInstructionIcon     = enumInstructionIcon;
     _intButtonsDisabledDelay = intButtonsDisabledDelay;
 }
        private void btnGenerarResumen_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                List <Data_Documentos> selected_data_Documentos = new List <Data_Documentos>();
                foreach (var data_Documento in data_Documentos)
                {
                    if (data_Documento.Selectable == true)
                    {
                        selected_data_Documentos.Add(data_Documento);
                    }
                }

                if (selected_data_Documentos.Count() > 0)
                {
                    string enviados     = string.Empty;
                    string noEnviados   = string.Empty;
                    string mensajeFinal = string.Empty;


                    ProgressDialogResult result = ProgressWindow.Execute(padre, "Procesando...", () =>
                    {
                        ProcesarEnvio procesarEnvio = new ProcesarEnvio(data_Usuario);
                        mensajeFinal = procesarEnvio.PostResumen(selected_data_Documentos);
                    });

                    LoadGrid();

                    CustomDialogWindow customDialogWindow = new CustomDialogWindow();
                    customDialogWindow.Buttons            = CustomDialogButtons.OK;
                    customDialogWindow.Caption            = "Mensaje";
                    customDialogWindow.DefaultButton      = CustomDialogResults.OK;
                    customDialogWindow.InstructionHeading = "Resultados de la comunicación de baja";
                    customDialogWindow.InstructionIcon    = CustomDialogIcons.Information;
                    customDialogWindow.InstructionText    = mensajeFinal;
                    CustomDialogResults customDialogResults = customDialogWindow.Show();
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar al menos un documento", "Ninguna selección detectada", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception ex)
            {
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                System.Windows.MessageBox.Show(msg, "Error al enviar el documento a sunat", MessageBoxButton.OK, MessageBoxImage.Error);
                data_Log = new Data_Log()
                {
                    DetalleError   = $"Detalle del error: {msg}",
                    Comentario     = "Error al enviar el documento a sunat desde la interfaz",
                    IdUser_Empresa = data_Usuario.IdUser_Empresa
                };
                data_Log.Create_Log();
            }
        }
예제 #9
0
        private void btnDescartar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //Verificar si hay elementos seleccionados
                List <ReporteRetention> seleccionados = new List <ReporteRetention>();
                foreach (var item in lista_reporte)
                {
                    if (item.Check == true)
                    {
                        seleccionados.Add(item);
                    }
                }

                if (seleccionados.Count > 0)
                {
                    if (System.Windows.Forms.MessageBox.Show("¿Está seguro que desea descartar los documentos seleccionados?\nEstos documentos serán eliminados completamente de la base de datos.", "¿Está seguro?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                    {
                        string mensaje = string.Empty;
                        foreach (ReporteRetention row in seleccionados)
                        {
                            bool resultado = new clsEntityRetention(localDB).cs_pxEliminarDocumento(row.Id);
                            if (resultado == true)
                            {
                                mensaje += row.SerieNumero + "\n";
                            }
                        }

                        if (mensaje.Length > 0)
                        {
                            CustomDialogWindow obj = new CustomDialogWindow();
                            obj.AdditionalDetailsText = "Los comprobantes son:\n" + mensaje;
                            obj.Buttons       = CustomDialogButtons.OK;
                            obj.Caption       = "Mensaje";
                            obj.DefaultButton = CustomDialogResults.OK;
                            // obj.FooterIcon = CustomDialogIcons.Shield;
                            // obj.FooterText = "This is a secure program";
                            obj.InstructionHeading = "Documentos eliminados";
                            obj.InstructionIcon    = CustomDialogIcons.Information;
                            obj.InstructionText    = "Los documentos se eliminaron correctamente de la base de datos.";
                            CustomDialogResults objResults = obj.Show();
                            // System.Windows.Forms.MessageBox.Show("Los siguientes documentos se eliminaron correctamente de la base de datos.\n"+mensaje,"Mensaje",MessageBoxButtons.OK,MessageBoxIcon.Information);
                        }
                        refrescarGrilla();
                    }
                }
            }
            catch (Exception ex)
            {
                clsBaseLog.cs_pxRegistarAdd("delete factura" + ex.ToString());
                //clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
            }
        }
예제 #10
0
        private void btnValidar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int    documentosSinXML = 0;
                string mensajeFinal     = string.Empty;

                XmlSchemaSet xmlSchemaSet = new XmlSchemaSet();
                xmlSchemaSet.Add(null, @"D:\Jorge Luis\FEICONT21\pruebaHtml\SERCE\Common\Validation\UBL-Invoice-2.1.xsd");
                XDocument document = XDocument.Load(@"D:\Jorge Luis\tempParaPruebasSunat\20541388061-01-F001-00004\20541388061-01-F001-00004.xml");
                //XDocument document      =   XDocument.Load(@"D:\Jorge Luis\tempParaPruebasSunat\20541388061-01-F001-0000004\20541388061-01-F001-0000004.xml");
                bool validationErrors = false;
                document.Validate(xmlSchemaSet, (s, ev) => { mensajeFinal = ev.Message; validationErrors = true; });

                if (validationErrors)
                {
                    mensajeFinal += mensajeFinal + "errores";
                }
                else
                {
                    mensajeFinal += mensajeFinal + "sin errores";
                }

                CustomDialogWindow customDialogWindow = new CustomDialogWindow();
                customDialogWindow.Buttons            = CustomDialogButtons.OK;
                customDialogWindow.Caption            = "Detalle";
                customDialogWindow.DefaultButton      = CustomDialogResults.OK;
                customDialogWindow.InstructionHeading = "Resultados de la descarga del documento(s)";
                customDialogWindow.InstructionIcon    = CustomDialogIcons.Information;
                customDialogWindow.InstructionText    = mensajeFinal;
                CustomDialogResults customDialogResults = customDialogWindow.Show();
            }
            catch (Exception ex)
            {
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                data_Log = new Data_Log()
                {
                    DetalleError   = $"Detalle del error: {msg}",
                    Comentario     = "Error al enviar el documento a sunat desde la interfaz",
                    IdUser_Empresa = data_Usuario.IdUser_Empresa
                };
                data_Log.Create_Log();
            }
        }
예제 #11
0
        private void ImageWorkSpace_WorkspaceTabClosing(object sender, CancelEventArgs e)
        {
            e.Cancel = false;
            CustomDialogResults result =
                messageBoxService.ShowYesNo("Are you sure you want to close this tab?",
                                            CustomDialogIcons.Question);

            //if user did not want to cancel, keep workspace open
            if (result == CustomDialogResults.No)
            {
                e.Cancel = true;
            }
            //otherwise close workspace, and make sure to unhook WorkspaceTabClosing event
            //to prevent memory leak
            else
            {
                ((WorkspaceData)sender).WorkspaceTabClosing -= ImageWorkSpace_WorkspaceTabClosing;
            }
        }
예제 #12
0
        private void btnRestaurar_Click(object sender, RoutedEventArgs e)
        {
            //Buscar todas las empresas y restaurar uno por uno
            List <ReporteEmpresa> seleccionados = new List <ReporteEmpresa>();

            foreach (ReporteEmpresa item in lista_reporte)
            {
                if (item.Check == true)
                {
                    seleccionados.Add(item);
                }
            }
            if (seleccionados.Count > 0)
            {
                if (txtRutaTodos.Text.Trim().Length > 0)
                {
                    string resultado            = string.Empty;
                    string baseLocation         = txtRutaTodos.Text;
                    ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () =>
                    {
                        resultado = procesarBackMultiple(seleccionados, baseLocation);
                    });

                    //System.Windows.Forms.MessageBox.Show("Resumen backups.\n" + resultado, "Resumen", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    CustomDialogWindow obj = new CustomDialogWindow();
                    obj.AdditionalDetailsText = "Resumen de archivos procesados:\n" + resultado;
                    obj.Buttons       = CustomDialogButtons.OK;
                    obj.Caption       = "Mensaje";
                    obj.DefaultButton = CustomDialogResults.OK;
                    // obj.FooterIcon = CustomDialogIcons.Shield;
                    // obj.FooterText = "This is a secure program";
                    obj.InstructionHeading = "Backup procesados";
                    obj.InstructionIcon    = CustomDialogIcons.Information;
                    obj.InstructionText    = "Se han procesado los archivos de la carpeta seleccionada.";
                    CustomDialogResults objResults = obj.Show();
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Seleccione las empresas para restaurar los backups", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
예제 #13
0
 private void btnRestauracionUnico_Click(object sender, RoutedEventArgs e)
 {
     if (txtRutaUnico.Text.Trim().Length > 0)
     {
         string rutaArchivo           = txtRutaUnico.Text;
         clsEntityDatabaseLocal local = new clsEntityDatabaseLocal().cs_fxObtenerUnoPorDeclaranteId(declarante.Cs_pr_Declarant_Id);
         //clsBaseConexion cn = new clsBaseConexion();
         string cadenaServidor = local.cs_prConexioncadenaservidor();
         clsBaseLog.cs_pxRegistarAdd(cadenaServidor);
         string resultado            = string.Empty;
         ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () =>
         {
             resultado = restaurarUnico(local, cadenaServidor, rutaArchivo);
         });
         if (resultado.Trim().Length <= 0)
         {
             System.Windows.Forms.MessageBox.Show("El backup se ha restaurado correctamente.\n", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             // System.Windows.Forms.MessageBox.Show("Se ha producido un error al procesar el backup.\n", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
             CustomDialogWindow obj = new CustomDialogWindow();
             obj.AdditionalDetailsText = resultado;
             obj.Buttons            = CustomDialogButtons.OK;
             obj.Caption            = "Mensaje";
             obj.DefaultButton      = CustomDialogResults.OK;
             obj.InstructionHeading = "Restauración fallida.";
             obj.InstructionIcon    = CustomDialogIcons.Warning;
             obj.InstructionText    = "Se ha producido un error al procesar el backup. Revise los detalles para mayor información";
             CustomDialogResults objResults = obj.Show();
         }
     }
     else
     {
         System.Windows.Forms.MessageBox.Show("Seleccione un archivo para restaurar el backup", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
 private void BtnYesClick(object sender, RoutedEventArgs e)
 {
     _enumCustomDialogResult = CustomDialogResults.Yes;
        DialogResult = true;
 }
예제 #15
0
        //Evento para enviar los resumenes diarios a la sunat.
        private void btnSunat_Click(object sender, RoutedEventArgs e)
        {
            string no_procesados          = "";
            int    cantidad_seleccionados = 0;

            try
            {
                //Recorrer los elementos de la grilla para obtener los seleccionados.
                List <ReporteResumen> seleccionados = new List <ReporteResumen>();
                foreach (var item in lista_reporte)
                {
                    //Si estan seleccionados
                    if (item.Check == true)
                    {
                        cantidad_seleccionados++;
                        if (item.EstadoSunatCodigo == "2")
                        {
                            seleccionados.Add(item);
                        }
                        else
                        {
                            no_procesados += item.Archivo + "\n";
                        }
                    }
                }
                //Si existen items seleccionados.
                if (cantidad_seleccionados > 0)
                {
                    string procesados = String.Empty;
                    //Si existen items a procesar.
                    if (seleccionados.Count > 0)
                    {
                        ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () => {
                            procesados = sendToSunat(seleccionados);
                        });
                    }

                    string comentario = procesados + no_procesados;

                    if (comentario.Trim().Length > 0)
                    {
                        comentario = "";
                        if (procesados.Trim().Length > 0)
                        {
                            comentario += "Documentos procesados correctamente:\n" + procesados;
                        }
                        //En caso existan elementos nno procesados
                        if (no_procesados.Trim().Length > 0)
                        {
                            comentario += "Resumenes no procesados. Estan en proceso o para consulta de ticket:\n" + no_procesados;
                            //System.Windows.Forms.MessageBox.Show("Los siguientes  . \n" + no_procesados);
                        }
                        CustomDialogWindow obj = new CustomDialogWindow();
                        obj.AdditionalDetailsText = comentario;
                        obj.Buttons       = CustomDialogButtons.OK;
                        obj.Caption       = "Mensaje";
                        obj.DefaultButton = CustomDialogResults.OK;
                        // obj.FooterIcon = CustomDialogIcons.Shield;
                        // obj.FooterText = "This is a secure program";
                        obj.InstructionHeading = "Documentos enviados";
                        obj.InstructionIcon    = CustomDialogIcons.Information;
                        if (procesados.Length > 0)
                        {
                            if (no_procesados.Length > 0)
                            {
                                obj.InstructionText = "Existen documentos no procesados. Para mayor informacion vea los detalles.";
                            }
                            else
                            {
                                obj.InstructionText = "Los documentos se enviaron correctamente a SUNAT.";
                            }
                        }
                        else
                        {
                            obj.InstructionText = "Los documentos no fueron procesados.Para mayor informacion vea los detalles.";
                        }

                        CustomDialogResults objResults = obj.Show();
                    }
                    refrescarGrilla();
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar un item");
                }
            }
            catch (Exception ex)
            {
                clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
                clsBaseLog.cs_pxRegistarAdd("Envio a sunat resumen diario" + ex.Message);
            }
        }
예제 #16
0
        private void btnDescargarXML_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int    documentosSinXML = 0;
                string mensajeFinal     = string.Empty;

                List <Data_Documentos> selected_data_Documentos = new List <Data_Documentos>();
                foreach (var data_Documento in data_Documentos)
                {
                    if (data_Documento.Selectable == true)
                    {
                        selected_data_Documentos.Add(data_Documento);
                    }

                    if (data_Documento.EstadoSunat == "Pendiente")
                    {
                        documentosSinXML++;
                    }
                }

                if (selected_data_Documentos.Count() > 0)
                {
                    if (documentosSinXML > 0)
                    {
                        System.Windows.MessageBox.Show("Ha seleccionado uno o más documentos que aún no se envían a Sunat (Pendiente), por este motivo aún no se ha" +
                                                       " generado su respectivo XML, envíe el(los) documentos y vuelva a intentarlo", "Documento sin XML", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                    else
                    {
                        string pdfsNoEncontrados = string.Empty;
                        string rutaDescarga      = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

                        VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
                        dialog.Description            = "Seleccione el directorio donde desea guardar los archivos.";
                        dialog.UseDescriptionForTitle = true;


                        if (!VistaFolderBrowserDialog.IsVistaFolderDialogSupported)
                        {
                            System.Windows.MessageBox.Show("Estimado usuario estas empleando una versión muy antigua de Windows, algunas funciones están restringidas, " +
                                                           "tu documento será descargado en el directorio MIS DOCUMENTOS.", "Algunas funciones no están soportadas en tu sistema operativo",
                                                           MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                        else
                        {
                            var resultado = dialog.ShowDialog();
                            if (resultado.HasValue && resultado.Value)
                            {
                                rutaDescarga = dialog.SelectedPath;

                                ProgressDialogResult result = ProgressWindow.Execute(padre, "Procesando...", () => {
                                    foreach (var selected_data_Documento in selected_data_Documentos)
                                    {
                                        var nombreArchivo =
                                            $"{data_Contribuyente.NroDocumento}-{selected_data_Documento.TipoDocumento}-{selected_data_Documento.SerieCorrelativo}";

                                        if (!Directory.Exists($"{rutaDescarga}\\{nombreArchivo}"))
                                        {
                                            Directory.CreateDirectory($"{rutaDescarga}\\{nombreArchivo}");
                                        }

                                        #region PDF
                                        try
                                        {
                                            if (!File.Exists($"{selected_data_Documento.Ruta}\\{nombreArchivo}\\{nombreArchivo}.pdf"))
                                            {
                                                pdfsNoEncontrados += $"{selected_data_Documento.SerieCorrelativo}, ";
                                            }
                                            else
                                            {
                                                File.Copy($"{selected_data_Documento.Ruta}\\{nombreArchivo}\\{nombreArchivo}.pdf",
                                                          $"{rutaDescarga}\\{nombreArchivo}\\{nombreArchivo}.pdf", true);
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            var msg  = string.Concat(ex.InnerException?.Message, ex.Message);
                                            data_Log = new Data_Log()
                                            {
                                                DetalleError   = $"Detalle del error: {msg}",
                                                Comentario     = "Error al leer o guardar PDF de representación impresa",
                                                IdUser_Empresa = data_Usuario.IdUser_Empresa
                                            };
                                            data_Log.Create_Log();
                                        }
                                        #endregion PDF

                                        DataTable datosDocumento =
                                            readGeneralData.GetDataTable("[dbo].[Query_Scalar_GetXml_Documento]", "@IdDocumento", selected_data_Documento.IdDocumento);
                                        DataRow row = datosDocumento.Rows[0];

                                        File.WriteAllBytes($"{rutaDescarga}\\{nombreArchivo}\\{nombreArchivo}.xml", Convert.FromBase64String(row["XmlFirmado"].ToString()));

                                        if (!string.IsNullOrEmpty(row["CdrSunat"].ToString()))
                                        {
                                            File.WriteAllBytes($"{rutaDescarga}\\{nombreArchivo}\\R-{nombreArchivo}.zip", Convert.FromBase64String(row["CdrSunat"].ToString()));
                                        }

                                        datosDocumento.Clear();
                                    }
                                });

                                if (!string.IsNullOrEmpty(pdfsNoEncontrados))
                                {
                                    mensajeFinal = $"El(los) documento(s) xml fueron guardados en :{dialog.SelectedPath} pero no hemos podido encontrar la" +
                                                   $" representación impresa de los siguientes documentos: {pdfsNoEncontrados}";
                                }
                                else
                                {
                                    mensajeFinal = $"El(los) documento(s) fueron guardados en :{dialog.SelectedPath}";
                                }

                                CustomDialogWindow customDialogWindow = new CustomDialogWindow();
                                customDialogWindow.Buttons            = CustomDialogButtons.OK;
                                customDialogWindow.Caption            = "Detalle";
                                customDialogWindow.DefaultButton      = CustomDialogResults.OK;
                                customDialogWindow.InstructionHeading = "Resultados de la descarga del documento(s)";
                                customDialogWindow.InstructionIcon    = CustomDialogIcons.Information;
                                customDialogWindow.InstructionText    = mensajeFinal;
                                CustomDialogResults customDialogResults = customDialogWindow.Show();

                                LoadGrid();
                            }
                        }
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar al menos un documento");
                }
            }
            catch (Exception ex)
            {
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                System.Windows.MessageBox.Show(msg, "Error al descargar los archivos del documento", MessageBoxButton.OK, MessageBoxImage.Error);
                data_Log = new Data_Log()
                {
                    DetalleError   = $"Detalle del error: {msg}",
                    Comentario     = "Error al descargar los archivos del documento",
                    IdUser_Empresa = data_Usuario.IdUser_Empresa
                };
                data_Log.Create_Log();
            }
        }
 private void BtnCancelClick(object sender, RoutedEventArgs e)
 {
     _enumCustomDialogResult = CustomDialogResults.Cancel;
        DialogResult = true;
 }
        /// <summary>
        /// Translates a CustomDialogResults into a standard WPF System.Windows.MessageBox MessageBoxResult
        /// This abstraction allows for different frameworks to use the same ViewModels but supply
        /// alternative implementations of core service interfaces
        /// </summary>
        /// <param name="result">The CustomDialogResults</param>
        /// <returns>The standard WPF System.Windows.MessageBox MessageBoxResult results to use</returns>
        private MessageBoxResult GetResult(CustomDialogResults result)
        {
            MessageBoxResult customDialogResults = MessageBoxResult.None;

            switch (result)
            {
                case CustomDialogResults.Cancel:
                    customDialogResults = MessageBoxResult.Cancel;
                    break;
                case CustomDialogResults.No:
                    customDialogResults = MessageBoxResult.No;
                    break;
                case CustomDialogResults.None:
                    customDialogResults = MessageBoxResult.None;
                    break;
                case CustomDialogResults.OK:
                    customDialogResults = MessageBoxResult.OK;
                    break;
                case CustomDialogResults.Yes:
                    customDialogResults = MessageBoxResult.Yes;
                    break;
            }
            return customDialogResults;
        }
        private async void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int cantidadAceptados = 0;
                List <Data_Documentos> selected_data_Documentos = new List <Data_Documentos>();
                foreach (var data_Documento in data_Documentos)
                {
                    if (data_Documento.Selectable == true)
                    {
                        selected_data_Documentos.Add(data_Documento);
                    }
                }

                foreach (var selected_data_Documento in selected_data_Documentos)
                {
                    if (selected_data_Documento.EnviadoSunat == true)
                    {
                        cantidadAceptados++;
                    }
                }

                if (selected_data_Documentos.Count() > 0)
                {
                    string enviados     = string.Empty;
                    string noEnviados   = string.Empty;
                    string mensajeFinal = string.Empty;

                    if (cantidadAceptados == 0)
                    {
                        ProgressDialogResult result = ProgressWindow.Execute(padre, "Procesando...", () =>
                        {
                            ProcesarEnvio procesarEnvio = new ProcesarEnvio(data_Usuario);
                            IEnumerable <Data_Documentos> documentosProcesar = selected_data_Documentos.AsEnumerable();
                            Parallel.ForEach(documentosProcesar, (data_Documento) => procesarEnvio.Post(data_Documento));
                        });

                        List <Data_Documentos> selected_data_Documentos_updated = new List <Data_Documentos>();
                        Data_Documentos        documentoUpdated;

                        foreach (var data_Documento in data_Documentos)
                        {
                            if (data_Documento.Selectable == true)
                            {
                                documentoUpdated = new Data_Documentos(data_Documento.IdDocumento);
                                documentoUpdated.Read_Documento();
                                selected_data_Documentos_updated.Add(documentoUpdated);
                            }
                        }

                        foreach (var selected_data_Documento in selected_data_Documentos_updated)
                        {
                            if (selected_data_Documento.EnviadoSunat == true)
                            {
                                enviados += $", {selected_data_Documento.SerieCorrelativo}";
                            }
                            else
                            {
                                noEnviados += $", {selected_data_Documento.SerieCorrelativo}";
                            }
                        }

                        if (string.IsNullOrEmpty(enviados)) //  Ningún enviado, puros rechazados como voz
                        {
                            mensajeFinal = $"No se pudo enviar ningún documento, los documentos rechazados son:\n {noEnviados}";
                        }

                        if (!string.IsNullOrEmpty(enviados) && string.IsNullOrEmpty(noEnviados))    //  Sin ningún documento rechazado
                        {
                            mensajeFinal = $"Se ha enviado a Sunat el(los) documento(s):\n {enviados}";
                        }

                        if (!string.IsNullOrEmpty(enviados) && !string.IsNullOrEmpty(noEnviados))   //  Con al menos un documento rechazado
                        {
                            mensajeFinal = $"Se ha enviado a Sunat el(los) documento(s):\n {enviados} y se han rechazado los siguientes documentos:\n {noEnviados}";
                        }

                        LoadGrid();

                        CustomDialogWindow customDialogWindow = new CustomDialogWindow();
                        customDialogWindow.Buttons            = CustomDialogButtons.OK;
                        customDialogWindow.Caption            = "Mensaje";
                        customDialogWindow.DefaultButton      = CustomDialogResults.OK;
                        customDialogWindow.InstructionHeading = "Resultados del envío a Sunat";
                        customDialogWindow.InstructionIcon    = CustomDialogIcons.Information;
                        customDialogWindow.InstructionText    = mensajeFinal;
                        CustomDialogResults customDialogResults = customDialogWindow.Show();
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("Estimado usuario, está intentando enviar a Sunat uno o varios documentos que ya fueron aceptados, " +
                                                             "sí desea revisar estos documento(s) selecciónelo y pulse descargar.", "Acción no permitida", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar al menos un documento", "Ninguna selección detectada", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception ex)
            {
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                System.Windows.MessageBox.Show(msg, "Error al enviar el documento a sunat", MessageBoxButton.OK, MessageBoxImage.Error);
                data_Log = new Data_Log()
                {
                    DetalleError   = $"Detalle del error: {msg}",
                    Comentario     = "Error al enviar el documento a sunat desde la interfaz",
                    IdUser_Empresa = data_Usuario.IdUser_Empresa
                };
                data_Log.Create_Log();
            }
        }
        //Evento de envio a sunat de la comunicacion de baja.
        private void btnSunat_Click(object sender, RoutedEventArgs e)
        {
            string comentario             = "";
            string procesados             = "";
            string ya_enviados            = "";
            string no_enviados_motivo     = "";
            int    cantidad_seleccionados = 0;

            try
            {
                List <ReporteResumen> seleccionados = new List <ReporteResumen>();
                //Recorrer la lista para obtener los seleccionados.
                foreach (var item in lista_reporte)
                {
                    if (item.Check == true)
                    {   //Si el item fue seleccionado
                        cantidad_seleccionados++;
                        if (item.Ticket != "" || item.Comentario != "")
                        {
                            ya_enviados += " -> " + item.Archivo + " \n";
                        }
                        else
                        {
                            bool validar_motivos_baja = new clsEntityVoidedDocuments(localDB).cs_pxValidarMotivosDeBajaEnItems(item.Id);
                            if (validar_motivos_baja == true)
                            {
                                seleccionados.Add(item);
                            }
                            else
                            {
                                no_enviados_motivo += " -> " + item.Archivo + " \n";
                            }
                        }
                    }
                }
                //SI existen documentos seleccionados.
                if (cantidad_seleccionados > 0)
                {
                    //Mostrar resumen de comprobantes procesados y no procesados.
                    comentario += ya_enviados + no_enviados_motivo;
                    if (comentario.Length > 0)
                    {
                        comentario = "";
                        if (ya_enviados.Length > 0)
                        {
                            comentario += "Ya enviadas:\n" + ya_enviados;
                        }
                        if (no_enviados_motivo.Length > 0)
                        {
                            comentario += "Sin motivos de baja" + no_enviados_motivo;
                        }
                        System.Windows.MessageBox.Show("Los siguientes resumen de reversiones no seran procesados.\n" + comentario, "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
                    }

                    //Si existen items selccionados.
                    if (seleccionados.Count > 0)
                    {
                        //string resultado = string.Empty;
                        ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () => {
                            procesados = sendToSunat(seleccionados);
                        });

                        refrescarGrilla();
                    }
                    if (procesados.Length > 0)
                    {
                        CustomDialogWindow obj = new CustomDialogWindow();
                        obj.AdditionalDetailsText = "Los siguientes comprobantes fueron enviados correctamente:\n" + procesados;
                        obj.Buttons       = CustomDialogButtons.OK;
                        obj.Caption       = "Mensaje";
                        obj.DefaultButton = CustomDialogResults.OK;
                        // obj.FooterIcon = CustomDialogIcons.Shield;
                        // obj.FooterText = "This is a secure program";
                        obj.InstructionHeading = "Documentos enviados";
                        obj.InstructionIcon    = CustomDialogIcons.Information;
                        obj.InstructionText    = "Los documentos se enviaron correctamente a SUNAT.";
                        CustomDialogResults objResults = obj.Show();

                        // System.Windows.MessageBox.Show("Las siguientes comunicaciones de baja fueron procesadas correctamente.\n" + procesados, "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                else
                {
                    System.Windows.MessageBox.Show("Seleccione los items a procesar.", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            catch (Exception ex)
            {
                clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
                clsBaseLog.cs_pxRegistarAdd("EnvioRA" + ex.ToString());
            }
        }
 /// <summary>
 /// Evento click para enviar los comprobantes a comunicacion de baja.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnEnviarSunat_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         string no_procesados = string.Empty;
         //Recorrer las grilla para obtener los elementos seleccionados y alamcenarlos en una lista con los ids de los seleccionados.
         List <string> seleccionados = new List <string>();
         foreach (var item in lista_reporte)
         {
             if (item.Check == true)
             {
                 //Si el comprobante no esta asigando a una comunicacion de baja se guarda como seleccionado
                 if (item.ComunicacionBaja == "")
                 {
                     seleccionados.Add(item.Id);
                 }
                 else
                 {
                     //En caso este asignado ya a una comunicacion de baja entonces asignar a no procesados.
                     no_procesados += item.SerieNumero + "\n";
                 }
             }
         }
         // Si existen comprobantes no procesados porque ya fueron agregados a comunicaion de baja entonces mostrar menaje al usuario.
         if (no_procesados.Trim().Length > 0)
         {
             System.Windows.Forms.MessageBox.Show("Los siguientes comprobantes no sera procesados. Ya fueron agregados a comunicación de baja\n" + no_procesados, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         //Si existen comprobantes seleccionados entonces procesar
         if (seleccionados.Count > 0)
         {
             //Confirmacion para enviar a comunicacion de baja los documentos seleccionados.
             if (System.Windows.Forms.MessageBox.Show("¿Está seguro que desea enviar a comunicación de baja los documentos seleccionados?", "¿Está seguro?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 string resultadoNoAgregados = string.Empty;
                 //
                 ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () => {
                     resultadoNoAgregados = ProcesarComunicacionBaja(seleccionados);
                 });
                 if (resultadoNoAgregados.Trim().Length > 0)
                 {   //no se agregaron
                     CustomDialogWindow obj = new CustomDialogWindow();
                     obj.AdditionalDetailsText = "Los comprobantes no agregados son los siguientes:\n" + resultadoNoAgregados;
                     obj.Buttons       = CustomDialogButtons.OK;
                     obj.Caption       = "Mensaje";
                     obj.DefaultButton = CustomDialogResults.OK;
                     // obj.FooterIcon = CustomDialogIcons.Shield;
                     // obj.FooterText = "This is a secure program";
                     obj.InstructionHeading = "Documentos no agregados";
                     obj.InstructionIcon    = CustomDialogIcons.Information;
                     obj.InstructionText    = "Algunos documentos no se agregaron a su comunicacion de baja. Verifique la fecha de emision no mayor a 7 dias.";
                     CustomDialogResults objResults = obj.Show();
                 }
                 else
                 {
                     //Si el resultado es vacio quiere decir que se agregaron todos los comprobantes:
                     System.Windows.Forms.MessageBox.Show("Los documentos se agregaron a su respectiva comunicación de baja.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 actualizarGrilla();
             }
         }
     }
     catch (Exception ex)
     {
         clsBaseLog.cs_pxRegistarAdd("btnEnviarSunat " + ex.ToString());
     }
 }
예제 #22
0
        public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
        {
            if (ShowOkCancelResponders.Count == 0)
            {
                throw new ApplicationException("TestMessageBoxService ShowOkCancel method expects a Func<CustomDialogResults> callback \r\ndelegate to be enqueued for each Show call");
            }

            ShowOkCancelRequests.Add(new MessageBoxRequest {
                Message = message, Caption = caption, Icon = icon, DefaultResult = defaultResult
            });

            return(ShowOkCancelResponders.Dequeue()());
        }
예제 #23
0
 private void btnYes_Click(object sender, RoutedEventArgs e)
 {
     _enumCustomDialogResult = CustomDialogResults.Yes;
     this.DialogResult       = true;
 }
        private void btnValidar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string mensajeFinal     = string.Empty;
                string directorioActual = Directory.GetCurrentDirectory();

                XmlSchemaSet xmlSchemaSet = new XmlSchemaSet();
                //xmlSchemaSet.Add(null, "..\\..\\..\\Common\\Validation\\UBL-Invoice-2.1.xsd");
                xmlSchemaSet.Add(null, "..\\..\\..\\Common\\Validation\\UBL-CreditNote-2.1.xsd");

                Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
                openFileDialog.Multiselect = false;
                openFileDialog.Filter      = "XML de documentos|*.xml|Todos los archivos|*.*";
                openFileDialog.DefaultExt  = "*.xml";
                openFileDialog.Title       = "Selección de XML de documentos electrónicos";

                Nullable <bool> dialogOk = openFileDialog.ShowDialog();
                string          ruta     = string.Empty;

                if (dialogOk == true)
                {
                    ruta = openFileDialog.FileName;
                }

                XDocument document         = XDocument.Load(@ruta);
                bool      validationErrors = false;
                document.Validate(xmlSchemaSet, (s, ev) => { mensajeFinal = ev.Message; validationErrors = true; });

                if (validationErrors)
                {
                    mensajeFinal += mensajeFinal + "errores";
                }
                else
                {
                    mensajeFinal += mensajeFinal + "sin errores";
                }

                CustomDialogWindow customDialogWindow = new CustomDialogWindow();
                customDialogWindow.Buttons            = CustomDialogButtons.OK;
                customDialogWindow.Caption            = "Detalle";
                customDialogWindow.DefaultButton      = CustomDialogResults.OK;
                customDialogWindow.InstructionHeading = "Resultados de la descarga del documento(s)";
                customDialogWindow.InstructionIcon    = CustomDialogIcons.Information;
                customDialogWindow.InstructionText    = mensajeFinal;
                CustomDialogResults customDialogResults = customDialogWindow.Show();
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show($"No se ha podido realizar la inspección del documento mediante XSD, detalle del error{ex}",
                                               "Error inesperado", MessageBoxButton.OK, MessageBoxImage.Error);
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                data_Log = new Data_Log()
                {
                    DetalleError   = $"Detalle del error: {msg}",
                    Comentario     = "Error al enviar el documento a sunat desde la interfaz",
                    IdUser_Empresa = data_Usuario.IdUser_Empresa
                };
                data_Log.Create_Log();
            }
        }
예제 #25
0
        public CustomDialogResults Show()
        {
            var objTrace = new StackTrace();
            if (_strCallingReflectedTypeName.Length == 0)
                _strCallingReflectedTypeName = objTrace.GetFrame(1).GetMethod().ReflectedType.Name;

            if (_strCallingMethodName.Length == 0)
                _strCallingMethodName = objTrace.GetFrame(1).GetMethod().Name;

            if (_strCallingModuleName.Length == 0)
                _strCallingModuleName = objTrace.GetFrame(1).GetMethod().Module.Name;

            var obj = new CustomDialogWindow();

            if (InstructionIcon == CustomDialogIcons.None)
                obj.imgInstructionIcon.Visibility = Visibility.Collapsed;

            else
                obj.imgInstructionIcon.Source = new BitmapImage(GetIcon(InstructionIcon));

            obj.tbInstructionText.Text = InstructionText;

            obj.tbInstructionHeading.Text = InstructionHeading;

            if(AdditionalDetailsText.Length > 0)
                obj.tbAdditionalDetailsText.Text = AdditionalDetailsText;
            else
                obj.expAdditionalDetails.Visibility = Visibility.Collapsed;

            SetButtons(obj);

            obj.ShowInTaskbar = false;

            obj.ShowDialog();
            _enumCustomDialogResult = obj.CustomDialogResult;

            LogDialog();

            return _enumCustomDialogResult;
        }
 /// <summary>
 /// Displays a Yes/No dialog with a default button selected, and returns the user input.
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>User selection.</returns>
 public CustomDialogResults ShowYesNo(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
 {
     return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNo, defaultResult);
 }
예제 #27
0
 /// <summary>
 /// Displays a OK/Cancel dialog with a default result selected, and returns the user input.
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>User selection.</returns>
 public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
 {
     return(ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.OKCancel, defaultResult));
 }
 /// <summary>
 /// Displays a OK/Cancel dialog with a default result selected, and returns the user input.
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>User selection.</returns>
 public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
 {
     return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.OKCancel, defaultResult);
 }
예제 #29
0
        /// <summary>
        /// Shows a standard System.Windows.MessageBox using the parameters requested
        /// but will return a translated result to enable adhere to the IMessageBoxService
        /// implementation required.
        ///
        /// This abstraction allows for different frameworks to use the same ViewModels but supply
        /// alternative implementations of core service interfaces
        /// </summary>
        /// <param name="message">The message to be displayed.</param>
        /// <param name="caption">The caption of the message box window</param>
        /// <param name="icon">The icon to be displayed.</param>
        /// <param name="button"></param>
        /// <param name="defaultResult">Default result for the message box</param>
        /// <returns>CustomDialogResults results to use</returns>
        private CustomDialogResults ShowQuestionWithButton(string message, string caption,
                                                           CustomDialogIcons icon, CustomDialogButtons button, CustomDialogResults defaultResult)
        {
            MessageBoxResult result = MessageBox.Show(message, caption,
                                                      GetButton(button), GetImage(icon), GetResult(defaultResult));

            return(GetResult(result));
        }
        public CustomDialogResults Show()
        {
            //get the calling code information
            System.Diagnostics.StackTrace objTrace = new System.Diagnostics.StackTrace();
            if (_strCallingReflectedTypeName.Length == 0)
            {
                _strCallingReflectedTypeName = objTrace.GetFrame(1).GetMethod().ReflectedType.Name;
            }

            if (_strCallingMethodName.Length == 0)
            {
                _strCallingMethodName = objTrace.GetFrame(1).GetMethod().Name;
            }

            if (_strCallingModuleName.Length == 0)
            {
                _strCallingModuleName = objTrace.GetFrame(1).GetMethod().Module.Name;
            }

            CustomDialog obj = new CustomDialog(this.ButtonsDisabledDelay);

            obj.tbCaption.Text = Caption;
            obj.Title          = Caption;
            if (this.FooterText.Length > 0)
            {
                obj.tbFooterText.Text = this.FooterText;

                if (this.FooterIcon != CustomDialogIcons.None)
                {
                    obj.imgFooterIcon.Source = new BitmapImage(GetIcon(this.FooterIcon));
                }
                else
                {
                    obj.imgFooterIcon.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                obj.tbFooterText.Visibility  = Visibility.Collapsed;
                obj.imgFooterIcon.Visibility = Visibility.Collapsed;
            }

            if (this.InstructionIcon == CustomDialogIcons.None)
            {
                obj.imgInstructionIcon.Visibility = Visibility.Collapsed;
            }
            else
            {
                obj.imgInstructionIcon.Source = new BitmapImage(GetIcon(this.InstructionIcon));
            }

            obj.tbInstructionText.Text = this.InstructionText;

            obj.tbInstructionHeading.Text = this.InstructionHeading;

            if (this.AdditionalDetailsText.Length > 0)
            {
                obj.tbAdditionalDetailsText.Text = this.AdditionalDetailsText;
            }
            else
            {
                obj.expAdditionalDetails.Visibility = Visibility.Collapsed;
            }

            SetButtons(obj);

            obj.ShowInTaskbar = true;

            obj.ShowDialog();
            _enumCustomDialogResult = obj.CustomDialogResult;

            LogDialog();

            return(_enumCustomDialogResult);
        }
예제 #31
0
 /// <summary>
 /// Displays a OK/Cancel dialog with a default button selected, and returns the user input.
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>User selection.</returns>
 public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
 {
     if (ShowOkCancelResponders.Count == 0)
     {
         throw new ApplicationException(
                   "TestMessageBoxService ShowOkCancel method expects a Func<CustomDialogResults> callback \r\n" +
                   "delegate to be enqueued for each Show call");
     }
     else
     {
         Func <CustomDialogResults> responder = ShowOkCancelResponders.Dequeue();
         return(responder());
     }
 }
 /// <summary>
 /// Shows a standard System.Windows.MessageBox using the parameters requested
 /// but will return a translated result to enable adhere to the IMessageBoxService
 /// implementation required. 
 /// 
 /// This abstraction allows for different frameworks to use the same ViewModels but supply
 /// alternative implementations of core service interfaces
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="button"></param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>CustomDialogResults results to use</returns>
 private CustomDialogResults ShowQuestionWithButton(string message, string caption,
     CustomDialogIcons icon, CustomDialogButtons button, CustomDialogResults defaultResult)
 {
     MessageBoxResult result = MessageBox.Show(message, caption,
         GetButton(button), GetImage(icon), GetResult(defaultResult));
     return GetResult(result);
 }
        //Evento de consulta de ticket.
        private void btnTicket_Click(object sender, RoutedEventArgs e)
        {
            string no_procesados          = "";
            int    cantidad_seleccionados = 0;

            try
            {
                //Recorrer la lista para obtener los elementos seleccionados.
                List <ReporteResumen> seleccionados = new List <ReporteResumen>();
                foreach (var item in lista_reporte)
                {
                    //Recorrer la lista de items
                    if (item.Check == true)
                    {
                        cantidad_seleccionados++;
                        if ((item.EstadoSunatCodigo == "5" || item.EstadoSunatCodigo == "4" || item.EstadoSunatCodigo == "2") && item.Ticket != "")
                        {
                            seleccionados.Add(item);
                        }
                        else
                        {
                            no_procesados += item.Archivo + "\n";
                        }
                    }
                }

                if (cantidad_seleccionados > 0)
                {
                    if (no_procesados.Length > 0)
                    {
                        System.Windows.MessageBox.Show("Los siguientes resumenes de reversion no seran procesados. Verifique ticket de consulta. \n" + no_procesados);
                    }
                    if (seleccionados.Count() > 0)
                    {
                        string resultado            = string.Empty;
                        ProgressDialogResult result = ProgressWindow.Execute(VentanaPrincipal, "Procesando...", () => {
                            resultado = consultaTicket(seleccionados);
                        });

                        refrescarGrilla();

                        if (resultado.Trim().Length > 0)
                        {
                            CustomDialogWindow obj = new CustomDialogWindow();
                            obj.AdditionalDetailsText = "Los siguientes comprobantes se consultaron correctamente:\n" + resultado;
                            obj.Buttons       = CustomDialogButtons.OK;
                            obj.Caption       = "Mensaje";
                            obj.DefaultButton = CustomDialogResults.OK;
                            // obj.FooterIcon = CustomDialogIcons.Shield;
                            // obj.FooterText = "This is a secure program";
                            obj.InstructionHeading = "Documentos consultados ";
                            obj.InstructionIcon    = CustomDialogIcons.Information;
                            obj.InstructionText    = "Los tickets de los documentos enviados fueron consultados correctamente.";
                            CustomDialogResults objResults = obj.Show();
                        }
                    }
                    //Si existen elementos no procesados
                }
                else
                {
                    System.Windows.MessageBox.Show("Seleccione los items a procesar.");
                }
            }
            catch (Exception ex)
            {
                clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
                clsBaseLog.cs_pxRegistarAdd("EnvioRA" + ex.ToString());
            }
        }
예제 #34
0
        //Evento de envio de comprobantes a resumen diario
        private void btnEnviarAResumen_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string no_procesado = String.Empty;
                //Recorrer la grilla para buscar los elementos seleccionados
                List <string> seleccionados = new List <string>();
                int           numero        = 0;
                //int ComprobanteSinEstado = 0;
                //int ComprobanteDeBaja = 0;
                foreach (var item in lista_reporte)
                {
                    if (item.Check == true)
                    {
                        numero++;
                        if (item.ResumenDiario.Trim() == "")
                        {
                            seleccionados.Add(item.Id);
                        }
                        else
                        {
                            no_procesado += item.SerieNumero + "\n";
                        }

                        //if (item.EstadoSunat == "DE BAJA") { ComprobanteDeBaja++; }
                        //else { ComprobanteSinEstado++; }
                    }
                }

                //if (ComprobanteDeBaja==0 || ComprobanteSinEstado==0)
                //{
                if (numero > 0)
                {
                    if (no_procesado.Trim().Length > 0)
                    {
                        CustomDialogWindow obj = new CustomDialogWindow();
                        obj.AdditionalDetailsText = "El listado de comprobantes no agregados es el siguiente:\n" + no_procesado;
                        obj.Buttons       = CustomDialogButtons.OK;
                        obj.Caption       = "Mensaje";
                        obj.DefaultButton = CustomDialogResults.OK;
                        // obj.FooterIcon = CustomDialogIcons.Shield;
                        // obj.FooterText = "This is a secure program";
                        obj.InstructionHeading = "Documentos no procesados";
                        obj.InstructionIcon    = CustomDialogIcons.Information;
                        obj.InstructionText    = "Algunos documentos seleccionados no se procesaran debido a que ya fueron agregados a un resumen diario. Si es sustitutorio / rectificatorio debe liberarlos para poder agregarlos al resumen.";
                        CustomDialogResults objResults = obj.Show();
                    }
                    //Si existen seleccionados a procesar
                    if (seleccionados.Count() > 0)
                    {
                        //Confirmacion para agregar.
                        if (System.Windows.Forms.MessageBox.Show("¿Está seguro que desea enviar a resumen diario los documentos seleccionados?", "¿Está seguro?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                        {
                            string resultado            = string.Empty;
                            ProgressDialogResult result = ProgressWindow.Execute(padre, "Procesando...", () => {
                                resultado = SendItemToRc(seleccionados);
                            });
                            if (resultado.Trim().Length > 0)
                            {
                                CustomDialogWindow obj = new CustomDialogWindow();
                                obj.AdditionalDetailsText = "Los comprobantes no agregados son los siguientes:\n" + resultado;
                                obj.Buttons       = CustomDialogButtons.OK;
                                obj.Caption       = "Mensaje";
                                obj.DefaultButton = CustomDialogResults.OK;
                                // obj.FooterIcon = CustomDialogIcons.Shield;
                                // obj.FooterText = "This is a secure program";
                                obj.InstructionHeading = "Documentos no agregados";
                                obj.InstructionIcon    = CustomDialogIcons.Information;
                                obj.InstructionText    = "Algunos documentos no se agregaron a resumen diario. Verifique la fecha de emision no mayor a 7 dias.";
                                CustomDialogResults objResults = obj.Show();
                            }
                            else
                            {
                                System.Windows.Forms.MessageBox.Show("Todos los documentos se agregaron a su respectivo resumen diario.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }

                            actualizarGrid();
                        }
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Debe seleccionar un item.", "Mensaje", System.Windows.Forms.MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                //}
                //else
                //{
                //    System.Windows.Forms.MessageBox.Show("Debe seleccionar documentos con el mismo estado de SUNAT", "Mensaje", System.Windows.Forms.MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //}
            }
            catch (Exception ex)
            {
                clsBaseMensaje.cs_pxMsgEr("ERR15", ex.Message);
                clsBaseLog.cs_pxRegistarAdd("Enviar comprobantes a resumen diario" + ex.Message);
            }
        }
 /// <summary>
 ///     Displays a Yes/No dialog with a default button selected, and returns the user input.
 /// </summary>
 /// <param name="message">The message to be displayed.</param>
 /// <param name="caption">The caption of the message box window</param>
 /// <param name="icon">The icon to be displayed.</param>
 /// <param name="defaultResult">Default result for the message box</param>
 /// <returns>User selection.</returns>
 public CustomDialogResults ShowYesNo(string message, string caption, CustomDialogIcons icon,
                                      CustomDialogResults defaultResult)
 {
     return(showQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNo, defaultResult));
 }
        private void btnGenerar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string no_procesados = string.Empty;
                //Recorrer las grilla para obtener los elementos seleccionados.
                List <string> seleccionados = new List <string>();
                foreach (var item in lista_reporte)
                {
                    if (item.Check == true)
                    {
                        if (item.Reversion == "")
                        {
                            seleccionados.Add(item.Id);
                        }
                        else
                        {
                            no_procesados += item.SerieNumero + "\n";
                        }
                    }
                }
                if (no_procesados.Trim().Length > 0)
                {
                    System.Windows.Forms.MessageBox.Show("Los siguientes comprobantes no sera procesados. Ya fueron agregados a resumen de reversión\n" + no_procesados, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                if (seleccionados.Count > 0)
                {
                    //Confirmacion para enviar a comunicacion de baja los documentos seleccionados.
                    if (System.Windows.Forms.MessageBox.Show("¿Está seguro que desea enviar a resumen de reversión los documentos seleccionados?", "¿Está seguro?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        string resultado            = string.Empty;
                        ProgressDialogResult result = ProgressWindow.Execute(ventanaPrincipal, "Procesando...", () => {
                            resultado = ProcesarReversion(seleccionados);
                        });
                        if (resultado.Trim().Length > 0)
                        { //Se agregaron
                            CustomDialogWindow obj = new CustomDialogWindow();
                            obj.AdditionalDetailsText = "Los comprobantes no agregados son los siguientes:\n" + resultado;
                            obj.Buttons       = CustomDialogButtons.OK;
                            obj.Caption       = "Mensaje";
                            obj.DefaultButton = CustomDialogResults.OK;
                            // obj.FooterIcon = CustomDialogIcons.Shield;
                            // obj.FooterText = "This is a secure program";
                            obj.InstructionHeading = "Documentos no agregados";
                            obj.InstructionIcon    = CustomDialogIcons.Information;
                            obj.InstructionText    = "Algunos documentos no se agregaron a su respectivo resumen de reversión. Verifique el archivo de errores.";
                            CustomDialogResults objResults = obj.Show();
                        }
                        else
                        {
                            System.Windows.Forms.MessageBox.Show("Los documentos se agregaron a su respectivo resumen de reversión.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            // System.Windows.Forms.MessageBox.Show("Ocurrio un error al procesar los documentos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        actualizarGrilla();
                    }
                }
            }
            catch (Exception ex)
            {
                clsBaseLog.cs_pxRegistarAdd("btnAgregar " + ex.ToString());
            }
        }