Beispiel #1
0
        private void btnModificar_Click(object sender, EventArgs e)
        {


            try
            {
                int id = int.Parse(dgvEspecialidadesModificar.Rows[dgvEspecialidadesModificar.CurrentRow.Index].Cells[0].Value.ToString());

                esEditar = reposEspe.buscarPorId(id);

                tbEspecialidaModi.Text = esEditar.Descripcion;
                tbCostoModi.Text = esEditar.Canon.ToString();
               

                editar = true;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

             
           


        }
Beispiel #2
0
        private void btnAltaEspecialidad_Click(object sender, EventArgs e)
        {
            
            if(string.IsNullOrWhiteSpace(tbEspecialidadAlta.Text) == false && string.IsNullOrWhiteSpace(tbCostoAlta.Text) == false)
            {

                try
                {
                    clsEspecialidad es = new clsEspecialidad(tbEspecialidadAlta.Text, float.Parse(tbCostoAlta.Text));
                    reposEspe.Alta(es);
                    Actualizar();
                    tbCostoAlta.Clear();
                    tbEspecialidadAlta.Clear();
                    tbEspecialidadAlta.Focus();


                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                
            }
            else
            {
                MessageBox.Show("Debe llenar todos los campos para continuar", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
            }
            
            

        }
        public clsEspecialidad buscarPorId(int id)
        {
            clsEspecialidad esp = new clsEspecialidad();
            try
            {

                esp = (clsEspecialidad)manejaEspecialidad.buscaPorId(id);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return esp;
        }
Beispiel #4
0
 public IEntidad buscaPorId(int id)
 {
     DataTable aux = new DataTable();
     clsEspecialidad esp = new clsEspecialidad();
     try
     {
         aux = manager.consultar("select * from especialidad where id=" + id + "and activo=1");
         if (aux.Rows.Count != 0)
         {
             esp.Id = Convert.ToInt32(aux.Rows[0]["id"]);
             esp.Descripcion = aux.Rows[0]["descripcion"].ToString();
             esp.Canon = (float)Convert.ToDecimal(aux.Rows[0]["canon"]);
         }
        
        
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return esp;
 }
Beispiel #5
0
        public void ActualizarPrecio()
        {
            total = 0;
            totalDescuento = 0;

            List<clsTurno> turnoReporte = new List<clsTurno>();
            List<clsSobreturno> sobreTurnosReporte = new List<clsSobreturno>();

            clsTurno turn = new clsTurno();
            clsSobreturno sobreTarna = new clsSobreturno();


            foreach (DataGridViewRow row in dgvTurnosAPagar.Rows)
            {
                turn.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString());
                sobreTarna.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString());

                turn.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString());
                sobreTarna.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString());

                turn.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString());
                sobreTarna.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString());

                if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "Turno")
                {
                    turn = reposTurno.buscarPorId(turn.Id);
                    turnoReporte.Add(turn);     //Cargo una lista con los turnos a pagar.
                }
                else
                {
                    if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "SobreTurno")
                    {
                        sobreTarna = reposSobreTurno.buscarPorId(sobreTarna.Id);
                        sobreTurnosReporte.Add(sobreTarna);
                    }
                }
            }

            clsEspecialidad especiali = new clsEspecialidad();
            
            clsObraSocial obrita = reposObra.BuscarPorNombre(PacienteActual.ObraSocial);           


            foreach(clsTurno turnito in turnoReporte)
            {
                                
                clsTurno t = new clsTurno();                //Variable auxiliar de turno, es el turno en el que estoy ahora.

                t = reposTurno.buscarPorId(turnito.Id);       //Le asigno todos sus valores propios.

                string es = reposMedico.buscarPorId(t.IdMedico).Especialidad;   //le asigno a "es" la especialidad del medico de este turno

                especiali = reposEspe.BuscarPorNombre(es);          //busco todos los datos de esa especialidad por su nombre

                total += especiali.Canon;           //VOY SUMANDO MI TOTAL.

                
                List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>();

                obrasDelMed = reposObraPorMed.TodasObras(turnito.IdMedico);     //TRAIGO TODAS LAS OBRAS DEL MEDICO.


                //SI EL MEDICO TIENE OBRAS LE DESCUENTO, SINO NO.

                if (obrasDelMed.Count > 0)
                {
                    foreach (clsObraXMedico obritaDelMedico in obrasDelMed)
                    {
                        //SI LA HORA DEL MEDICO COINCIDE CON EL DEL PACIENTE SUMO AL DESCUENTO
                        if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == obrita.Nombre)      //SI EL MEDICO TIENE UNA OBRA IGUAL A LA DEL CLIENTE.
                        {
                            totalDescuento += obrita.Monto;             //cargo el valor que mi obra me va a descontar                     
                        }

                    }
                }
                
                       
                



                          
            }


            foreach (clsSobreturno sobrTurnito in sobreTurnosReporte)
            {
                clsSobreturno t = new clsSobreturno();                //Variable auxiliar de turno, es el turno en el que estoy ahora.

                t = reposSobreTurno.buscarPorId(sobrTurnito.Id);       //Le asigno todos sus valores propios.

                string es = reposMedico.buscarPorId(t.IdMedico).Especialidad;   //le asigno a "es" la especialidad del medico de este turno

                especiali = reposEspe.BuscarPorNombre(es);          //busco todos los datos de esa especialidad por su nombre

                total += especiali.Canon;       //SUMO A LA TOTALIDAD



                List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>();

                obrasDelMed = reposObraPorMed.TodasObras(sobrTurnito.IdMedico);     //TRAIGO TODAS LAS OBRAS DEL MEDICO.

                if (obrasDelMed.Count > 0)
                {
                    foreach (clsObraXMedico obritaDelMedico in obrasDelMed)
                    {
                        //SI LA HORA DEL MEDICO COINCIDE CON EL DEL PACIENTE SUMO AL DESCUENTO
                        if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == obrita.Nombre)      //SI EL MEDICO TIENE UNA OBRA IGUAL A LA DEL CLIENTE.
                        {
                            totalDescuento += obrita.Monto;             //cargo el valor que mi obra me va a descontar                     
                        }

                    }
                }

             
            }

            //SI EL TOTAL MENOS EL MONTO ES MAYOR A 0 SE LO ASIGNO, SINO ES 0

            if((total - totalDescuento) > 0)
            {
                total = (total - totalDescuento); 
            }
            else
            {
                total = 0;
            }



            lblTotal.Text = total.ToString();
            lblDescuento.Text = totalDescuento.ToString();
            tbCantidadTarjeta.Text = total.ToString();
        }
