コード例 #1
0
ファイル: FormBuscarOrden.cs プロジェクト: game8149/MinLab
        private void InicializarTablaOrden()
        {
            bindingSourceOrden  = new BindingSource();
            DGVOrden.DataSource = bindingSourceOrden;

            ComboEstado.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().EstadoOrden, null);
            ComboEstado.DisplayMember = "Value";
            ComboEstado.ValueMember   = "Key";

            tablaOrden = new DataTable("Ordenes");
            // Configuracion de Tablas

            tablaOrden.Columns.Add("Id", typeof(int));
            tablaOrden.Columns.Add("Dni", typeof(string));
            tablaOrden.Columns.Add("Fecha", typeof(string));

            //ID DATA
            this.DGVOrden.Columns[0].Visible          = false;
            this.DGVOrden.Columns[0].ReadOnly         = true;
            this.DGVOrden.Columns[0].DataPropertyName = "Id";
            //DNI
            this.DGVOrden.Columns[1].ReadOnly         = true;
            this.DGVOrden.Columns[1].Resizable        = DataGridViewTriState.False;
            this.DGVOrden.Columns[1].DataPropertyName = "Dni";
            //NOMBRE
            this.DGVOrden.Columns[2].ReadOnly         = true;
            this.DGVOrden.Columns[2].Resizable        = DataGridViewTriState.False;
            this.DGVOrden.Columns[2].DataPropertyName = "Fecha";

            bindingSourceOrden.DataSource = tablaOrden;
            this.DGVOrden.SelectionMode   = DataGridViewSelectionMode.FullRowSelect;

            this.DGVOrden.SelectionChanged += DGVOrden_SelectionChanged;
        }
コード例 #2
0
ファイル: ControlExamen.cs プロジェクト: game8149/MinLab
        private void CargarDatosEnDGVOrden()
        {
            LogicaOrden    enlaceOrden    = new LogicaOrden();
            LogicaPaciente enlacePaciente = new LogicaPaciente();

            ordenes = enlaceOrden.ObtenerOrdenesByFechaByEstado(PickerInit.Value, PickerEnd.Value, (EstadoOrden)ComboEstado.SelectedIndex);
            tabla.Clear();
            this.SuspendLayout();
            DGVOrden.SuspendLayout();
            foreach (Orden orden in ordenes.Values)
            {
                DataRow  row = tabla.NewRow();
                Paciente pac = enlacePaciente.ObtenerPerfilPorId(orden.IdPaciente);
                row[0] = orden.IdData;                                                                                                                            //Orden Detalle
                row[1] = pac.Dni;
                row[2] = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(pac.Nombre + " " + pac.PrimerApellido + " " + pac.SegundoApellido); //Examen
                row[3] = enlaceOrden.ObtenerDescripcion(orden);
                row[4] = orden.FechaRegistro;
                row[5] = orden.Boleta;
                row[6] = DiccionarioGeneral.GetInstance().EstadoOrden[Convert.ToInt32(orden.Estado)];
                tabla.Rows.Add(row);
            }
            this.DGVOrden.ClearSelection();
            DGVOrden.ResumeLayout(false);
            this.ResumeLayout(false);
        }
コード例 #3
0
ファイル: PanelPerfil.cs プロジェクト: game8149/MinLab
        public void CargarDatos()
        {
            CampNombre.Text   = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(perfil.Nombre + " " + perfil.PrimerApellido + " " + perfil.SegundoApellido);
            CampDni.Text      = perfil.Dni;
            CampHistoria.Text = perfil.Historia;
            CampSexo.Text     = DiccionarioGeneral.GetInstance().TipoSexo[(int)perfil.Sexo];
            Tiempo tiempo = DiccionarioGeneral.GetInstance().CalcularEdad(perfil.FechaNacimiento);

            CampEdad.Text      = DiccionarioGeneral.GetInstance().FormatoEdad(tiempo);
            CampDireccion.Text = perfil.Direccion;
            CampUbicacion.Text = Locaciones.GetInstance().GetDistrito(perfil.IdDistrito).Nombre + ", " + Locaciones.GetInstance().GetDistrito(perfil.IdDistrito).Sectores[perfil.IdSector].Nombre;
            RellenarOrdenes();
        }
コード例 #4
0
ファイル: BLOrden.cs プロジェクト: game8149/MinLab
        public Dictionary <int, Dictionary <int, int> > ObtenerReporteCantidadMensual(int año, int mes, int idMedico)
        {
            DataOrden enlaceOrden = new DataOrden();
            /// 3 diccionarios INDEXDOS por cada cobertura
            Dictionary <int, Dictionary <int, int> > porCobertura = new Dictionary <int, Dictionary <int, int> >();

            foreach (int cobertura in DiccionarioGeneral.GetInstance().TipoCobertura.Keys)
            {
                porCobertura.Add(cobertura, enlaceOrden.GetReporteCantidadFromDB(cobertura, año, mes, idMedico));
            }

            return(porCobertura);
        }
