Esempio n. 1
0
        private void CargarPlantilla()
        {
            try
            {
                var diccionario = new Dictionary <string, string>();
                diccionario.Add("<<encabezado1>>", encabezado1);
                diccionario.Add("<<encabezado2>>", encabezado2);
                diccionario.Add("<<encabezado3>>", "Atención de Interno");
                diccionario.Add("<<expediente>>", string.Format("{0}/{1}", SelectedAtencionCita.ID_ANIO, selectedAtencionCita.ID_IMPUTADO));
                var imputado = SelectedAtencionCita.INGRESO.IMPUTADO;
                diccionario.Add("<<nombre>>", string.Format("{0} {1} {2}", imputado.NOMBRE.Trim(), !string.IsNullOrEmpty(imputado.PATERNO) ? imputado.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(imputado.MATERNO) ? imputado.MATERNO.Trim() : string.Empty));
                var documento = new cImputadoTipoDocumento().Obtener((short)enumTipoDocumentoImputado.ATENCION_INTERNO);
                if (documento == null)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "No se encontro la plantilla del documento");
                    return;
                }

                var d = new cWord().FillFieldsDocx(documento.DOCUMENTO, diccionario);
                //var ib = selectedAtencionCita.INGRESO.INGRESO_BIOMETRICO.Where(w => w.ID_TIPO_BIOMETRICO == (short)enumTipoBiometrico.FOTO_FRENTE_SEGUIMIENTO).FirstOrDefault();
                //var d = new cWord().FillFields(Parametro.PLANTILLA_ATENCION_INTERNO, diccionario);//.FillFields(Parametro.PLANTILLA_ATENCION_INTERNO, diccionario, logo1, logo2, ib.BIOMETRICO);
                Editor.Load(d, BinaryStreamType.WordprocessingML);
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar reporte de atención recibida", ex);
            }
        }
