private string GuardarPagoBasicoDelSocioController(int idCaja, int idSocio, decimal TotalPagado, int idUsuarioOperador, DataGridViewRowCollection filas, string folioReciboListaPoductos, string folioReciboLicencia) { ClsPagoBasico clsPagoBasico = new ClsPagoBasico(); clsPagoBasico.IdCaja = idCaja; clsPagoBasico.IdSocio = idSocio; clsPagoBasico.TotalPagado = TotalPagado; clsPagoBasico.FolioReciboListaPoductos = folioReciboListaPoductos; clsPagoBasico.FolioReciboLicencia = folioReciboLicencia; clsPagoBasico.IdUsuarioOperador = idUsuarioOperador; foreach (DataGridViewRow fila in filas) { ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value; ClsTarifaViewModel clsTarifaViewModel = (ClsTarifaViewModel)fila.Cells[2].Value; decimal descuento = Decimal.Parse(fila.Cells[3].EditedFormattedValue.ToString()); decimal cantidadAPagar = Decimal.Parse(fila.Cells[4].EditedFormattedValue.ToString()); clsPagoBasico.AddProductoAPagar(clsProductoViewModel.Id, clsTarifaViewModel.Id, clsTarifaViewModel.Cantidad, "campo no usado", descuento, cantidadAPagar); } string respuesta = clsPagoBasico.MovsEnCaja_PagoProducto_DetallesProductosEnPago_create(); return(respuesta); }
private void listBox2_SelectedIndexChanged(object sender, EventArgs e) { if (listBox2.SelectedIndex > -1) { ClsTarifaViewModel clsTarifaElegidaViewModel = (ClsTarifaViewModel)listBox2.SelectedItem; decimal tarifaElegida = (decimal)clsTarifaElegidaViewModel.Cantidad; textBox3.Text = tarifaElegida.ToString(); textBox2.Text = ""; } }
private void textBox2_TextChanged(object sender, EventArgs e) { bool listBox1Seleccionado = listBox1.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado bool listBox2Seleccionado = listBox2.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado bool textBox3ConContenido = textBox3.Text.Length > 0 ? true : false; // Averiguar si tiene contenido if (listBox1Seleccionado && listBox2Seleccionado && textBox3ConContenido) { if (textBox2.Text.Length > 0) { decimal descuento = 0.0m; bool esNumero = Decimal.TryParse(textBox2.Text, out descuento); if (esNumero) { ClsTarifaViewModel clsTarifaViewModelSeleccionado = (ClsTarifaViewModel)listBox2.SelectedItem; decimal tarifaElegida = (decimal)clsTarifaViewModelSeleccionado.Cantidad; if (descuento >= 0m && descuento <= tarifaElegida) { decimal resta = tarifaElegida - descuento; textBox3.Text = resta.ToString(); } else { textBox2.Text = ""; //Despues de esta linea se vuelve a disparar el evento textBox2_TextChanged MessageBox.Show("El descuento debe ser menor ó igual a la tarifa seleccionada", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { textBox2.Text = ""; //Despues de esta linea se vuelve a disparar el evento textBox2_TextChanged MessageBox.Show("Entrada no numerica", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { ClsTarifaViewModel clsTarifaViewModelSeleccionado = (ClsTarifaViewModel)listBox2.SelectedItem; textBox3.Text = (clsTarifaViewModelSeleccionado.Cantidad).ToString(); } } }
//--------------------Events private void button1_Click(object sender, EventArgs e) { //En este punto los calculos del descuento ya se supone estan correctos, por eso no se vuelven a calcular //al momento de agregar al datagridView try { bool listBox1Seleccionado = listBox1.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado bool listBox2Seleccionado = listBox2.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado bool textBox3ConContenido = textBox3.Text.Length > 0 ? true : false; // El textBox3 ya se que solo numeros contiene, por ello solo compruebo si tiene algo bool textBox2Vacio = textBox2.Text.Length == 0 ? true : false; //Averiguar si esta vacío if (listBox1Seleccionado && listBox2Seleccionado && textBox3ConContenido && textBox2Vacio) { ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem; ClsTarifaViewModel clsTarifaViewModel = (ClsTarifaViewModel)listBox2.SelectedItem; decimal cantidadAPagar = Decimal.Parse(textBox3.Text); if (ExisteProductoEnDataGridView(clsProductoViewModel) == false) { AddFilaADataGridView_ProductosAPagar(clsProductoViewModel, clsTarifaViewModel, 0.0m, cantidadAPagar); label7.Text = CalcularSumaTotalEnDataGridView().ToString(); if (EsAfiliacion(clsProductoViewModel)) { label22.Enabled = true; textBox18.Enabled = true; } } else { MessageBox.Show("Ya capturaste este producto", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else if (listBox1Seleccionado && listBox2Seleccionado && textBox3ConContenido && (textBox2Vacio == false)) { ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem; ClsTarifaViewModel clsTarifaViewModel = (ClsTarifaViewModel)listBox2.SelectedItem; decimal descuento = Decimal.Parse(textBox2.Text); decimal cantidadAPagar = Decimal.Parse(textBox3.Text); if (ExisteProductoEnDataGridView(clsProductoViewModel) == false) { AddFilaADataGridView_ProductosAPagar(clsProductoViewModel, clsTarifaViewModel, descuento, cantidadAPagar); label7.Text = CalcularSumaTotalEnDataGridView().ToString(); if (EsAfiliacion(clsProductoViewModel)) { label22.Enabled = true; textBox18.Enabled = true; } } else { MessageBox.Show("Ya capturaste este producto", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { string texto = "Recuerda que se requiere seleccionar un producto, una tarifa, e ingresar opcionalmente un descuento"; MessageBox.Show(texto, "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message + " " + ex.Source + " " + ex.StackTrace); } }
private void AddFilaADataGridView_ProductosAPagar(ClsProductoViewModel clsProductoViewModel, ClsTarifaViewModel clsTarifaViewModel, decimal descuento, decimal cantidadAPagar) { int n = dataGridView1.Rows.Add(); dataGridView1.Rows[n].Cells[1].Value = clsProductoViewModel; dataGridView1.Rows[n].Cells[2].Value = clsTarifaViewModel; dataGridView1.Rows[n].Cells[3].Value = descuento; dataGridView1.Rows[n].Cells[4].Value = cantidadAPagar; }