コード例 #5
0
        private System.Data.DataTable ObtenerTablaFormatoDatosReporteResultado(int ano, int mes)
        {
            BLTarifario enlace = new BLTarifario();
            Tarifario   tar    = enlace.ObtenerTarifario();

            System.Data.DataTable tablaInterna = new System.Data.DataTable();
            try
            {
                LogicaOrden     enlaceOrden = new LogicaOrden();
                List <object[]> resultados  = enlaceOrden.ObtenerReporteResultado(ano, mes);

                tablaInterna.Columns.Add("dni", typeof(string));
                tablaInterna.Columns.Add("nombre", typeof(string));
                tablaInterna.Columns.Add("apellido1", typeof(string));
                tablaInterna.Columns.Add("apellido2", typeof(string));
                tablaInterna.Columns.Add("edad", typeof(double));
                tablaInterna.Columns.Add("sexo", typeof(string));
                tablaInterna.Columns.Add("gestante", typeof(string));
                tablaInterna.Columns.Add("Examen", typeof(string));
                tablaInterna.Columns.Add("respuesta", typeof(string));
                tablaInterna.Columns.Add("nota", typeof(string));
                tablaInterna.Columns.Add("cobertura", typeof(string));
                tablaInterna.Columns.Add("estado", typeof(string));

                foreach (object[] obt in resultados)
                {
                    DataRow row = tablaInterna.NewRow();
                    row[0]  = obt[1].ToString();
                    row[1]  = obt[2].ToString();
                    row[2]  = obt[3].ToString();
                    row[3]  = obt[4].ToString();
                    row[4]  = obt[5];
                    row[5]  = DiccionarioGeneral.GetInstance().TipoSexo[(int)obt[6]];
                    row[6]  = Convert.ToBoolean(obt[7])?"SI":"NO";
                    row[7]  = Plantillas.GetInstance().GetPlantilla((int)obt[0]).Nombre;
                    row[8]  = obt[8].ToString().Replace('.', ',');
                    row[9]  = obt[9];
                    row[10] = DiccionarioGeneral.GetInstance().TipoCobertura[(int)obt[10]];
                    row[11] = DiccionarioGeneral.GetInstance().EstadoExamen[(int)obt[11]];

                    tablaInterna.Rows.Add(row);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(tablaInterna);
        }
コード例 #6
0
ファイル: FormModificarOrden.cs プロジェクト: game8149/MinLab
        public void InicializarDatosFormulario()
        {
            try
            {
                this.SuspendLayout();
                CampDireccion.Text = perfil.Direccion;
                CampDni.Text       = perfil.Dni;
                CampHistoria.Text  = perfil.Historia;
                CampSexo.Text      = DiccionarioGeneral.GetInstance().TipoSexo[(int)Perfil.Sexo];
                CampNombre.Text    = perfil.Nombre + " " + perfil.PrimerApellido + " " + perfil.SegundoApellido;
                CampBoleta.Text    = orden.Boleta;
                ComboBoxConsultorio.SelectedValue = orden.IdConsultorio;
                ComboBoxMedico.SelectedValue      = orden.IdMedico;
                CheckBoxGestante.Visible          = false;
                if (Perfil.Sexo == Sexo.Mujer)
                {
                    CheckBoxGestante.Visible = true;
                    CheckBoxGestante.Checked = orden.EnGestacion;
                }
                PickerTime.Text = orden.FechaRegistro.ToShortDateString();
                tabla.Clear();
                foreach (OrdenDetalle ordet in Orden.Detalle.Values)
                {
                    EntityLayer.Analisis p = ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(ordet.IdDataPaquete);
                    DataRow row            = tabla.NewRow();
                    row[0] = ordet.IdDataPaquete;
                    row[1] = p.Codigo;
                    row[2] = p.Nombre;
                    row[3] = ordet.Cobertura;
                    row[4] = ordet.IdData;

                    if (idUniqueRowCount < ordet.IdData)
                    {
                        idUniqueRowCount = ordet.IdData;
                    }
                    IndexExist.Add(ordet.IdData);
                    tabla.Rows.Add(row);
                }
                idUniqueRowCount++;
                this.ResumeLayout(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Advertencia");
                ComboExamen.Focus();
                ComboExamen.SelectedIndex = 0;
            }
        }
コード例 #7
0
ファイル: ControlReporte.cs プロジェクト: game8149/MinLab
        public ControlReporte()
        {
            InitializeComponent();

            ComboBoxMesEcono.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().Mes, null);
            ComboBoxMesEcono.DisplayMember = "Value";
            ComboBoxMesEcono.ValueMember   = "Key";


            ComboBoxMesResult.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().Mes, null);
            ComboBoxMesResult.DisplayMember = "Value";
            ComboBoxMesResult.ValueMember   = "Key";

            ComboBoxEcono.SelectedIndex  = 0;
            ComboBoxResult.SelectedIndex = 0;
        }
コード例 #8
0
        public PanelMedico()
        {
            InitializeComponent();

            isLoadingUI = true;
            InicializarTablaOrdenDetalle();
            limpiarCamps();

            this.SuspendLayout();
            ComboEstado.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().EstadoOrden, null);
            ComboEstado.DisplayMember = "Value";
            ComboEstado.ValueMember   = "Key";
            this.ResumeLayout(false);


            isLoadingUI = false;
        }
コード例 #9
0
ファイル: ControlExamen.cs プロジェクト: game8149/MinLab
        public ControlExamen()
        {
            isLoadingUI = true;
            InitializeComponent();
            tabla         = new DataTable("Examenes");
            bindingSource = new BindingSource();

            ComboEstado.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().EstadoOrden, null);
            ComboEstado.DisplayMember = "Value";
            ComboEstado.ValueMember   = "Key";

            InicializarComponenteTablaDGVOrden();

            DGVOrden.KeyPress    += DGVOrden_KeyPress;
            DGVOrden.DoubleClick += DGVOrden_DoubleClick;
            PickerInit.Value      = DateTime.Now;
            isLoadingUI           = false;
        }
コード例 #10
0
        public PanelModificarPaciente()
        {
            InitializeComponent();

            ComboSexo.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().TipoSexo, null);
            ComboSexo.DisplayMember = "Value";
            ComboSexo.ValueMember   = "Key";

            ComboBoxDistrito.DataSource    = new BindingSource(BLUbicacion.ObtenerListaDistritos(), null);
            ComboBoxDistrito.DisplayMember = "Value";
            ComboBoxDistrito.ValueMember   = "Key";

            ComboBoxDistrito.SelectionChangeCommitted += ComboBoxDistrito_SelectionChangeCommitted;

            CampDNI.KeyPress        += CampDNI_KeyPress;
            CampNombre.KeyUp        += CampNombre_KeyUp;
            Campapellido1erno.KeyUp += CampPrimerApellido_KeyUp;
            Campapellido2erno.KeyUp += CampSegundoApellido_KeyUp;
            CampHistoria.KeyUp      += CampHistoria_KeyUp;
            CampDireccion.KeyUp     += CampDireccion_KeyUp;
        }
コード例 #11
0
        private void CargarDatosEnDGVExamen(Orden orden)
        {
            LogicaOrden  enlaceOrden  = new LogicaOrden();
            LogicaExamen enlaceExamen = new LogicaExamen();

            DGVExamen.SuspendLayout();
            tabla.Clear();
            examenes = enlaceExamen.RecuperarExamenes(orden);

            foreach (Examen ex in examenes.Values)
            {
                DataRow row             = tabla.NewRow();
                String  nombrePaquete   = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToLower(ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(orden.Detalle[ex.IdOrdenDetalle].IdDataPaquete).Nombre));
                String  nombrePlantilla = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToLower(Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre));
                row[0] = (nombrePaquete == nombrePlantilla) ? nombrePaquete : (nombrePaquete + ":" + nombrePlantilla);
                row[1] = DiccionarioGeneral.GetInstance().EstadoExamen[(int)ex.Estado];
                row[2] = ex.IdData;//Examen
                tabla.Rows.Add(row);
            }
            DGVExamen.ResumeLayout(false);
        }
コード例 #12
0
        public void CargarDatos()
        {
            BLMedico bl     = new BLMedico();
            Medico   medico = bl.ObtenerMedico(orden.IdMedico);

            CampUbicacion.Text   = LogicaPaciente.FormatearUbicacion(perfil);
            CampDni.Text         = perfil.Dni;
            CampHistoria.Text    = perfil.Historia;
            CampNombre.Text      = perfil.Nombre + " " + perfil.PrimerApellido + " " + perfil.SegundoApellido;
            CampBoleta.Text      = orden.Boleta;
            CampSexo.Text        = DiccionarioGeneral.GetInstance().TipoSexo[(int)perfil.Sexo];
            CampMedico.Text      = medico.Nombre + " " + medico.PrimerApellido + " " + medico.SegundoApellido;
            CampConsultorio.Text = Consultorios.GetInstance().GetConsultorio(orden.IdConsultorio).Nombre;

            LabelGestacion.Visible = false;
            CampGestacion.Visible  = false;
            if (perfil.Sexo == Sexo.Mujer)
            {
                LabelGestacion.Visible = true;
                CampGestacion.Visible  = true;
                CampGestacion.Text     = orden.EnGestacion ? "Si" : "No";
            }

            PickerTime.Text = orden.FechaRegistro.ToShortDateString();
            tabla.Clear();
            foreach (OrdenDetalle ord in orden.Detalle.Values)
            {
                EntityLayer.Analisis p = ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(ord.IdDataPaquete);
                this.SuspendLayout();
                DataRow row = tabla.NewRow();
                row[0] = p.IdData;
                row[1] = p.Codigo;
                row[2] = p.Nombre;
                row[3] = ord.Cobertura;
                row[4] = idUniqueRowCount;
                idUniqueRowCount++;
                tabla.Rows.Add(row);
                this.ResumeLayout(false);
            }
        }