Esempio n. 2
0
        private async void ClickSwitch(object parametro)
        {
            if (parametro != null && !string.IsNullOrWhiteSpace(parametro.ToString()))
            {
                switch (parametro.ToString())
                {
                case "filtro_interconsultas":
                    if (!IsFechaIniBusquedaSolValida)
                    {
                        new Dialogos().ConfirmacionDialogo("Validación", "La fecha de inicio tiene que ser menor a la fecha fin!");
                        return;
                    }
                    await StaticSourcesViewModel.CargarDatosMetodoAsync(() =>
                    {
                        BuscarSolicitudesInterconsulta(selectedAtencion_TipoBuscarValue == -1 ? (short?)null : selectedAtencion_TipoBuscarValue, anioBuscarInter, folioBuscarInter,
                                                       nombreBuscarInter, apellidoPaternoBuscarInter, apellidoMaternoBuscarInter, null,
                                                       fechaInicialBuscarInter, fechaFinalBuscarInter, true);
                    });

                    break;

                case "seleccionar_interconsulta":
                    if (selectedInterconsultaBusqueda == null)
                    {
                        new Dialogos().ConfirmacionDialogo("Validación", "Debe de seleccionar una solicitud de interconsulta");
                        return;
                    }
                    await CargarReporte();

                    if (documento == null)
                    {
                        new Dialogos().ConfirmacionDialogo("Validación", "No se encontro la plantilla del documento");
                        return;
                    }

                    var tc = new TextControlView();
                    tc.Closed += (s, e) =>
                    {
                        PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    };
                    tc.editor.Loaded += (s, e) =>
                    {
                        var d = new cWord().FillFieldsDocx(documento.DOCUMENTO, diccionario_reporte);
                        //DOCX
                        tc.editor.EditMode = TXTextControl.EditMode.ReadOnly;
                        TXTextControl.LoadSettings _settings = new TXTextControl.LoadSettings();
                        tc.editor.Load(d, TXTextControl.BinaryStreamType.WordprocessingML, _settings);
                        //aqui se mueve el margen del documento, el txttextcontrol maneja como unidad de medida 1/96 de la pulgada, y piensa que el word le esta mandando 40ums solamente, menos de la pulgada.
                        tc.editor.PageMargins.Left  = 100;
                        tc.editor.PageMargins.Right = 100;
                    };
                    PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                    tc.Owner = PopUpsViewModels.MainWindow;
                    tc.Show();

                    break;
                }
            }
        }
        private void ImprimirCitatorioInterno()
        {
            try
            {
                if (SelectIncidentesCumplimentar == null)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Favor de seleccionar una sanción");
                    return;
                }

                var documento = new cImputadoTipoDocumento().Obtener((short)enumTipoDocumentoImputado.CITATORIO_INTERNO);
                if (documento == null)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "No se encontro la plantilla del documento");
                    return;
                }

                if (documento.DOCUMENTO == null)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "No se encontro la plantilla del documento");
                    return;
                }

                var diccionario = new Dictionary <string, string>();
                diccionario.Add("<<encabezado1>>", Parametro.ENCABEZADO1);
                diccionario.Add("<<encabezado2>>", Parametro.ENCABEZADO2);
                var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                diccionario.Add("<<centro>>", centro.DESCR.Trim());
                var hoy = Fechas.GetFechaDateServer;
                diccionario.Add("<<horas>>", hoy.ToString("hh:mm"));
                diccionario.Add("<<dia>>", hoy.Day.ToString());
                CultureInfo cultura = new CultureInfo("es-MX");
                diccionario.Add("<<mes>>", cultura.DateTimeFormat.GetMonthName(hoy.Month));
                diccionario.Add("<<anio>>", hoy.Year.ToString());
                diccionario.Add("<<interno>>", string.Format("{0} {1} {2}",
                                                             SelectIncidentesCumplimentar.Nombre.Trim(),
                                                             !string.IsNullOrEmpty(SelectIncidentesCumplimentar.Paterno) ? SelectIncidentesCumplimentar.Paterno.Trim() : string.Empty,
                                                             !string.IsNullOrEmpty(SelectIncidentesCumplimentar.Materno) ? SelectIncidentesCumplimentar.Materno.Trim() : string.Empty));
                diccionario.Add("<<motivo>>", SelectIncidentesCumplimentar.Motivo.Trim());
                diccionario.Add("<<fracciones>>", "   ");
                diccionario.Add("<<firma_policia>>", "   ");
                diccionario.Add("<<signado>>", "   ");
                var docto = new cWord().FillFieldsDocx(documento.DOCUMENTO, diccionario);
                var tc    = new TextControlView();
                PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                tc.editor.Loaded += (s, e) =>
                {
                    try
                    {
                        switch (documento.ID_FORMATO)
                        {
                        case 1:    //DOCX
                            tc.editor.Load(docto, TXTextControl.BinaryStreamType.WordprocessingML);
                            break;

                        case 3:    //PDF
                            tc.editor.Load(docto, TXTextControl.BinaryStreamType.AdobePDF);
                            break;

                        case 4:    //DOCX
                            tc.editor.Load(docto, TXTextControl.BinaryStreamType.WordprocessingML);
                            break;

                        default:
                            new Dialogos().ConfirmacionDialogo("Notificación!", "Formato de archivo no válido");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al mostrar el documento", ex);
                    }
                };
                tc.Owner   = PopUpsViewModels.MainWindow;
                tc.Closed += (s, e) => { PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO); };
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                tc.Show();
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar datos", ex);
            }
        }
        private void VerDocumento()
        {
            //if (SelectedImputadoDocumento != null)
            if (SelectIngreso == null)
            {
                new Dialogos().ConfirmacionDialogo("Validación", "Favor de guardar antes de imprimir");
                return;
            }
            else
            {
                if (SelectIngreso.ID_ANIO == 0 && SelectIngreso.ID_IMPUTADO == 0 && SelectIngreso.ID_INGRESO == 0)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Favor de guardar antes de imprimir");
                    return;
                }
            }
            if (SelectIngreso != null)
            {
                //SelectIngreso = new cIngreso().Obtener(SelectIngreso.ID_CENTRO, SelectIngreso.ID_ANIO, SelectIngreso.ID_IMPUTADO, SelectIngreso.ID_INGRESO);
                var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault();
                //CARGAMOS DE NUEVO PARA MOSTRAR LA INFORMACION ACTUALIZADA
                SelectedImputadoDocumento = (new cImputadoDocumento()).Obtener(SelectIngreso.ID_CENTRO, SelectIngreso.ID_ANIO, SelectIngreso.ID_IMPUTADO, SelectIngreso.ID_INGRESO, (short)enumTipoDocumentoImputado.SALA_CABOS);
                if (SelectedImputadoDocumento == null)
                {
                    #region Reporte
                    ReporteIngreso reporte = new ReporteIngreso();
                    reporte.Nombre = string.Format("{0} {1} {2}", SelectIngreso.IMPUTADO.NOMBRE.Trim(),
                                                   !string.IsNullOrEmpty(SelectIngreso.IMPUTADO.PATERNO) ? SelectIngreso.IMPUTADO.PATERNO.Trim() : string.Empty,
                                                   !string.IsNullOrEmpty(SelectIngreso.IMPUTADO.MATERNO) ? SelectIngreso.IMPUTADO.MATERNO.Trim() : string.Empty);
                    reporte.Alias = " ";
                    if (SelectIngreso.IMPUTADO.ALIAS != null)
                    {
                        string alias = string.Empty;
                        foreach (var a in SelectIngreso.IMPUTADO.ALIAS)
                        {
                            if (!string.IsNullOrEmpty(alias))
                            {
                                alias = string.Format("{0},", alias);
                            }
                            alias = alias + string.Format("{0} {1} {2}", a.NOMBRE.Trim(),
                                                          !string.IsNullOrEmpty(a.PATERNO) ? a.PATERNO.Trim() : string.Empty,
                                                          !string.IsNullOrEmpty(a.MATERNO) ? a.MATERNO.Trim() : string.Empty);
                        }
                    }
                    reporte.Apodo = " ";
                    if (SelectIngreso.IMPUTADO.APODO != null)
                    {
                        string apodos = string.Empty;
                        foreach (var a in SelectIngreso.IMPUTADO.APODO)
                        {
                            if (!string.IsNullOrEmpty(apodos))
                            {
                                apodos = string.Format("{0},", apodos);
                            }
                            apodos = apodos + a.APODO1.Trim();
                        }
                    }
                    //reporte.EstadoCivil = Imputado.ESTADO_CIVIL != null ? Imputado.ESTADO_CIVIL.DESCR : " ";
                    reporte.EstadoCivil   = SelectIngreso.ESTADO_CIVIL != null ? SelectIngreso.ESTADO_CIVIL.DESCR : " ";
                    reporte.Conyugue      = " ";
                    reporte.Originario    = " ";
                    reporte.FecNacimiento = " ";
                    //reporte.Escolaridad = Imputado.ESCOLARIDAD != null ? Imputado.ESCOLARIDAD.DESCR : " ";
                    reporte.Escolaridad = SelectIngreso.ESCOLARIDAD != null ? SelectIngreso.ESCOLARIDAD.DESCR : " ";

                    reporte.DomicilioActual = " ";//string.Format("{0} {1},{2},{3},{4}", Imputado.DOMICILIO_CALLE, Imputado.DOMICILIO_NUM_EXT, Imputado.COLONIA.DESCR, Imputado.COLONIA.MUNICIPIO.MUNICIPIO1, Imputado.COLONIA.MUNICIPIO.ENTIDAD.DESCR);
                    var fechas = new Fechas();
                    reporte.Edad = " ";
                    if (Imputado.NACIMIENTO_FECHA != null)
                    {
                        reporte.Edad = string.Format("{0} AÑOS", fechas.CalculaEdad(SelectIngreso.IMPUTADO.NACIMIENTO_FECHA));
                    }
                    //reporte.TiempoBC = (Imputado.RESIDENCIA_ANIOS != null ? string.Format("{0} AÑOS",Imputado.RESIDENCIA_ANIOS) : string.Empty) + (Imputado.RESIDENCIA_MESES != null ? string.Format(" {0} MESES",Imputado.RESIDENCIA_MESES) : string.Empty);
                    reporte.TiempoBC = (SelectIngreso.RESIDENCIA_ANIOS != null ? string.Format("{0} AÑOS", SelectIngreso.RESIDENCIA_ANIOS) : string.Empty) + (SelectIngreso.RESIDENCIAS_MESES != null ? string.Format(" {0} MESES", SelectIngreso.RESIDENCIAS_MESES) : string.Empty);
                    //reporte.Telefono = Imputado.TELEFONO != null ? Imputado.TELEFONO.ToString() : " ";
                    reporte.Telefono = SelectIngreso.TELEFONO != null?SelectIngreso.TELEFONO.ToString() : " ";

                    //reporte.Ocupacion = Imputado.OCUPACION != null ? Imputado.OCUPACION.DESCR : " ";
                    reporte.Ocupacion = SelectIngreso.OCUPACION != null ? SelectIngreso.OCUPACION.DESCR : " ";
                    //reporte.NombreMadre = string.Format("{0} {1} {2} {3}", Imputado.NOMBRE_MADRE, Imputado.PATERNO_MADRE, Imputado.MATERNO_MADRE, Imputado.MADRE_FINADO.Equals("S") ? "FINADO" : string.Empty);
                    //reporte.NombrePadre = string.Format("{0} {1} {2} {3}", Imputado.NOMBRE_PADRE, Imputado.PATERNO_PADRE, Imputado.MATERNO_PADRE, Imputado.PADRE_FINADO.Equals("S") ? "FINADO" : string.Empty);
                    reporte.NombreMadre = string.Format("{0} {1} {2} {3}",
                                                        Imputado.NOMBRE_MADRE.Trim(),
                                                        !string.IsNullOrEmpty(Imputado.PATERNO_MADRE) ? Imputado.PATERNO_MADRE.Trim() : string.Empty,
                                                        !string.IsNullOrEmpty(Imputado.MATERNO_MADRE) ? Imputado.MATERNO_MADRE.Trim() : string.Empty,
                                                        SelectIngreso.MADRE_FINADO.Equals("S") ? "FINADO" : string.Empty);
                    reporte.NombrePadre = string.Format("{0} {1} {2} {3}",
                                                        Imputado.NOMBRE_PADRE.Trim(),
                                                        !string.IsNullOrEmpty(Imputado.PATERNO_PADRE) ? Imputado.PATERNO_PADRE.Trim() : string.Empty,
                                                        !string.IsNullOrEmpty(Imputado.MATERNO_PADRE) ? Imputado.MATERNO_PADRE.Trim() : string.Empty,
                                                        SelectIngreso.PADRE_FINADO.Equals("S") ? "FINADO" : string.Empty);
                    reporte.DomicilioPadres = " ";

                    var diccionario = new Dictionary <string, string>();
                    diccionario.Add("<<nombre>>", reporte.Nombre);
                    diccionario.Add("<<alias>>", reporte.Alias);
                    diccionario.Add("<<apodo>>", reporte.Apodo);
                    diccionario.Add("<<estadoCivil>>", reporte.EstadoCivil);
                    diccionario.Add("<<edad>>", reporte.Edad);
                    diccionario.Add("<<conyugue>>", reporte.Conyugue);
                    diccionario.Add("<<originario>>", reporte.Originario);
                    diccionario.Add("<<fecNacimiento>>", reporte.FecNacimiento);
                    diccionario.Add("<<escolaridad>>", reporte.Escolaridad);
                    diccionario.Add("<<domicilioActual>>", reporte.DomicilioActual);
                    diccionario.Add("<<tiempoRadicacion>>", reporte.TiempoBC);
                    diccionario.Add("<<telefono>>", reporte.Telefono);
                    diccionario.Add("<<ocupacion>>", reporte.Ocupacion);
                    diccionario.Add("<<nombreMadre>>", reporte.NombreMadre);
                    diccionario.Add("<<nombrePadre>>", reporte.NombrePadre);
                    diccionario.Add("<<domicilioPadres>>", reporte.DomicilioPadres);
                    diccionario.Add("<<centro>>", centro.DESCR.Trim());

                    var documento = new cImputadoTipoDocumento().Obtener((short)enumTipoDocumentoImputado.SALA_CABOS);

                    var contenido = new cWord().FillFieldsDocx(documento.DOCUMENTO, diccionario);
                    #endregion
                    GuardarDocumento(contenido);
                    SelectedImputadoDocumento = (new cImputadoDocumento()).Obtener(SelectIngreso.ID_CENTRO, SelectIngreso.ID_ANIO, SelectIngreso.ID_IMPUTADO, SelectIngreso.ID_INGRESO, (short)enumTipoDocumentoImputado.SALA_CABOS);
                }
                #region comentado
                //if (docto != null)
                //    if (docto.Count > 0)
                //        SelectedImputadoDocumento = docto[0];

                //if (reporte != null)
                //{



                //Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
                //Document wordDoc = new Document();
                //var tmpFile = Path.GetTempFileName();
                //var tmpFileStream = File.OpenWrite(tmpFile);
                //tmpFileStream.Write(SelectedImputadoDocumento.DOCUMENTO, 0, SelectedImputadoDocumento.DOCUMENTO.Length);
                //tmpFileStream.Close();
                //wordDoc = wordApp.Documents.Add(tmpFile);
                //foreach (Field myMergeField in wordDoc.Fields)
                //{
                //    Range rngFieldCode = myMergeField.Code;
                //    String fieldText = rngFieldCode.Text;
                //    // ONLY GETTING THE MAILMERGE FIELDS
                //    if (fieldText.StartsWith(" MERGEFIELD"))
                //    {
                //        Int32 endMerge = fieldText.IndexOf("\\");
                //        Int32 fieldNameLength = fieldText.Length - endMerge;
                //        String fieldName = fieldText.Substring(11, endMerge - 11);
                //        fieldName = fieldName.Trim();

                //        switch (fieldName)
                //        {
                //            case "nombre":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Nombre);
                //                break;
                //            case "alias":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Alias);
                //                break;
                //            case "apodo":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Apodo);
                //                break;
                //            case "estadoCivil":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.EstadoCivil);
                //                break;
                //            case "edad":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Edad);
                //                break;
                //            case "conyugue":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Conyugue);
                //                break;
                //            case "originario":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Originario);
                //                break;
                //            case "fecNacimiento":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.FecNacimiento);
                //                break;
                //            case "escolaridad":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Escolaridad);
                //                break;
                //            case "domicilioActual":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.DomicilioActual);
                //                break;
                //            case "tiempoRadicacion":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.TiempoBC);
                //                break;
                //            case "telefono":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Telefono);
                //                break;
                //            case "ocupacion":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.Ocupacion);
                //                break;
                //            case "nombreMadre":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.NombreMadre);
                //                break;
                //            case "nombrePadre":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.NombrePadre);
                //                break;
                //            case "domicilioPadres":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(reporte.DomicilioPadres);
                //                break;
                //            case "centro":
                //                myMergeField.Select();
                //                wordApp.Selection.TypeText(centro.DESCR.Trim());
                //                break;
                //        }
                //    }
                //}
                //wordDoc.SaveAs(tmpFile, WdSaveFormat.wdFormatDocument97);
                //wordDoc.Close();
                //byte[] bytes = System.IO.File.ReadAllBytes(tmpFile);
                #endregion
                var v = new EditorView(SelectedImputadoDocumento, SelectedImputadoDocumento.DOCUMENTO);
                PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.OSCURECER_FONDO);
                v.Owner   = PopUpsViewModels.MainWindow;
                v.Closed += (s, e) => { PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.OSCURECER_FONDO); };
                v.Show();
                //}
            }
        }