示例#1
0
        public void EstablecerFechas()
        {
            try
            {
                clsTurno primerTurno = new clsTurno();
                clsTurno ultimoTurno = new clsTurno();

                primerTurno = reposTurno.primerTurno();     //Me retorna el primer turno dado.
                ultimoTurno = reposTurno.ultimoTurno();     //Me retorna el ultimo turno dado.

                DateTime h1 = primerTurno.Fecha.Add(new TimeSpan(-24, 0, 0));
                DateTime h2 = ultimoTurno.Fecha.Add(new TimeSpan(24, 0, 0));

                dtpDesde.MinDate = h1;
                dtpHasta.MaxDate = h2;

                dtpDesde.Value = h1;
                dtpHasta.Value = h2;
            }
            catch(Exception ex)
            {
                throw ex;
            }
            
            
        }
示例#2
0
 public IEntidad buscaPorId(int id)
 {
     DataTable aux = new DataTable();
     clsTurno tur = new clsTurno();
     try
     {
         aux=manager.consultar("select * from turno where id="+id+" and activo=1");
         tur.Id = Convert.ToInt32(aux.Rows[0]["id"]);
         tur.IdMedico = Convert.ToInt32(aux.Rows[0]["idmedico"]);
         tur.IdPaciente = Convert.ToInt32(aux.Rows[0]["idpaciente"]);
         tur.Fecha = Convert.ToDateTime(aux.Rows[0]["fecha"]);
         tur.Costo = float.Parse(aux.Rows[0]["costo"].ToString());
         tur.Estado=Convert.ToBoolean(aux.Rows[0]["estado"]);
     }
     catch(Exception ex)
     {
         throw ex;
     }
     return tur;
 }
示例#3
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();
        }
示例#4
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);

                }
            }


        }
示例#5
0
 public bool equal(clsTurno t)
 {
     if (this.Fecha==t.fecha && this.idMedico==t.idMedico)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
示例#6
0
        public List<clsTurno> Todo(int pag)
        {
            DataTable tabla;
            List<clsTurno> lista = new List<clsTurno>();

            try
            {
                tabla = manejaTurno.Todo(pag);
                foreach (DataRow aux in tabla.Rows)
                {
                    clsTurno turno = new clsTurno();
                    turno.Id = Convert.ToInt32(aux["id"]);
                    turno.IdMedico = Convert.ToInt32(aux["idMedico"]);
                    turno.IdPaciente = Convert.ToInt32(aux["idPaciente"]);
                    turno.IdUsuario = Convert.ToInt32(aux["idUsuario"]);
                    turno.Fecha = Convert.ToDateTime(aux["fecha"]);
                    turno.Estado = Convert.ToBoolean(aux["estado"]);
                    turno.Costo = float.Parse(aux["costo"].ToString());

                    lista.Add(turno);
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return lista;

        }
示例#7
0
        public clsTurno ultimoTurno() 
        {

            DataTable tabla;

            clsTurno turno = new clsTurno();

            try
            {
                tabla = manejaTurno.UltimoTurno();
                foreach (DataRow aux in tabla.Rows)
                {

                    turno.Id = Convert.ToInt32(aux["id"]);
                    turno.IdMedico = Convert.ToInt32(aux["idMedico"]);
                    turno.IdPaciente = Convert.ToInt32(aux["idPaciente"]);
                    turno.IdUsuario = Convert.ToInt32(aux["idUsuario"]);
                    turno.Fecha = Convert.ToDateTime(aux["fecha"]);
                    turno.Estado = Convert.ToBoolean(aux["estado"]);
                    turno.Costo = float.Parse(aux["costo"].ToString());
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return turno;
        }
示例#8
0
        private void button12_Click(object sender, EventArgs e)
        {
            if ((sender as Button).BackColor == Color.LimeGreen)
            {
                clsTurno t = new clsTurno();
            }
            else if ((sender as Button).BackColor == Color.Gold)
	        {
                clsSobreturno st = new clsSobreturno();
	        }
        }