コード例 #13
0
ファイル: PanelNuevaOrden.cs プロジェクト: game8149/MinLab
        private void BtnBuscarPaciente_Click(object sender, EventArgs e)
        {
            FormBuscarPaciente formBuscarPaciente = new FormBuscarPaciente();

            formBuscarPaciente.ShowDialog();
            if (formBuscarPaciente.Perfil != null)
            {
                this.Perfil        = formBuscarPaciente.Perfil;
                CampDni.Text       = Perfil.Dni;
                CampHistoria.Text  = Perfil.Historia;
                CampNombre.Text    = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Perfil.Nombre + " " + Perfil.PrimerApellido + " " + Perfil.SegundoApellido);
                CampSexo.Text      = DiccionarioGeneral.GetInstance().TipoSexo[(int)Perfil.Sexo];
                CampUbicacion.Text = LogicaPaciente.FormatearUbicacion(Perfil);

                HabilitarFormulario();
                if (Perfil.Sexo == Sexo.Mujer)
                {
                    CheckBoxGestante.Visible = true;
                }
            }
            formBuscarPaciente.Dispose();
        }
コード例 #14
0
        public PanelCrearPaciente()
        {
            InitializeComponent();
            comboSexo.DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().TipoSexo, null);
            comboSexo.DisplayMember = "Value";
            comboSexo.ValueMember   = "Key";

            Dictionary <int, string> ex = BLUbicacion.ObtenerListaDistritos();

            ComboBoxDistrito.DataSource    = new BindingSource(ex, null);
            ComboBoxDistrito.DisplayMember = "Value";
            ComboBoxDistrito.ValueMember   = "Key";

            ComboBoxDistrito.SelectedValueChanged += ComboBoxDistrito_SelectedValueChanged;
            foreach (int key in ex.Keys)
            {
                ComboBoxDistrito.SelectedValue = key;
                break;
            }

            Dictionary <int, string> ex2 = BLUbicacion.ObtenerListaSectores((int)ComboBoxDistrito.SelectedValue);

            ComboBoxSector.DataSource    = new BindingSource(ex2, null);
            ComboBoxSector.DisplayMember = "Value";
            ComboBoxSector.ValueMember   = "Key";
            foreach (int key in ex2.Keys)
            {
                ComboBoxSector.SelectedValue = key;
                break;
            }


            campDNI.KeyPress        += CampDNI_KeyPress;
            campNombre.KeyUp        += CampNombre_KeyUp;
            campapellido1erno.KeyUp += CampPrimerApellido_KeyUp;
            campapellido2erno.KeyUp += CampSegundoApellido_KeyUp;
            campHistoria.KeyUp      += CampHistoria_KeyUp;
            campDireccion.KeyUp     += CampDireccion_KeyUp;
        }
コード例 #15
0
        private void CargarPlantillaEnPanel(Examen examen)
        {
            LogicaCuenta oLCuenta  = new LogicaCuenta();
            Plantilla    plantilla = Plantillas.GetInstance().GetPlantilla(examen.IdPlantilla);

            CheckEstado.Checked = Convert.ToBoolean((int)examen.Estado);
            LabelExamen.Text    = Plantillas.GetInstance().Coleccion()[examen.IdPlantilla].Nombre;

            Cuenta account = oLCuenta.ObtenerCuenta(examen.IdCuenta);

            LabelUsuarioLast.Text = (account.Nombre + account.PrimerApellido).ToUpper() + " (" + account.Dni + ")";


            this.SuspendLayout();
            List <ExamenEditorFila> filas = new List <ExamenEditorFila>();

            panelActual = new ExamenEditorContenedor(PanelExamen.Width - 10, PanelExamen.Height - 10);
            PanelExamen.SuspendLayout();

            ExamenEditorFila  filaForm  = null;
            ExamenEditorItem  itemForm  = null;
            ExamenEditorGrupo grupoForm = null;
            PlantillaItem     item;
            int posicion = 0;

            for (int indice = 0; indice < plantilla.Filas.Count; indice++)
            {
                if (PlantillaFila.PlantillaFilaTipo.Agrupada == plantilla.Filas[indice].Tipo)
                {
                    PlantillaFilaGrupo filaGrupo = (PlantillaFilaGrupo)plantilla.Filas[indice];
                    filaForm = new ExamenEditorFila(panelActual.Width - 10, 25);
                    filaForm.SuspendLayout();
                    filaForm.Tipo = ExamenEditorFila.TipoForm.Grupo;
                    grupoForm     = new ExamenEditorGrupo(filaForm.Width - 5, 0);
                    grupoForm.SuspendLayout();
                    grupoForm.Location = new Point(0, 0);
                    grupoForm.Nombre   = filaGrupo.Nombre;
                    List <ExamenEditorItem> items = new List <ExamenEditorItem>();
                    for (int j = 0; j < filaGrupo.Items.Count; j++)
                    {
                        item     = filaGrupo.Items[j];
                        itemForm = new ExamenEditorItem(grupoForm.Width - 20, 25, item.TieneUnidad);

                        itemForm.SuspendLayout();
                        itemForm.TabIndex = posicion;
                        posicion++;
                        itemForm.IdItem    = item.IdData;
                        itemForm.Nombre    = item.Nombre;
                        itemForm.TipoDato  = item.TipoDato;
                        itemForm.TipoCampo = item.TipoCampo;
                        if (item.TipoCampo == TipoCampo.Lista)
                        {
                            itemForm.Opciones = item.OpcionesByIndice;
                        }
                        else if (item.TipoCampo == TipoCampo.Texto)
                        {
                            filaForm.Height = 80;
                            itemForm.Height = 80;
                        }

                        if (item.TipoDato == TipoDato.Entero || item.TipoDato == TipoDato.Bool)
                        {
                            itemForm.RegEx = DiccionarioGeneral.GetInstance().Expression[(int)item.TipoDato];
                        }
                        if (item.TieneUnidad)
                        {
                            itemForm.Unidad = item.Unidad;
                        }
                        itemForm.Location = new Point(10, 20);
                        items.Add(itemForm);
                        itemForm.ResumeLayout(false);
                    }
                    grupoForm.Items = items;
                    filaForm.Grupo  = grupoForm;
                    filas.Add(filaForm);
                    grupoForm.ResumeLayout(false);
                    filaForm.ResumeLayout(false);
                }
                else
                {
                    item     = ((PlantillaFilaSimple)plantilla.Filas[indice]).Item;
                    filaForm = new ExamenEditorFila(panelActual.Width - 10, 25);
                    filaForm.SuspendLayout();
                    filaForm.Location = new Point(10, 10);
                    filaForm.Tipo     = ExamenEditorFila.TipoForm.Item;

                    itemForm = new ExamenEditorItem(filaForm.Width - 5, 25, item.TieneUnidad);

                    itemForm.SuspendLayout();
                    itemForm.Location = new Point(0, 0);
                    itemForm.IdItem   = item.IdData;
                    itemForm.Nombre   = item.Nombre;
                    itemForm.TabIndex = posicion;
                    posicion++;
                    itemForm.TipoCampo = item.TipoCampo;
                    itemForm.TipoDato  = item.TipoDato;
                    if (item.TipoCampo == TipoCampo.Lista)
                    {
                        itemForm.Opciones = item.OpcionesByIndice;
                    }
                    else if (item.TipoCampo == TipoCampo.Texto)
                    {
                        filaForm.Height = 80;
                        itemForm.Height = 80;
                    }
                    if (item.TieneUnidad)
                    {
                        itemForm.Unidad = item.Unidad;
                    }
                    filaForm.Item = itemForm;
                    filas.Add(filaForm);
                    itemForm.ResumeLayout(false);
                    filaForm.ResumeLayout(false);
                }
            }

            panelActual.Filas = filas;
            PanelExamen.Controls.Add(panelActual);
            PanelExamen.ResumeLayout(false);
            this.ResumeLayout(false);
        }
