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 listBox1_SelectedIndexChanged(object sender, EventArgs e) { if (listBox1.SelectedIndex > -1) { listBox2.SelectedItem = null; listBox2.Items.Clear(); textBox3.Text = ""; textBox2.Text = ""; ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem; List <ClsTarifaViewModel> listaTarifas = new List <ClsTarifaViewModel>(); var res = from s in TarifasDeTodosProductos.AsEnumerable() where s.Field <int>("IdProducto") == clsProductoViewModel.Id select new ClsTarifaViewModel { Id = s.Field <int>("IdTarifa"), Cantidad = s.Field <decimal>("Cantidad"), CampoAMostrar = "Cantidad" }; listaTarifas = res.ToList <ClsTarifaViewModel>(); Action <ClsTarifaViewModel> Funcion = s => { listBox2.Items.Add(s); }; listaTarifas.ForEach(Funcion); } }
//---------Utils public bool GridContieneSoloAfiliacion(DataGridViewRowCollection filasConProductos) { if (filasConProductos.Count == 1) { DataGridViewRow filaUnica = filasConProductos[0]; ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)filaUnica.Cells[1].Value; bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false; bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false; bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false; bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false; bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false; bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false; if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6) { return(true); } else { return(false); } } return(false); }
public bool GridContieneAfiliacionYOtros(DataGridViewRowCollection filasConProductos) { if (filasConProductos.Count > 1) { bool contieneAfiliacionYOtros = false; foreach (DataGridViewRow fila in filasConProductos) { ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value; bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false; bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false; bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false; bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false; bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false; bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false; if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6) { contieneAfiliacionYOtros = true; break; } } return(contieneAfiliacionYOtros); } else { return(false); } }
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; }
private bool ExisteAfiliacionEnDataGrid() { bool bandera = false; foreach (DataGridViewRow fila in dataGridView1.Rows) { ClsProductoViewModel clsProductoViewModelInsertado = (ClsProductoViewModel)fila.Cells[1].Value; if (EsAfiliacion(clsProductoViewModelInsertado)) { bandera = true; break; } } return(bandera); }
private bool ExisteProductoEnDataGridView(ClsProductoViewModel clsProductoViewModelAInsertar) { bool bandera = false; foreach (DataGridViewRow fila in dataGridView1.Rows) { ClsProductoViewModel clsProductoViewModelInsertado = (ClsProductoViewModel)fila.Cells[1].Value; if (clsProductoViewModelInsertado.Id == clsProductoViewModelAInsertar.Id) { bandera = true; break; } } return(bandera); }
private bool EsAfiliacion(ClsProductoViewModel clsProductoViewModel) { bool res = clsProductoViewModel.Nombre == "Afiliación" ? true: false; bool res2 = clsProductoViewModel.Nombre == "afiliación" ? true : false; bool res3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false; bool res4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false; bool res5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false; bool res6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false; if (res || res2 || res3 || res4 || res5 || res6) { return(true); } else { return(false); } }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { var senderGrid = (DataGridView)sender; if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0) { //Deshabilitar el label y el textBox de captura de Folio licencia, si la fila contíene el producto Afiliacion DataGridViewRow fila = dataGridView1.Rows[e.RowIndex]; DataGridViewCell celda = fila.Cells[1]; ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)celda.Value; if (EsAfiliacion(clsProductoViewModel)) { label22.Enabled = false; textBox18.Enabled = false; textBox18.Text = ""; } //Borrar la fila dataGridView1.Rows.RemoveAt(e.RowIndex); label7.Text = CalcularSumaTotalEnDataGridView().ToString(); } }
public bool GridNoContieneAfiliacionSoloOtros(DataGridViewRowCollection filasConProductos) { bool noContieneAfiliacion = true; foreach (DataGridViewRow fila in filasConProductos) { ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value; bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false; bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false; bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false; bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false; bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false; bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false; if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6) { noContieneAfiliacion = false; break; } } return(noContieneAfiliacion); }
//--------------------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 ArmarReciboListaProductosConVariosElementos(DataRow filaUnicaDatosSocio, DataGridViewRowCollection filasConProductos, string totalAPagar, DataTable infoUsuarioTable, string folioReciboLicencia) { CRListaProductosPagados crListaProductosPagados = new CRListaProductosPagados(); //-----Rellenar el area del recibo licencia TextObject folioReciboLicenciaTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text29"] as TextObject; folioReciboLicenciaTextObject.Text = folioReciboLicencia.Length > 0 ? "FOLIO DE RECIBO LICENCIA " + folioReciboLicencia : ""; //-------Rellenar el area de total a pagar TextObject totalAPagarTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text5"] as TextObject; totalAPagarTextObject.Text = totalAPagar; //-------Rellenar el area superior TextObject propietarioPatenteTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text1"] as TextObject; propietarioPatenteTextObject.Text = filaUnicaDatosSocio.Field <string>("PropietarioPatente"); // + " " + filaUnicaDatosSocio.Field<string>("Comodatario"); TextObject nombreComercialTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text2"] as TextObject; nombreComercialTextObject.Text = filaUnicaDatosSocio.Field <string>("NombreComercial"); ConversorATextoMonedaPesos conversorATextoMonedaPesos = new ConversorATextoMonedaPesos(); TextObject totalAPagarEnLetrasTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text4"] as TextObject; totalAPagarEnLetrasTextObject.Text = conversorATextoMonedaPesos.Analizar((Decimal.Parse(totalAPagar)).ToString("0.00")); TextObject nombreComodatarioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text25"] as TextObject; nombreComodatarioTextObject.Text = filaUnicaDatosSocio.Field <string>("Comodatario"); TextObject rfcComodatarioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text27"] as TextObject; rfcComodatarioTextObject.Text = filaUnicaDatosSocio.Field <string>("RFCComodatario"); //-------Rellenar el area donde aparece Concepto - Total a pagar Hashtable tablaHash = RecuperarEtiquetasConceptoDelReporte(crListaProductosPagados); Hashtable totalesTablaHash = RecuperarEtiquetasTotalesDelReporte(crListaProductosPagados); int i = 0; foreach (DataGridViewRow fila in filasConProductos) { //Rellenando la columna conceptos ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value; TextObject objTextObject = (TextObject)tablaHash[i.ToString()]; objTextObject.Text = clsProductoViewModel.Nombre; //Rellenando la columna totales string totalEnCelda = fila.Cells[4].EditedFormattedValue.ToString(); TextObject otroTextObject = (TextObject)totalesTablaHash[i.ToString()]; otroTextObject.Text = totalEnCelda; i++; } AsignarVacioAEtiquetasQueContienen(tablaHash, "concepto"); //Quitar el texto "concepto" a las etiquetas no usadas AsignarVacioAEtiquetasQueContienen(totalesTablaHash, "total"); //Quitar el texto "0" a las etiquetas no usadas //--------Establecer la fecha que irá en el reporte if (infoUsuarioTable.Rows.Count == 1) { var res = from s in infoUsuarioTable.AsEnumerable() select s; DataRow filaUnica = res.First(); DateTime fechaEnServidor = filaUnica.Field <DateTime>("FechaAlta"); TextObject diaTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text6"] as TextObject; diaTextObject.Text = fechaEnServidor.Day.ToString(); TextObject mesTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text7"] as TextObject; mesTextObject.Text = MesATexto(fechaEnServidor.Month); TextObject anioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text8"] as TextObject; anioTextObject.Text = (fechaEnServidor.Year % 2000).ToString(); //-------Mostrar el reporte crystalReportViewer1.ReportSource = crListaProductosPagados; } else { string mensaje = "FrmVisorReporte en ArmarReciboListaProductosConVariosElementos"; throw new ArgumentException(mensaje); } }