예제 #1
0
        public void Recuperar()
        {
            if (File.Exists(Application.StartupPath + "\\Tostatronic_Cotizacion.xml"))
            {
                try
                {
                    InformacionVenta informacionVenta = GuardarCotizacion.Leer();

                    List <string[]> listaCliente = Sql.BuscarDatos("SELECT id_cliente, rfc, nombres, apellido_paterno, id_tipo_cliente FROM clientes WHERE id_cliente = '" +
                                                                   informacionVenta.Id_cliente + "'");

                    id_cliente              = int.Parse(listaCliente[0][0]);
                    txtRfc.Text             = listaCliente[0][1];
                    txtNombre.Text          = listaCliente[0][2];
                    txtApellidoPaterno.Text = listaCliente[0][3];
                    tipoCliente             = int.Parse(listaCliente[0][4]);

                    foreach (Producto producto in informacionVenta.Productos)
                    {
                        List <string[]> lista = Sql.BuscarDatos("SELECT * FROM productos WHERE codigo = '" +
                                                                producto.Id_producto + "'");
                        float descuentoTemp = Descuento(lista[0][0]);
                        float subTotalTemp  = producto.Cantidad * float.Parse(lista[0][7 - tipoCliente]);
                        dgvCotizacion.Rows.Add(new string[] { lista[0][0], lista[0][1],
                                                              producto.Cantidad.ToString(), lista[0][7 - tipoCliente],
                                                              (subTotalTemp - subTotalTemp * descuentoTemp / 100).ToString(), descuentoTemp.ToString() });
                    }
                    Total();
                    ActivarCotizacion();
                }
                catch (Exception) { }
            }
        }
예제 #2
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            List <string[]> listaEliminar = new List <string[]>();

            for (int i = 0; i < dgvCotizacion.RowCount; i++)
            {
                if (bool.Parse(dgvCotizacion.Rows[i].Cells["seleccionador"].EditedFormattedValue.ToString()))
                {
                    listaEliminar.Add(new string[3] {
                        dgvCotizacion.Rows[i].Cells["codigo"].Value.ToString(),
                        dgvCotizacion.Rows[i].Cells["descripcion"].Value.ToString(), dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString()
                    });
                }
            }
            if (listaEliminar.Count > 0)
            {
                string mensajeConfirmacion = "";
                foreach (string[] datos in listaEliminar)
                {
                    mensajeConfirmacion += datos[1] + "\n";
                }
                DialogResult confirmacion = MessageBox.Show(this, "¿Esta seguro que desea eliminar " + "estos productos de la venta? \nListado: \n" +
                                                            mensajeConfirmacion, "Confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (confirmacion == DialogResult.Yes)
                {
                    for (int i = 0; i < dgvCotizacion.RowCount; i++)
                    {
                        if (bool.Parse(dgvCotizacion.Rows[i].Cells["seleccionador"].EditedFormattedValue.ToString()))
                        {
                            dgvCotizacion.Rows.RemoveAt(i);
                            i--;
                        }
                    }
                    MessageBox.Show("Eliminados");
                    Buscador("SELECT  codigo, nombre, existencia FROM productos " +
                             "WHERE codigo LIKE '%" + buscador + "%' OR nombre LIKE '%" + buscador + "%'");
                    GuardarCotizacion.Guardar(Guardar());
                    Total();
                }
            }
            else
            {
                MessageBox.Show("Seleccione al menos un producto a eliminar.");
            }
        }
예제 #3
0
 private void dgvCotizacion_CellEndEdit(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == 3)
     {
         string codigo   = ValorCelda(e.RowIndex, "codigo");
         float  minPrice = float.Parse(Sql.BuscarDatos("SELECT precio_minimo FROM productos WHERE codigo = '" + codigo + "';")[0][0]);
         if (float.Parse(ValorCelda(e.RowIndex, "precio")) < minPrice)
         {
             dgvCotizacion.Rows[e.RowIndex].Cells[3].ErrorText = "El precio minimo es de: " + minPrice.ToString();
             dgvCotizacion.Rows[e.RowIndex].Cells[3].Value     = ValorAnterior(codigo).ToString();
         }
         else
         {
             float sub = float.Parse(dgvCotizacion.Rows[e.RowIndex].Cells[3].Value.ToString());
             sub *= float.Parse(dgvCotizacion.Rows[e.RowIndex].Cells[2].Value.ToString());
             sub -= sub * Descuento(codigo) / 100;
             dgvCotizacion.Rows[e.RowIndex].Cells[4].Value = sub;
             Total();
             GuardarCotizacion.Guardar(Guardar());
             dgvCotizacion.Rows[e.RowIndex].Cells[3].ErrorText = "";
         }
     }
 }
예제 #4
0
        private void dgvProductos_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                List <string[]> lista = Sql.BuscarDatos("SELECT * FROM productos WHERE codigo = '" +
                                                        ValorCelda(dgvProductos, e.RowIndex, "clmCodigo") + "'");

                dialogCantidad frmCantidad = new dialogCantidad(lista[0][0] + " (" + lista[0][1] + ")", 1000, float.Parse(lista[0][7 - tipoCliente]), Descuento(lista[0][0]));
                frmCantidad.ShowDialog();
                if (frmCantidad.Cantidad > 0)
                {
                    float subtotal;
                    subtotal  = (float)frmCantidad.Cantidad * float.Parse(lista[0][7 - tipoCliente]);
                    subtotal -= subtotal * Descuento(lista[0][0]) / 100;

                    for (int i = 0; i < dgvCotizacion.RowCount; i++)
                    {
                        if (dgvCotizacion.Rows[i].Cells["codigo"].Value.ToString() == lista[0][0])
                        {
                            dgvCotizacion.Rows[i].Cells["cantidad"].Value = decimal.Parse(dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString()) + frmCantidad.Cantidad;
                            subtotal = float.Parse(dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString()) * float.Parse(dgvCotizacion.Rows[i].Cells["precio"].Value.ToString());
                            dgvCotizacion.Rows[i].Cells["subtotal"].Value = subtotal - subtotal * Descuento(lista[0][0]) / 100;
                            frmCantidad.Dispose();
                            GuardarCotizacion.Guardar(Guardar());
                            Total();
                            return;
                        }
                    }
                    dgvCotizacion.Rows.Add(new string[] { lista[0][0], lista[0][1], frmCantidad.Cantidad.ToString(),
                                                          lista[0][7 - tipoCliente], subtotal.ToString(), Descuento(lista[0][0]).ToString() });
                    Total();
                    GuardarCotizacion.Guardar(Guardar());
                }
                frmCantidad.Dispose();
            }
            catch (Exception) { }
        }