コード例 #16
0
 private void ActualizarDGVEstadoExamen()
 {
     DGVExamen.SuspendLayout();
     DGVExamen.Rows[indexRowSelected].Cells[1].Value = DiccionarioGeneral.GetInstance().EstadoExamen[(int)examenes[idExamenSelected].Estado];
     DGVExamen.ResumeLayout(false);
 }
コード例 #17
0
ファイル: PanelNuevaOrden.cs プロジェクト: game8149/MinLab
        private void InicializarTablaOrdenDetalle()
        {
            BLMedico      enlaceMedico      = new BLMedico();
            BLConsultorio enlaceConsultorio = new BLConsultorio();

            this.SuspendLayout();

            BtnEliminar.Visible = false;
            ComboExamen.Enabled = true;
            BtnAgregar.Enabled  = true;

            ComboExamen.AutoCompleteSource = AutoCompleteSource.ListItems;
            ComboExamen.DataSource         = new BindingSource(ControlSistemaInterno.ListaAnalisis.GetInstance().Coleccion, null);
            ComboExamen.DisplayMember      = "Value";
            ComboExamen.ValueMember        = "Key";

            ComboBoxConsultorio.DataSource    = new BindingSource(enlaceConsultorio.ObtenerLista(), null);
            ComboBoxConsultorio.DisplayMember = "Value";
            ComboBoxConsultorio.ValueMember   = "Key";

            ComboBoxMedico.DataSource    = new BindingSource(enlaceMedico.ObtenerListaHabil(), null);
            ComboBoxMedico.DisplayMember = "Value";
            ComboBoxMedico.ValueMember   = "Key";

            //CampFecha.Text = DateTime.Now.ToShortDateString();

            tabla.TableNewRow += Tabla_TableNewRow;
            tabla.RowDeleted  += Tabla_RowDeleted;
            // Configuracion de Tablas


            tabla.Columns.Add("id", typeof(int));
            tabla.Columns.Add("codigo", typeof(string));
            tabla.Columns.Add("nombre", typeof(string));
            tabla.Columns.Add("cobertura", typeof(object));
            tabla.Columns.Add("idUnique", typeof(int));

            this.dataGridView.Columns[0].DataPropertyName = "id";
            this.dataGridView.Columns[0].Visible          = false;
            this.dataGridView.Columns[0].ReadOnly         = true;

            this.dataGridView.Columns[1].DataPropertyName = "codigo";
            this.dataGridView.Columns[1].ReadOnly         = true;
            this.dataGridView.Columns[1].Resizable        = DataGridViewTriState.False;

            this.dataGridView.Columns[2].DataPropertyName = "nombre";
            this.dataGridView.Columns[2].ReadOnly         = true;
            this.dataGridView.Columns[2].Resizable        = DataGridViewTriState.False;
            this.dataGridView.Columns[2].HeaderText       = "Nombre";

            this.dataGridView.Columns[3].DataPropertyName = "cobertura";   // The DataTable column name.
            this.dataGridView.Columns[3].HeaderText       = "Cobertura";
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().TipoCobertura, null);
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).DisplayMember = "Value";
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).ValueMember   = "Key";
            this.dataGridView.Columns[3].Resizable = DataGridViewTriState.False;


            this.dataGridView.Columns[4].DataPropertyName = "idUnique";   // The DataTable column name.
            this.dataGridView.Columns[4].Visible          = false;
            this.dataGridView.Columns[4].ReadOnly         = true;


            bindingSource = new BindingSource();
            this.dataGridView.DataSource    = bindingSource;
            bindingSource.DataSource        = tabla;
            this.dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            this.dataGridView.RowsAdded    += DataGridView_RowsAdded;
            this.dataGridView.RowsRemoved  += DataGridView_RowsRemoved;
            this.ResumeLayout(false);
        }
