private BonoFarmacia armarBonoFarmacia(int fila)
 {
     bono = new BonoFarmacia();
     int index = grillaBonosFarmacia.Columns["Nro. de Bono"].Index;
     bono.numero = Convert.ToInt32(grillaBonosFarmacia.Rows.SharedRow(fila).Cells[index].Value.ToString());
     return bono;
 }
        public decimal CrearBonoFarmacia(BonoFarmacia bono)
        {
            IList <SqlParameter> parametros = new List <SqlParameter>();

            SqlParameter pId = new SqlParameter("@p_id", System.Data.SqlDbType.Decimal, 18, "p_id");

            pId.Direction = System.Data.ParameterDirection.Output;
            parametros.Add(pId);

            SqlParameter pIdCompra = new SqlParameter("@p_id_compra", System.Data.SqlDbType.Decimal, 18, "p_id_compra");

            pIdCompra.Value = bono.IdCompra;
            parametros.Add(pIdCompra);

            SqlParameter pIdPlanMedico = new SqlParameter("@p_id_plan_medico", System.Data.SqlDbType.Decimal, 18, "p_id_plan_medico");

            pIdPlanMedico.Value = bono.IdPlanMedico;
            parametros.Add(pIdPlanMedico);

            SqlParameter pFechaImpresion = new SqlParameter("@p_fecha_impresion", System.Data.SqlDbType.DateTime, 8, "p_fecha_impresion");

            pFechaImpresion.Value = bono.FechaImpresion;
            parametros.Add(pFechaImpresion);

            SqlParameter pFechaVencimiento = new SqlParameter("@p_fecha_vencimiento", System.Data.SqlDbType.DateTime, 8, "p_fecha_vencimiento");

            pFechaVencimiento.Value = bono.FechaVencimiento;
            parametros.Add(pFechaVencimiento);

            _conector.RealizarConsultaAlmacenada("[TOP_4].[sp_Compra_bono_farmacia]", parametros);

            return((decimal)pId.Value);
        }
        private void btnValidar_Click(object sender, EventArgs e)
        {
            try
            {
                decimal idBono = Convert.ToDecimal(tbBonoFarmacia.Text);
                IResultado <BonoFarmacia> resultado = _domain.ValidarBonoFarmacia(idBono, _afiliado.NroPrincipal, FechaHelper.Ahora());
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <BonoFarmacia>(resultado);
                }

                bonoFarmacia = resultado.Retorno;

                groupBox2.Enabled            = true;
                this.tbBonoFarmacia.ReadOnly = true;
                this.btnBuscar.Enabled       = true;
                this.btnAgregar.Enabled      = true;
                this.btnQuitar.Enabled       = true;
                this.dateTimePicker1.Enabled = false;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
        private BonoFarmacia armarBonoFarmacia(int fila)
        {
            bono = new BonoFarmacia();
            int index = grillaBonosFarmacia.Columns["Nro. de Bono"].Index;

            bono.numero = Convert.ToInt32(grillaBonosFarmacia.Rows.SharedRow(fila).Cells[index].Value.ToString());
            return(bono);
        }
 private void grillaBonosFarmacia_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == grillaBonosFarmacia.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaBonosFarmacia.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
     {
         BonoFarmacia bonoFarmacia = armarBonoFarmacia(e.RowIndex);
         (padre as GenerarReceta).setearBonoFarmacia(bonoFarmacia);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
 }
Beispiel #6
0
        private void cmdAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                if (NecesitaBono)
                {
                    BonoFarmacia unBono = new BonoFarmacia(Int32.Parse(txtNumeroBono.Text));
                    if (unBono.Usado)
                    {
                        if (!unBono.EstasVencido((DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"]))))
                        {
                            if (unBono.PuedeUsarlo((int)afiliado.Numero_Grupo))
                            {
                                if (!listaDeBonos.Any(p => p.Id == unBono.Id))
                                {
                                    listaDeBonos.Add(unBono);
                                    ActualizarGrillaBonos();
                                    receta = new Receta(Int32.Parse(txtNumeroBono.Text));
                                    receta.Codigo_Bono_Farmacia = unBono.Id;

                                    cmdCant.Enabled               = true;
                                    cmdSeleccionarMed.Enabled     = true;
                                    cmdAgregarMedicamento.Enabled = true;
                                    cmdAceptar.Enabled            = false;
                                    NecesitaBono          = false;
                                    txtNumeroBono.Enabled = false;
                                }
                                else
                                {
                                    MessageBox.Show("Ya esta ingresado ese bono", "Error!", MessageBoxButtons.OK);
                                }
                            }
                            else
                            {
                                MessageBox.Show("El bono no puede ser usado por el afiliado", "Error!", MessageBoxButtons.OK);
                            }
                        }
                        else
                        {
                            MessageBox.Show("El bono esta vencido", "Error!", MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        MessageBox.Show("El bono ya ha sido usado", "Error!", MessageBoxButtons.OK);
                    }
                }
                else
                {
                    MessageBox.Show("No es necesario que agrege mas bonos farmacia hasta el momento", "Error!", MessageBoxButtons.OK);
                }
            }
            catch { MessageBox.Show("No existe un Bono Farmacia con ese codigo", "Error!", MessageBoxButtons.OK); }
        }
Beispiel #7
0
        private void btnFarmacia_Click(object sender, EventArgs e)
        {
            BonoFarmacia farmacia = new BonoFarmacia();

            farmacia.IdPlanMedico     = _afiliado.IdPlanMedico;
            farmacia.NombrePlanMedico = _plan.Descripcion;
            farmacia.FechaVencimiento = FechaHelper.Ahora().AddDays(60);

            this.lstBonos.Items.Add(farmacia);

            Decimal subtotal = Convert.ToDecimal(tbPrecioTotal.Text);

            subtotal          += _plan.PrecioBonoFarmacia;
            tbPrecioTotal.Text = subtotal.ToString();

            this.btnComprar.Enabled = true;
        }
Beispiel #8
0
        private void RealizarCompra()
        {
            Compra unaCompra = new Compra(afiliado);
            List <BonoConsulta> bonosConsulta = new List <BonoConsulta>();
            List <BonoFarmacia> bonosFarmacia = new List <BonoFarmacia>();

            if (PuedeRealizarCompra())
            {
                foreach (TipoCompraParaMostrar unRegistro in ListaAMostrar)
                {
                    if (unRegistro.TipoBono == "Bono Farmacia")
                    {
                        for (int i = 0; i < unRegistro.Cantidad; i++)
                        {
                            BonoFarmacia unBono = new BonoFarmacia(afiliado);
                            bonosFarmacia.Add(unBono);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < unRegistro.Cantidad; i++)
                        {
                            BonoConsulta unBono = new BonoConsulta(afiliado);
                            bonosConsulta.Add(unBono);
                        }
                    }
                }
                unaCompra.BonosFarmacia = bonosFarmacia;
                unaCompra.BonosConsulta = bonosConsulta;

                if (afiliado.ComprarBonos(unaCompra))
                {
                    MessageBox.Show("La compra se ha realizado con éxito", "EnhoraBuena!", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("No se pudo realizar la compra", "Error!", MessageBoxButtons.OK);
                }
            }
            else
            {
                MessageBox.Show("El usuario no puede realizar la compra, se encuentra inhabilitado", "Error!", MessageBoxButtons.OK);
            }
            LimpiarGrilla();
        }
Beispiel #9
0
 private void cmdRecetar_Click(object sender, EventArgs e)
 {
     try
     {
         int bonoAnterior = -1;
         receta = new Receta(Int32.Parse(txtNumeroBono.Text));
         receta.ListaMedicamentos = listaAMostrar;
         foreach (Medicamento unMedicamento in receta.ListaMedicamentos)
         {
             if (unMedicamento.BonoFarmacia != bonoAnterior)
             {
                 BonoFarmacia bono = new BonoFarmacia(unMedicamento.BonoFarmacia);
                 bono.Usar();
             }
             unMedicamento.AgregarAReceta(idAtencion);
         }
         MessageBox.Show("Se ha recetado correctamete", "EnHoraBuena!", MessageBoxButtons.OK);
         Limpiar();
     }
     catch { MessageBox.Show("Se ha producido un error", "Error!", MessageBoxButtons.OK); }
 }
Beispiel #10
0
 internal void setearBonoFarmacia(BonoFarmacia bonoFarmacia)
 {
     this.bono = bonoFarmacia;
     bonoBox.Text = bonoFarmacia.numero.ToString();
 }
Beispiel #11
0
 //metodo que sera utilizado por el listado de consultas para setear el afiliado
 internal void setearAfiliado(BonoFarmacia bono)
 {
     this.bono = bono;
     bonoBox.Text = bono.numero.ToString();
 }
Beispiel #12
0
 internal static void registrarReceta(Afiliado afiliado, ConsultaMedica consulta, BonoFarmacia bono, List <Medicamento> medicamentosDeLaReceta)
 {
     foreach (Medicamento medicamento in medicamentosDeLaReceta)
     {
         ejecutarProcedure("registrarReceta", afiliado.nroAfiliado, consulta.idConsulta, bono.numero, medicamento.nroMedicamento, medicamento.cantidad, Globales.getFechaSistema());
     }
 }
Beispiel #13
0
        private void cmdAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                if (NecesitaBono)
                {
                    BonoFarmacia unBono = new BonoFarmacia(Int32.Parse(txtNumeroBono.Text));
                    if(unBono.Usado)
                    {
                        if (!unBono.EstasVencido((DateTime.Parse(System.Configuration.ConfigurationSettings.AppSettings["Fecha"]))))
                        {
                            if (unBono.PuedeUsarlo((int)afiliado.Numero_Grupo))
                            {
                                if (!listaDeBonos.Any(p => p.Id == unBono.Id))
                            {
                                listaDeBonos.Add(unBono);
                                ActualizarGrillaBonos();
                                receta = new Receta(Int32.Parse(txtNumeroBono.Text));
                                receta.Codigo_Bono_Farmacia = unBono.Id;

                                cmdCant.Enabled = true;
                                cmdSeleccionarMed.Enabled = true;
                                cmdAgregarMedicamento.Enabled = true;
                                cmdAceptar.Enabled = false;
                                NecesitaBono = false;
                                txtNumeroBono.Enabled = false;
                            }
                            else { MessageBox.Show("Ya esta ingresado ese bono", "Error!", MessageBoxButtons.OK); }
                            }
                            else { MessageBox.Show("El bono no puede ser usado por el afiliado", "Error!", MessageBoxButtons.OK); }
                        }
                        else { MessageBox.Show("El bono esta vencido", "Error!", MessageBoxButtons.OK); }
                    }else { MessageBox.Show("El bono ya ha sido usado", "Error!", MessageBoxButtons.OK); }
                }else { MessageBox.Show("No es necesario que agrege mas bonos farmacia hasta el momento", "Error!", MessageBoxButtons.OK); }            }
            catch { MessageBox.Show("No existe un Bono Farmacia con ese codigo", "Error!", MessageBoxButtons.OK); }
        }
        private void bGrabar_Click(object sender, EventArgs e)
        {
            if (tbBono.Text != "" && lbMedicamentos.Items.Count >= 1 && lbTurnos.SelectedItems.Count == 1) {

                //--Guardar el afiliado del turno seleccionado
                turno = (Turno)lbTurnos.SelectedItem;
                afiliado = turno.afiliado;

                try {
                    bono = new BonoFarmacia(Convert.ToInt32(tbBono.Text));
                    //Si el comprador del bono, tiene el mismo grupo familiar que el que esta logeado
                    DB.ExecuteCardinal("SELECT COUNT(1) FROM " + DB.schema + "bonoFarmacia " +
                                                            "JOIN " + DB.schema + "compra ON cmp_id=bfa_compra " +
                                                            "JOIN " + DB.schema + "vAfiliado ON afi_id=cmp_afiliado" +
                                                " WHERE bfa_id=" + tbBono.Text +
                                                " AND bfa_fechaVencimiento > CAST('" + FuncionesBoludas.GetDateTime() +"' AS DATETIME)"+
                                                " AND bfa_habilitado = 1" +
                                                " AND afi_grupoFamiliar=(SELECT afi_grupoFamiliar FROM "+ DB.schema
                                                                        + "vAfiliado WHERE afi_id=" + afiliado.id + ");");

                }catch(NoTrajoNadaExcep){
                    MessageBox.Show("Ese bono no existe o está vencido o no pertenece al grupo familiar de '" + afiliado.ToString() + "', ingrese otro.");
                    return;
                }

                //Generar el reporte
                ////////REPORTE//////////
                reporte += "<HTML>";
                reporte += "<BODY>";
                reporte += "Clinicas Mustache<br/><hr>";
                reporte += "<br/>	Bono consulta: " + tbBono.Text;
                reporte += "<br/>	Afiliado que comrpo el bono: " + bono.compra.afiliado.ToString();
                reporte += "<br/>	Receta a nombre de: " + afiliado.ToString();
                reporte += "<br/>	<TABLE>";
                reporte += "		<TR><TD>Medicamento</TD><TD>Cantidad</TD><TD>Expiracion</TD></TR>";
                ////////REPORTE//////////

                string subQuery = "";
                //Ciclar por los medicamentos cargados
                foreach (Medicamento m in lbMedicamentos.Items) {
                    subQuery += "(" + tbBono.Text + ", " + m.id + ", " + m.cantidad + ", \'" + m.prescripcion.ToString("yyy-MM-dd") + "\'), ";
                    reporte += "		<TR><TD>" + m.nombre + "</TD><TD>" + m.cantidad + "</TD><TD>" + m.prescripcion.ToString("yyy-MM-dd") + "</TD></TR>";
                }
                subQuery = subQuery.Substring(0, subQuery.Length - 2); //Sacar la ultima coma
                if (DB.ExecuteNonQuery("INSERT INTO " + DB.schema + "medicamento_x_bonoFarmacia(mxb_bonoFarmacia, mxb_medicamento, mxb_unidades, mxb_prescripcion) VALUES" + subQuery +
                    "; UPDATE " + DB.schema + "bonoFarmacia SET bfa_afiliado=" + afiliado.id + ", bfa_atencion= " + turno.id + " WHERE bfa_id=" + bono.id //y actualiza el boon para poner quein lo consumio
                    ) == -1)
                    MessageBox.Show("Error en la creacion de la receta");
                else {

                    ////////REPORTE//////////
                    reporte += "	<TABLE>";
                    reporte += "</BODY>";
                    reporte += "</HTML>";
                    ////////REPORTE//////////

                    DialogResult = DialogResult.OK;
                }
            } else
                MessageBox.Show("Faltan cargar datos");
        }
Beispiel #15
0
 internal void setearAfiliado(BonoFarmacia bono) //metodo que sera utilizado por el listado de consultas para setear el afiliado
 {
     this.bono    = bono;
     bonoBox.Text = bono.numero.ToString();
 }
Beispiel #16
0
 internal void setearBonoFarmacia(BonoFarmacia bonoFarmacia)
 {
     this.bono    = bonoFarmacia;
     bonoBox.Text = bonoFarmacia.numero.ToString();
 }
Beispiel #17
0
 private void cmdRecetar_Click(object sender, EventArgs e)
 {
     try
     {
         int bonoAnterior = -1;
         receta = new Receta(Int32.Parse(txtNumeroBono.Text));
         receta.ListaMedicamentos = listaAMostrar;
         foreach (Medicamento unMedicamento in receta.ListaMedicamentos)
         {
             if (unMedicamento.BonoFarmacia != bonoAnterior)
             {
                 BonoFarmacia bono = new BonoFarmacia(unMedicamento.BonoFarmacia);
                 bono.Usar();
             }
             unMedicamento.AgregarAReceta(idAtencion);
         }
         MessageBox.Show("Se ha recetado correctamete", "EnHoraBuena!", MessageBoxButtons.OK);
         Limpiar();
     }
     catch { MessageBox.Show("Se ha producido un error", "Error!", MessageBoxButtons.OK); }
 }
 public GenerarReceta(BonoFarmacia bono)
 {
     tbBono.Text = Convert.ToString(bono.id);
     tbBono.Enabled = false;
 }