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; } }
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; }
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(); }
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 bool equal(clsTurno t) { if (this.Fecha==t.fecha && this.idMedico==t.idMedico) { return true; } else { return false; } }
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; }
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; }
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(); } }