Beispiel #6
0
        private void btnPagar_Click(object sender, EventArgs e)
        {        
          
            //creo una lista de turno y otra de sobre para separar a los seleccionados por el usuario
            // y asignarle sus ids al recibo.

            List<clsTurno> turnoReporte = new List<clsTurno>();
            List<clsSobreturno> sobreTurnosReporte = new List<clsSobreturno>();

            clsTurno turn = new clsTurno();
            clsSobreturno sobreTarna = new clsSobreturno();

            if (dgvTurnosAPagar.Rows.Count > 0)
            {
                if (string.IsNullOrWhiteSpace(cbTipoFactura.Text) == false && string.IsNullOrWhiteSpace(tbCliente.Text) == false && string.IsNullOrWhiteSpace(tbCuit.Text) == false && string.IsNullOrWhiteSpace(tbDireccion.Text) == false && tbCuit.Text.Length == 11)
                {
                    if (float.Parse(tbCantidadTarjeta.Text.ToString()) == 0 || float.Parse(tbCantidadTarjeta.Text.ToString()) > 100)
                    {

                        if ((float.Parse(tbCantidadTarjeta.Text.ToString()) + float.Parse(tbCantidadEfectivo.Text.ToString())) < total)
                        {
                            if (cbTipoFactura.Text == "A")
                            {
                                //LISTA DE RECIBOS A DAR DE ALTA.
                                List<clsRecibo> listaRecibosAInsertar = new List<clsRecibo>();

                                //LISTA DE ID'S DE TURNOS A SER ACTUALIZADOS.
                                List<int> idsDeTurnosAActualizar = new List<int>();

                                //LISTA DE ID'S DE SOBRETURNOS A SER ACTUALIZADOS.
                                List<int> idsDeSobreTurnosAActualizar = new List<int>();


                                if (string.IsNullOrWhiteSpace(tbCantidadEfectivo.Text))
                                {
                                    tbCantidadEfectivo.Text = "0";
                                }

                                foreach (DataGridViewRow row in dgvTurnosAPagar.Rows)
                                {
                                    turn.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString());
                                    sobreTarna.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString());

                                    turn.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString());
                                    sobreTarna.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString());

                                    turn.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString());
                                    sobreTarna.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString());

                                    if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "Turno")
                                    {
                                        turnoReporte.Add(turn);     //Cargo una lista con los turnos a pagar.
                                    }
                                    else
                                    {
                                        if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "SobreTurno")
                                        {
                                            sobreTurnosReporte.Add(sobreTarna);
                                        }
                                    }
                                }


                                List<clsRecibo> listaRecibos = new List<clsRecibo>();
                                clsRecibo recibo = new clsRecibo();
                                clsObraSocial obrita = new clsObraSocial();
                                clsEspecialidad especiali = new clsEspecialidad();
                                clsMedico med = new clsMedico();

                                //Creo la lista de recibos para turnos

                                foreach (clsTurno turnito in turnoReporte)
                                {
                                    recibo.IdFactura = reposFac.ultimoId().Id + 1;    //METODO QUE ME TRAE EL ULTIMO ID DE FACTURA    
                                    recibo.IdTurno = turnito.Id;
                                    recibo.IdSobreTurno = null;                    //SI TIENE TURNO, SOBRE TURNO ES NULL.
                                    recibo.Fecha = turnito.Fecha;

                                    List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>();

                                    obrasDelMed = reposObraPorMed.TodasObras(turnito.IdMedico);     //TRAIGO TODAS LAS OBRAS DEL MEDICO.

                                    foreach (clsObraXMedico obritaDelMedico in obrasDelMed)
                                    {
                                        if (PacienteActual.ObraSocial != null)   //PREGUNTO SI EL PACIENTE TIENE OBRA SOCIAL.
                                        {
                                            if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == PacienteActual.ObraSocial)
                                            {
                                                obrita = reposObra.BuscarPorNombre(PacienteActual.ObraSocial);   //METODO QUE ME RETORNA LA OBRA POR EL NOMBRE.
                                                recibo.Cobertura += obrita.Monto;
                                                totalDescuento += obrita.Monto;
                                            }
                                        }
                                        else
                                        {
                                            recibo.Cobertura = null;                //SI NO TIENE OBRA SOCIAL, NO TIENE COBERTURA.
                                        }
                                    }


                                    //CARGO EL MONTO DE LA CONSULTA.

                                    clsTurno t = new clsTurno();                //Variable auxiliar de turno, es el turno en el que estoy ahora.

                                    t = reposTurno.buscarPorId(turnito.Id);       //Le asigno todos sus valores propios.                            

                                    string es = reposMedico.buscarPorId(t.IdMedico).Especialidad;   //le asigno a "es" la especialidad del medico de este turno

                                    especiali = reposEspe.BuscarPorNombre(es);          //busco todos los datos de esa especialidad por su nombre

                                    recibo.Importe = especiali.Canon;               //Cargo el importe con el valor de la especialidad.

                                    recibo.Detalle = es;



                                    listaRecibosAInsertar.Add(recibo);          //Lista de recibos para ser dados de alta
                                    idsDeTurnosAActualizar.Add(turnito.Id);     //Lista de turnos para ser actualizadps.



                                }

                                //Creo la lista de recibos para sobreturnos

                                foreach (clsSobreturno sobrTurnito in sobreTurnosReporte)
                                {
                                    recibo.IdFactura = reposFac.ultimoId().Id + 1;    //METODO QUE ME TRAE EL ULTIMO ID DE FACTURA    
                                    recibo.IdTurno = null;                          //SI TIENE SOBRETURNO, TURNO ES NULL.
                                    recibo.IdSobreTurno = sobrTurnito.Id;
                                    recibo.Fecha = sobrTurnito.Fecha;

                                    List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>();

                                    obrasDelMed = reposObraPorMed.TodasObras(sobrTurnito.IdMedico);     //TRAIGO TODAS LAS OBRAS DEL MEDICO.

                                    foreach (clsObraXMedico obritaDelMedico in obrasDelMed)
                                    {
                                        if (PacienteActual.ObraSocial != null)   //PREGUNTO SI EL PACIENTE TIENE OBRA SOCIAL.
                                        {
                                            if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == PacienteActual.ObraSocial)
                                            {
                                                obrita = reposObra.BuscarPorNombre(PacienteActual.ObraSocial);   //METODO QUE ME RETORNA LA OBRA POR EL NOMBRE.
                                                recibo.Cobertura += obrita.Monto;
                                                totalDescuento += obrita.Monto;
                                            }
                                        }
                                        else
                                        {
                                            recibo.Cobertura = null;                //SI NO TIENE OBRA SOCIAL, NO TIENE COBERTURA.
                                        }
                                    }

                                    //CARGO EL MONTO DE LA CONSULTA.

                                    clsSobreturno t = new clsSobreturno();                //Variable auxiliar de turno, es el turno en el que estoy ahora.

                                    t = reposSobreTurno.buscarPorId(sobrTurnito.IdMedico);       //Le asigno todos sus valores propios.

                                    string es = reposMedico.buscarPorId(t.Id).Especialidad;   //le asigno a "es" la especialidad del medico de este turno

                                    especiali = reposEspe.BuscarPorNombre(es);          //busco todos los datos de esa especialidad por su nombre

                                    recibo.Importe = especiali.Canon;               //Cargo el importe con el valor de la especialidad.

                                    recibo.Detalle = es;


                                    listaRecibosAInsertar.Add(recibo);              //Lista de recibos para ser dados de alta
                                    reposSobreTurno.ActualizarAsistencia(sobrTurnito.Id);       //Lista de id de sobre turnos a ser actualizado.

                                }

                                clsClinica clini = new clsClinica();


                                Factura.Cuitcliente = tbCuit.Text;
                                Factura.NumeroFactura = reposFac.ultimoId().Id + 1;
                                Factura.TipoFactura = "A";

                                //Traigo los datos de mi clinica para signarle los datos.
                                clini = reposClinica.Todo(1);

                                Factura.RazonSocial = clini.RazonSocial;
                                Factura.Terminal = usuario.Id;
                                Factura.Total = total;
                                Factura.Fecha = DateTime.Now;
                                Factura.IdUsuario = usuario.Id;
                                Factura.Cliente = tbCliente.Text;
                                Factura.PagoEfectivo = float.Parse(tbCantidadEfectivo.Text);
                                Factura.PagoTarjeta = float.Parse(tbCantidadTarjeta.Text);

                                reposFac.Alta(Factura);


                                //INSERTO TODOS LOS RECIBOS
                                foreach (clsRecibo re in listaRecibosAInsertar)
                                {
                                    reposRecibo.Alta(re);
                                }

                                //ACTUALIZO TODOS LOS TURNOS A TRUE
                                foreach (int idT in idsDeTurnosAActualizar)
                                {
                                    reposTurno.ActualizarAsistencia(idT);
                                }


                                //ACTUALIZO TODOS LOS SOBRETURNOS A TRUE
                                foreach (int idST in idsDeSobreTurnosAActualizar)
                                {
                                    reposSobreTurno.ActualizarAsistencia(idST);
                                }

                                MessageBox.Show("La Factura fue creada con éxito junto con los Recibos");

                                if (dgvTurnosAPagar.Rows.Count > 0)
                                    dgvTurnosAPagar.Rows.Clear();

                                tbCuit.Clear();
                                tbCliente.Clear();
                                tbDireccion.Clear();
                                tbCantidadTarjeta.Text = "0";
                                tbCantidadEfectivo.Text = "0";
                                total = 0;
                                totalDescuento = 0;
                                lblTotal.Text = "0";
                                lblDescuento.Text = "0";



                                /*
                                crPagos pago = new crPagos();

                                pago.SetDataSource(dataSetDatos.Tables[0]);

                                pago.SetParameterValue("Fecha", DateTime.Now);
                                pago.SetParameterValue("Cliente", tbCliente.Text);
                                pago.SetParameterValue("Domicilio", tbDireccion.Text);
                                pago.SetParameterValue("CUIT", tbCuit.Text);

                                frmView frmV = new frmView(pago);
                                frmV.ShowDialog();
                                */







                            }
                            else if (cbTipoFactura.Text == "B")
                            {
                                //ACA VA TODO PARA LA FACTURA B
                            }
                            else
                            {
                                MessageBox.Show("Debe seleccionar un tipo de factura.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                            }
                        }
                        else
                        {
                            MessageBox.Show("El monto ingresado excede el total a pagar.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                        }

                        
                    }
                    else
                    {
                        MessageBox.Show("El monto a pagar en tarjeta debe ser €0 o mayor a €100", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }

                    

                }
                else
                {
                    MessageBox.Show("Complete los campos para continuar.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                }
            }


        }
        public List<clsEspecialidad> Todo()
        {
            DataTable tabla;
            List<clsEspecialidad> lista = new List<clsEspecialidad>();

            tabla = manejaEspecialidad.Todo();
            foreach (DataRow aux in tabla.Rows)
            {
                clsEspecialidad esp = new clsEspecialidad();
                esp.Id = Convert.ToInt32(aux["id"].ToString());
                esp.Descripcion = aux["descripcion"].ToString();
                esp.Canon = float.Parse(aux["canon"].ToString());
                lista.Add(esp);
            }

            return lista;

        }
        public clsEspecialidad BuscarPorNombre(string nombre)
        {
            clsEspecialidad esp = new clsEspecialidad();
            try
            {

                esp = (clsEspecialidad)manejaEspecialidad.buscaPorNombre(nombre);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return esp;
        }
Beispiel #9
0
        private void btnBaja_Click(object sender, EventArgs e)
        {         
            
            clsEspecialidad esBaja = new clsEspecialidad();

            int id = int.Parse(dgvEspecialidadesBaja.Rows[dgvEspecialidadesBaja.CurrentRow.Index].Cells[0].Value.ToString());

            esBaja = reposEspe.buscarPorId(id);

            reposEspe.Baja(esBaja);

            MessageBox.Show("Especialidad dada de baja");

            Actualizar();
            
        }