private void btnCargar_Click(object sender, RoutedEventArgs e) { //Obtenemos los datos de Operaciones ingresados por el usuario int iIDOper; Decimal dMonto; try { iIDOper = (int)txtOperaciones.SelectedValue; } catch (Exception ex) { ex.Data.Clear(); return; } if (iIDOper == 11 || (iIDOper == 12)) { txtCuentas.Focus(); return; } //Validamos los datos ingresados if (!Decimal.TryParse(txtMonto.Text,out dMonto)) { MessageBox.Show("Por favor ingrese un monto numerico valido","Monto no valido",MessageBoxButton.OK,MessageBoxImage.Error); return; } if (dMonto <= 0) { MessageBox.Show("Por favor, ingrese un monton arriba de $0", "Monto no valido", MessageBoxButton.OK, MessageBoxImage.Error); return; } ContaGeneralDS tmpDS = new ContaGeneralDS(); int iDebe, iHaber,iIVA; string sCDebe, sCHaber; //Hacemos primero el filtro para obtener los valores del DEBE, HABER y si tiene tratamiento IVA iTA.FillByIDO(tmpDS.OPERACIONES,iIDOper); iDebe = (int)tmpDS.OPERACIONES.Rows[0]["COD_DEBE"]; iHaber = (int)tmpDS.OPERACIONES.Rows[0]["COD_HABER"]; iIVA = (int)tmpDS.OPERACIONES.Rows[0]["IVA"]; //Ahora determinamos el nombre de las Cuentas del DEBE y HABER ccTA.FillByIDC(tmpDS.CATALOGO_CUENTAS, iDebe); sCDebe = (string)tmpDS.CATALOGO_CUENTAS[0]["DESCRIPCION"]; ccTA.FillByIDC(tmpDS.CATALOGO_CUENTAS, iHaber); sCHaber = (string)tmpDS.CATALOGO_CUENTAS[0]["DESCRIPCION"]; //Como ya tenemos todos los datos necesarios cargados, ya podemos agregar a la tabla detalle de //transacciones con los campos incluidos //Tambien verificamos si la cuenta posse IVA decimal dMontoIVA = Math.Round(dMonto*0.13m,2); dMonto = Math.Round(dMonto, 2); tblDetalle.Clear(); switch (iIVA) { case 0: //SIN IVA tblDetalle.Rows.Add(iDebe, sCDebe, dMonto, 0); tblDetalle.Rows.Add(iHaber, sCHaber, 0, dMonto); break; case 1: //IVA en el DEBE tblDetalle.Rows.Add(39, "IVA Acreditable", dMontoIVA, 0); tblDetalle.Rows.Add(iDebe, sCDebe, dMonto - dMontoIVA, 0); tblDetalle.Rows.Add(iHaber, sCHaber, 0, dMonto); break; case 2: //IVA en el HABER tblDetalle.Rows.Add(iDebe, sCDebe, dMonto, 0); tblDetalle.Rows.Add(38, "IVA por PAGAR", 0, dMontoIVA); tblDetalle.Rows.Add(iHaber, sCHaber, 0, dMonto - dMontoIVA); break; } tmpDS.Dispose(); EstablecerTotales(); txtDescripcion.Focus(); }