コード例 #18
0
        private bool ExportarReporteResultadoGeneral(int year, int month, string @direccion)
        {
            ExcelPackage excel = null;
            string       @dir  = null;

            if (@direccion != null)
            {
                @dir = @direccion + "\\ReporteResultadoGeneral-" + DiccionarioGeneral.GetInstance().Mes[month - 1] + "-" + year + ".xlsx";
                if (File.Exists(@dir))
                {
                    File.Delete(@dir);
                }

                excel = new ExcelPackage(new FileInfo(@dir));

                ExcelWorksheet hojaActual = null;

                try
                {
                    Cuenta cuenta = SistemaControl.GetInstance().Sesion.Cuenta;

                    hojaActual = excel.Workbook.Worksheets.Add("Reporte Resultado General");
                    hojaActual.PrinterSettings.PaperSize   = ePaperSize.A4;
                    hojaActual.PrinterSettings.Orientation = eOrientation.Portrait;

                    //CABECERA INICIO
                    hojaActual.Cells["A3"].Value = "Responsable:";
                    hojaActual.Cells["A4"].Value = "Año:";
                    hojaActual.Cells["A5"].Value = "Mes:";
                    hojaActual.Cells["A2:A5"].Style.Font.Bold = true;


                    hojaActual.Cells["B2:E5"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                    hojaActual.Cells["B2:E5"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    hojaActual.Cells["B3:E3"].Merge = true;
                    hojaActual.Cells["B4:E4"].Merge = true;
                    hojaActual.Cells["B5:E5"].Merge = true;


                    hojaActual.Cells["B3:E3"].Value = cuenta.Nombre + " " + cuenta.PrimerApellido + " " + cuenta.SegundoApellido;
                    hojaActual.Cells["B4:E4"].Value = year;
                    hojaActual.Cells["B5:E5"].Value = DiccionarioGeneral.GetInstance().Mes[month - 1];


                    hojaActual.Cells[7, 1, 7, 12].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                    hojaActual.Cells[7, 1, 7, 12].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    hojaActual.Cells[7, 1].Value  = "DNI";
                    hojaActual.Cells[7, 2].Value  = "Nombre";
                    hojaActual.Cells[7, 3].Value  = "Prim. Apellido";
                    hojaActual.Cells[7, 4].Value  = "Seg. Apellido";
                    hojaActual.Cells[7, 5].Value  = "Edad";
                    hojaActual.Cells[7, 6].Value  = "Sexo";
                    hojaActual.Cells[7, 7].Value  = "Gestante";
                    hojaActual.Cells[7, 8].Value  = "Examen";
                    hojaActual.Cells[7, 9].Value  = "Resultado";
                    hojaActual.Cells[7, 10].Value = "Unidad";
                    hojaActual.Cells[7, 11].Value = "Cobertura";
                    hojaActual.Cells[7, 12].Value = "Estado";
                    //CABECERA FIN

                    //CUERPO INICIO
                    System.Data.DataTable tabla = ObtenerTablaFormatoDatosReporteResultado(year, month);
                    int i = 8, j;
                    foreach (DataRow r in tabla.Rows)
                    {
                        j = 1;
                        foreach (object o in r.ItemArray)
                        {
                            hojaActual.Cells[i, j].Value = o;
                            j++;
                        }
                        i++;
                    }

                    ExcelRange rangoTabla = hojaActual.Cells[7, 1, i - 1, 12];
                    rangoTabla.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                    rangoTabla.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    string nombreT = "TabGeneral";
                    hojaActual.Tables.Add(rangoTabla, nombreT);
                    hojaActual.Tables[nombreT].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;
                    excel.Save();
                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            return(false);
        }
コード例 #19
0
        private void InicializarTablaOrdenDetalle()
        {
            this.SuspendLayout();

            // Configuracion de Tablas


            tabla.Columns.Add("id", typeof(int));
            tabla.Columns.Add("codigo", typeof(string));
            tabla.Columns.Add("nombre", typeof(string));
            tabla.Columns.Add("cobertura", typeof(object));
            tabla.Columns.Add("idUnique", typeof(int));

            this.dataGridView.Columns[0].DataPropertyName = "id";
            this.dataGridView.Columns[0].Visible          = false;
            this.dataGridView.Columns[0].ReadOnly         = true;

            this.dataGridView.Columns[1].DataPropertyName = "codigo";
            this.dataGridView.Columns[1].ReadOnly         = true;
            this.dataGridView.Columns[1].Resizable        = DataGridViewTriState.False;
            this.dataGridView.Columns[2].DataPropertyName = "nombre";
            this.dataGridView.Columns[2].ReadOnly         = true;
            this.dataGridView.Columns[2].Resizable        = DataGridViewTriState.False;
            this.dataGridView.Columns[2].HeaderText       = "Nombre";

            this.dataGridView.Columns[3].DataPropertyName = "cobertura";   // The DataTable column name.
            this.dataGridView.Columns[3].HeaderText       = "Cobertura";
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).DataSource    = new BindingSource(DiccionarioGeneral.GetInstance().TipoCobertura, null);
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).DisplayMember = "Value";
            ((DataGridViewComboBoxColumn)this.dataGridView.Columns[3]).ValueMember   = "Key";
            this.dataGridView.Columns[3].Resizable = DataGridViewTriState.False;


            this.dataGridView.Columns[4].DataPropertyName = "idUnique";   // The DataTable column name.
            this.dataGridView.Columns[4].Visible          = false;
            this.dataGridView.Columns[4].ReadOnly         = true;
            this.dataGridView.Enabled = false;

            bindingSource = new BindingSource();
            this.dataGridView.DataSource    = bindingSource;
            bindingSource.DataSource        = tabla;
            this.dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            this.ResumeLayout(false);
        }
コード例 #20
0
        private bool ExportarReporteEconomicoMedico(int year, int month, string @direccion)
        {
            ExcelPackage excel = null;
            string       @dir  = null;

            if (@direccion != null)
            {
                @dir = @direccion + "\\ReporteMensualMedico-" + DiccionarioGeneral.GetInstance().Mes[month - 1] + "-" + year + ".xlsx";
                if (File.Exists(@dir))
                {
                    File.Delete(@dir);
                }

                excel = new ExcelPackage(new FileInfo(@dir));

                ExcelWorksheet hojaActual = null;

                try
                {
                    BLMedico blMed = new BLMedico();
                    Dictionary <int, Medico> dicMedicos = blMed.ObtenerMedicosHabil();
                    Cuenta cuenta = SistemaControl.GetInstance().Sesion.Cuenta;
                    foreach (int key in dicMedicos.Keys)
                    {
                        hojaActual = excel.Workbook.Worksheets.Add(BLMedico.FormatearNombre(dicMedicos[key]));
                        hojaActual.PrinterSettings.PaperSize   = ePaperSize.A4;
                        hojaActual.PrinterSettings.Orientation = eOrientation.Portrait;

                        //CABECERA INICIO
                        hojaActual.Cells["A2"].Value = "Profesional:";
                        hojaActual.Cells["A3"].Value = "Coleg./Especial:";
                        hojaActual.Cells["A4"].Value = "Año:";
                        hojaActual.Cells["A5"].Value = "Mes:";
                        hojaActual.Cells["A2:A5"].Style.Font.Bold = true;


                        hojaActual.Cells["B2:E5"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        hojaActual.Cells["B2:E5"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                        hojaActual.Cells["B2:E2"].Merge = true;
                        hojaActual.Cells["B3:E3"].Merge = true;
                        hojaActual.Cells["B4:E4"].Merge = true;
                        hojaActual.Cells["B5:E5"].Merge = true;


                        hojaActual.Cells["B2:E2"].Value = BLMedico.FormatearNombre(dicMedicos[key]);
                        hojaActual.Cells["B3:E3"].Value = dicMedicos[key].Colegiatura + "/" + dicMedicos[key].Especialidad;
                        hojaActual.Cells["B4:E4"].Value = year;
                        hojaActual.Cells["B5:E5"].Value = DiccionarioGeneral.GetInstance().Mes[month - 1];


                        hojaActual.Cells["A7:I7"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        hojaActual.Cells["A7:I7"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                        hojaActual.Cells[7, 1].Value  = "Codigo";
                        hojaActual.Cells[7, 2].Value  = "Examen";
                        hojaActual.Cells[7, 3].Value  = "Paricular";
                        hojaActual.Cells[7, 4].Value  = "Acum. Par";
                        hojaActual.Cells[7, 5].Value  = "SIS";
                        hojaActual.Cells[7, 6].Value  = "Acum SIS";
                        hojaActual.Cells[7, 7].Value  = "Exonerado";
                        hojaActual.Cells[7, 8].Value  = "Acum. Exo";
                        hojaActual.Cells[7, 9].Value  = "Unit.(S/.)";
                        hojaActual.Cells[7, 10].Value = "Total Mes(S/.)";
                        hojaActual.Cells[7, 11].Value = "Avance";
                        //CABECERA FIN

                        //CUERPO INICIO
                        System.Data.DataTable tabla = ObtenerTablaFormatoDatosReporteEconomicoMedico(year, month, key);
                        int i = 8, j;
                        foreach (DataRow r in tabla.Rows)
                        {
                            j = 1;
                            foreach (object o in r.ItemArray)
                            {
                                hojaActual.Cells[i, j].Value = o;
                                j++;
                            }
                            i++;
                        }

                        ExcelRange rangoTabla = hojaActual.Cells[7, 1, i - 1, 11];
                        rangoTabla.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                        rangoTabla.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                        string nombreT = "T" + BLMedico.FormatearNombre(dicMedicos[key]).Replace(' ', '_');
                        hojaActual.Tables.Add(rangoTabla, nombreT);
                        hojaActual.Tables[nombreT].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;


                        hojaActual.Cells[(i + 1), 2].Value  = "Examen";
                        hojaActual.Cells[(i + 1), 3].Value  = "Particular";
                        hojaActual.Cells[(i + 1), 4].Value  = "Acum. Par";
                        hojaActual.Cells[(i + 1), 5].Value  = "SIS";
                        hojaActual.Cells[(i + 1), 6].Value  = "Acum SIS";
                        hojaActual.Cells[(i + 1), 7].Value  = "Exonedado";
                        hojaActual.Cells[(i + 1), 8].Value  = "Acum. Exo";
                        hojaActual.Cells[(i + 1), 9].Value  = "Total Mes(S/.)";
                        hojaActual.Cells[(i + 1), 10].Value = "Avance";

                        hojaActual.Cells[(i + 2), 2].Value    = "Todos";
                        hojaActual.Cells[(i + 2), 3].Formula  = "=SUM(" + "C8:C" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 4].Formula  = "=SUM(" + "D8:D" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 5].Formula  = "=SUM(" + "E8:E" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 6].Formula  = "=SUM(" + "F8:F" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 7].Formula  = "=SUM(" + "G8:G" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 8].Formula  = "=SUM(" + "H8:H" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 9].Formula  = "=SUM(" + "J8:J" + (i - 1) + ")";
                        hojaActual.Cells[(i + 2), 10].Formula = "=SUM(" + "K8:K" + (i - 1) + ")";


                        ExcelRange rangoTablaTotal = hojaActual.Cells[i + 1, 2, (i + 2), 10];
                        rangoTablaTotal.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        rangoTablaTotal.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                        string nombreTo = "TTotal" + BLMedico.FormatearNombre(dicMedicos[key]).Replace(' ', '_');
                        hojaActual.Tables.Add(rangoTablaTotal, nombreTo);
                        hojaActual.Tables[nombreTo].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;
                    }


                    excel.Save();
                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            return(false);
        }
コード例 #21
0
        private bool ExportarReporteEconomicoEdad(int year, int month, string @direccion)
        {
            ExcelPackage excel = null;
            string       @dir  = null;

            if (@direccion != null)
            {
                DateTime first = DateTime.Now;

                @dir = @direccion + "\\ReporteMensualGrupoEtareo-" + DiccionarioGeneral.GetInstance().Mes[month - 1] + "-" + year + ".xlsx";
                if (File.Exists(@dir))
                {
                    File.Delete(@dir);
                }

                excel = new ExcelPackage(new FileInfo(@dir));

                ExcelWorksheet hojaActual = null;

                try
                {
                    Cuenta cuenta = SistemaControl.GetInstance().Sesion.Cuenta;

                    foreach (int cobertura in DiccionarioGeneral.GetInstance().TipoCobertura.Keys)
                    {
                        hojaActual = excel.Workbook.Worksheets.Add(DiccionarioGeneral.GetInstance().TipoCobertura[cobertura]);
                        hojaActual.PrinterSettings.PaperSize   = ePaperSize.A4;
                        hojaActual.PrinterSettings.Orientation = eOrientation.Landscape;


                        //CABECERA INICIO
                        hojaActual.Cells["A3"].Value = "Responsable:";
                        hojaActual.Cells["A4"].Value = "Año:";
                        hojaActual.Cells["A5"].Value = "Mes:";
                        hojaActual.Cells["A6"].Value = "Cobertura:";
                        hojaActual.Cells["A3:A6"].Style.Font.Bold = true;


                        hojaActual.Cells["B3:E6"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        hojaActual.Cells["B3:E6"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;


                        hojaActual.Cells["B3:E3"].Merge = true;
                        hojaActual.Cells["B4:E4"].Merge = true;
                        hojaActual.Cells["B5:E5"].Merge = true;
                        hojaActual.Cells["B6:E6"].Merge = true;

                        hojaActual.Cells["B3:E3"].Value = cuenta.Nombre + " " + cuenta.PrimerApellido + " " + cuenta.SegundoApellido;
                        hojaActual.Cells["B4:E4"].Value = year;
                        hojaActual.Cells["B5:E5"].Value = DiccionarioGeneral.GetInstance().Mes[month - 1];
                        hojaActual.Cells["B6:E6"].Value = DiccionarioGeneral.GetInstance().TipoCobertura[cobertura];


                        int it = 4;

                        hojaActual.Cells["A8"].Value = "ID";
                        hojaActual.Cells["B8"].Value = "Examen";
                        hojaActual.Cells["C8"].Value = "< 1 año";

                        for (; it <= 19 + 3; it++)
                        {
                            hojaActual.Cells[8, it].Value = it - 3 + " años";
                        }

                        for (int ni = 20; ni < 76; ni += 5, it++)
                        {
                            hojaActual.Cells[8, it].Value = ni + " - " + (ni + 4) + " años";
                        }

                        hojaActual.Cells[8, it].Value = "> 80 años";

                        hojaActual.Cells[8, 1, 8, it].Style.Font.Bold           = true;
                        hojaActual.Cells[8, 1, 8, it].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        hojaActual.Cells[8, 1, 8, it].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;


                        //CABECERA FIN

                        //CUERPO INICIO
                        System.Data.DataTable tabla = ObtenerTablaFormatoReporteEdad(year, month, cobertura);
                        int i = 9, j;
                        foreach (DataRow row in tabla.Rows)
                        {
                            j = 1;
                            foreach (object o in row.ItemArray)
                            {
                                hojaActual.Cells[i, j].Value = o;
                                j++;
                            }
                            i++;
                        }
                        ExcelRange rangoTabla = hojaActual.Cells[8, 1, i - 1, it];
                        rangoTabla.Style.Font.Bold           = true;
                        rangoTabla.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                        rangoTabla.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;


                        string nombreT = "T" + DiccionarioGeneral.GetInstance().TipoCobertura[cobertura].Replace(' ', '_') + DiccionarioGeneral.GetInstance().TipoCobertura[cobertura].Replace(' ', '_');
                        hojaActual.Tables.Add(rangoTabla, nombreT);
                        hojaActual.Tables[nombreT].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;
                    }

                    excel.Save();

                    DateTime second = DateTime.Now;
                    TimeSpan r      = (second - first);
                    //MessageBox.Show(r.Milliseconds.ToString());
                    return(true);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            return(false);
        }
コード例 #22
0
        private bool GenerarExcelReporteEconomicoGeneral(int year, int month, string @direccion)
        {
            ExcelPackage excel = null;
            string       @dir  = null;

            if (@direccion != null)
            {
                @dir = @direccion + "\\ReporteEconomicoGeneral-" + DiccionarioGeneral.GetInstance().Mes[month - 1] + "-" + year + ".xlsx";
                if (File.Exists(@dir))
                {
                    File.Delete(@dir);
                }

                excel = new ExcelPackage(new FileInfo(@dir));

                ExcelWorksheet hojaActual = null;

                try
                {
                    Cuenta cuenta = SistemaControl.GetInstance().Sesion.Cuenta;

                    System.Data.DataTable tabla = ObtenerTablaFormatoReporteEconomicoGeneral(year, month);


                    hojaActual = excel.Workbook.Worksheets.Add("Reporte General");
                    hojaActual.PrinterSettings.PaperSize   = ePaperSize.A4;
                    hojaActual.PrinterSettings.Orientation = eOrientation.Portrait;

                    //CABECERA INICIO
                    hojaActual.Cells["A3"].Value = "Responsable:";
                    hojaActual.Cells["A4"].Value = "Año:";
                    hojaActual.Cells["A5"].Value = "Mes:";
                    hojaActual.Cells["A2:A5"].Style.Font.Bold = true;


                    hojaActual.Cells["B2:E5"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                    hojaActual.Cells["B2:E5"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    hojaActual.Cells["B3:E3"].Merge = true;
                    hojaActual.Cells["B4:E4"].Merge = true;
                    hojaActual.Cells["B5:E5"].Merge = true;


                    hojaActual.Cells["B3:E3"].Value = cuenta.Nombre + " " + cuenta.PrimerApellido + " " + cuenta.SegundoApellido;
                    hojaActual.Cells["B4:E4"].Value = year;
                    hojaActual.Cells["B5:E5"].Value = DiccionarioGeneral.GetInstance().Mes[month - 1];


                    hojaActual.Cells[7, 1, 7, 11].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Left;
                    hojaActual.Cells["A7:J7"].Style.VerticalAlignment       = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    hojaActual.Cells[7, 1].Value  = "Codigo";
                    hojaActual.Cells[7, 2].Value  = "Examen";
                    hojaActual.Cells[7, 3].Value  = "Particular";
                    hojaActual.Cells[7, 4].Value  = "Acum. Par";
                    hojaActual.Cells[7, 5].Value  = "SIS";
                    hojaActual.Cells[7, 6].Value  = "Acum. SIS";
                    hojaActual.Cells[7, 7].Value  = "Exonerado";
                    hojaActual.Cells[7, 8].Value  = "Acum. Exo";
                    hojaActual.Cells[7, 9].Value  = "Unit.(S/.)";
                    hojaActual.Cells[7, 10].Value = "Total Mes(S/.)";
                    hojaActual.Cells[7, 11].Value = "Avance";
                    //CABECERA FIN

                    //CUERPO INICIO
                    int i = 8, j;
                    foreach (DataRow r in tabla.Rows)
                    {
                        j = 1;
                        foreach (object o in r.ItemArray)
                        {
                            hojaActual.Cells[i, j].Value = o;
                            j++;
                        }
                        i++;
                    }

                    ExcelRange rangoTabla = hojaActual.Cells[7, 1, i - 1, 11];
                    rangoTabla.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                    rangoTabla.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    string nombreT        = "TabGeneral";
                    hojaActual.Tables.Add(rangoTabla, nombreT);
                    hojaActual.Tables[nombreT].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;


                    hojaActual.Cells[(i + 1), 2].Value  = "Examen";
                    hojaActual.Cells[(i + 1), 3].Value  = "Particular";
                    hojaActual.Cells[(i + 1), 4].Value  = "Acum. Par";
                    hojaActual.Cells[(i + 1), 5].Value  = "SIS";
                    hojaActual.Cells[(i + 1), 6].Value  = "Acum SIS";
                    hojaActual.Cells[(i + 1), 7].Value  = "Exonerado";
                    hojaActual.Cells[(i + 1), 8].Value  = "Acum. Exo";
                    hojaActual.Cells[(i + 1), 10].Value = "Total Mes(S/.)";
                    hojaActual.Cells[(i + 1), 11].Value = "Avance";

                    hojaActual.Cells[(i + 2), 2].Value    = "Todos";
                    hojaActual.Cells[(i + 2), 3].Formula  = "=SUM(" + "C8:C" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 4].Formula  = "=SUM(" + "D8:D" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 5].Formula  = "=SUM(" + "E8:E" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 6].Formula  = "=SUM(" + "F8:F" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 7].Formula  = "=SUM(" + "G8:G" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 8].Formula  = "=SUM(" + "H8:H" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 9].Formula  = "=SUM(" + "J8:J" + (i - 1) + ")";
                    hojaActual.Cells[(i + 2), 10].Formula = "=SUM(" + "K8:K" + (i - 1) + ")";


                    ExcelRange rangoTablaTotal = hojaActual.Cells[i + 1, 2, (i + 2), 11];
                    rangoTablaTotal.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                    rangoTablaTotal.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

                    string nombreTo = "TTotal";
                    hojaActual.Tables.Add(rangoTablaTotal, nombreTo);
                    hojaActual.Tables[nombreTo].TableStyle = OfficeOpenXml.Table.TableStyles.Light9;

                    excel.Save();
                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            return(false);
        }
コード例 #23
0
        public FormatoImpresion CrearAllDocumento(Dictionary <int, Examen> examenes, Orden orden, float tamañoFuente, Size tamañoPag)
        {
            LogicaPaciente   oLPaciente   = new LogicaPaciente();
            Clasificador     clasificador = new Clasificador();
            FormatoImpresion formato;

            tamañoPag.Height = tamañoPag.Height / 2;
            tamañoPag.Width  = tamañoPag.Width / 2;
            Paciente paciente = oLPaciente.ObtenerPerfilPorId(orden.IdPaciente);

            int      idLastResponsable = 0;
            DateTime tempTime          = DateTime.MinValue;

            foreach (Examen ex in examenes.Values)
            {
                Area area = (Area)Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Area;
                repositorio[area].Add(ex.IdData);
                if (ex.UltimaModificacion >= tempTime)
                {
                    tempTime          = ex.UltimaModificacion;
                    idLastResponsable = ex.IdCuenta;
                }
            }


            //CONSTRUCCION DE CABECERA
            formato = new FormatoImpresion();
            FormatoImpresionCabecera cab = new FormatoImpresionCabecera();
            Dictionary <int, FormatoImpresionPagina> paginas = new Dictionary <int, FormatoImpresionPagina>();
            LogicaCuenta oLCuenta = new LogicaCuenta();
            BLMedico     oLMedico = new BLMedico();
            Medico       med      = oLMedico.ObtenerMedico(orden.IdMedico);
            Cuenta       cu       = oLCuenta.ObtenerCuenta(idLastResponsable);
            Tiempo       tiempo   = DiccionarioGeneral.GetInstance().CalcularEdad(paciente.FechaNacimiento);

            cab.Edad     = DiccionarioGeneral.GetInstance().FormatoEdad(tiempo);
            cab.Orden    = "No " + orden.IdData;
            cab.Nombre   = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((paciente.Nombre + " " + paciente.PrimerApellido + " " + paciente.SegundoApellido));
            cab.Historia = paciente.Historia;

            cab.Responsable  = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((cu.Nombre + " " + cu.PrimerApellido + " " + cu.SegundoApellido + " - " + cu.Especialidad));
            cab.Doctor       = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((med.Nombre + " " + med.PrimerApellido + " " + med.SegundoApellido));
            cab.UltimaRev    = (tempTime.ToShortDateString());
            formato.Cabecera = cab;

            Dictionary <int, FormatoImpresionPaginaLinea> lineas = null;
            FormatoImpresionPagina      pagina = null;
            FormatoImpresionPaginaLinea linea  = null;
            int indexLinea = 0;

            foreach (Area key in repositorio.Keys)
            {
                if (repositorio[key].Count > 0)
                {
                    pagina          = new FormatoImpresionPagina();
                    lineas          = new Dictionary <int, FormatoImpresionPaginaLinea>();
                    pagina.Detalles = lineas;
                    indexLinea      = 0;
                    //CONSTRUCCION DE PAGINAS

                    linea           = new FormatoImpresionPaginaLinea();
                    linea.Nombre    = "LABORATORIO DE " + DiccionarioGeneral.GetInstance().Area[(int)key];
                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloArea;

                    lineas.Add(indexLinea, linea);
                    indexLinea++;


                    foreach (int idEx in repositorio[key])
                    {
                        Examen ex = examenes[idEx];
                        linea           = new FormatoImpresionPaginaLinea();
                        linea.Nombre    = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre;
                        linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloExamen;
                        lineas.Add(indexLinea, linea);
                        indexLinea++;

                        Dictionary <int, PlantillaFila> plantillaFila = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Filas;
                        for (int i = 0; i < plantillaFila.Count; i++)
                        {
                            switch (plantillaFila[i].Tipo)
                            {
                            case PlantillaFila.PlantillaFilaTipo.Agrupada:

                                PlantillaFilaGrupo filaGrupo = (PlantillaFilaGrupo)plantillaFila[i];
                                linea           = new FormatoImpresionPaginaLinea();
                                linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloGrupo;
                                linea.Nombre    = filaGrupo.Nombre;

                                lineas.Add(indexLinea, linea);
                                indexLinea++;

                                if (filaGrupo.IdData == 4)    //Para el grupo especial Medicina // Luego se puede mejorar Agregando un elemento deseado incorporandolo
                                {
                                    foreach (PlantillaItem itemG in filaGrupo.Items.Values)
                                    {
                                        linea           = new FormatoImpresionPaginaLinea();
                                        linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                        linea.Nombre    = " * " + itemG.Nombre;
                                        int indice = Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo);
                                        if (indice != 0)
                                        {
                                            linea.Resultado = itemG.OpcionesByIndice[indice];
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                        }
                                    }
                                }
                                else
                                {
                                    foreach (PlantillaItem itemG in filaGrupo.Items.Values)
                                    {
                                        switch (itemG.TipoCampo)
                                        {
                                        case TipoCampo.Input:
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                            linea.Nombre    = " * " + itemG.Nombre;
                                            linea.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString();
                                            if (itemG.TieneUnidad)
                                            {
                                                linea.Resultado += itemG.Unidad;
                                            }
                                            linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[itemG.IdData]);
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                            break;

                                        case TipoCampo.Lista:
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                            linea.Nombre    = " * " + itemG.Nombre;
                                            linea.Resultado = itemG.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo)];
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                            break;

                                        case TipoCampo.Texto:
                                            if (!ex.DetallesByItem[itemG.IdData].Campo.Equals(""))
                                            {
                                                linea           = new FormatoImpresionPaginaLinea();
                                                linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                                linea.Nombre    = " * " + itemG.Nombre;
                                                string        temp  = "";
                                                List <string> lista = ConstructorFicha.AcoplarTexto(linea.Nombre + ": " + ex.DetallesByItem[itemG.IdData].Campo.ToString(), "Futura Bk BT", 7.5f, (double)tamañoPag.Width);
                                                for (int ind = 0; ind < lista.Count; ind++)
                                                {
                                                    linea           = new FormatoImpresionPaginaLinea();
                                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemTexto;

                                                    if (itemG.TieneUnidad && indexLinea + 1 == lista.Count)
                                                    {
                                                        temp += itemG.Unidad;
                                                    }
                                                    linea.Resultado = lista[ind];

                                                    lineas.Add(indexLinea, linea);
                                                    indexLinea++;
                                                }
                                            }
                                            break;
                                        }
                                    }
                                }
                                break;

                            case PlantillaFila.PlantillaFilaTipo.Simple:
                                PlantillaItem item = ((PlantillaFilaSimple)plantillaFila[i]).Item;
                                switch (item.TipoCampo)
                                {
                                case TipoCampo.Input:
                                    linea           = new FormatoImpresionPaginaLinea();
                                    linea.Nombre    = item.Nombre;
                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                    linea.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString();
                                    if (item.TieneUnidad)
                                    {
                                        linea.Resultado += "  " + item.Unidad;
                                    }
                                    switch (item.TipoDato)
                                    {
                                    case TipoDato.Entero:
                                        linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[item.IdData]);
                                        break;

                                    case TipoDato.Decimal:
                                        linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[item.IdData]);
                                        break;
                                    }

                                    lineas.Add(indexLinea, linea);
                                    indexLinea++;
                                    break;

                                case TipoCampo.Lista:

                                    linea           = new FormatoImpresionPaginaLinea();
                                    linea.Nombre    = item.Nombre;
                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                    linea.Resultado = item.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[item.IdData].Campo)];
                                    lineas.Add(indexLinea, linea);
                                    indexLinea++;
                                    break;

                                case TipoCampo.Texto:
                                    if (!ex.DetallesByItem[item.IdData].Campo.Equals(""))
                                    {
                                        linea        = new FormatoImpresionPaginaLinea();
                                        linea.Nombre = item.Nombre;
                                        string        temp  = "";
                                        List <string> lista = ConstructorFicha.AcoplarTexto(linea.Nombre + ": " + ex.DetallesByItem[item.IdData].Campo, "Futura Bk BT", 7.5f, (double)tamañoPag.Width);

                                        for (int ind = 0; ind < lista.Count; ind++)
                                        {
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemTexto;

                                            if (item.TieneUnidad && ind + 1 == lista.Count)
                                            {
                                                temp += item.Unidad;
                                            }
                                            linea.Resultado = lista[ind];

                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                        }
                                    }
                                    break;
                                }
                                break;
                            }
                        }
                    }
                    formato.Paginas.Add(pagina);
                }
            }
            return(formato);
        }