private void AgregarImpuesto(object sender, RoutedEventArgs e) { try { if (string.IsNullOrEmpty(txt_precioUnitario.Text) || !decimal.TryParse(txt_precioUnitario.Text, out decimal PrecioUnitario)) { MessageBox.Show("Agregue el precio unitario antes de continuar"); return; } ProductoImpuestoDialog dia = new ProductoImpuestoDialog(ColeccionImpuesto, PrecioUnitario); if (dia.ShowDialog() == true) { Producto_ImpuestoSeleccionado im = dia.GetImpuesto(); if (im.Monto > 0) { ColeccionImpuesto.Add(im); } } } catch (Exception ex) { this.LogError(ex); } }
private void loadProducto() { txt_Codigo.Text = ProductoActual.Codigo; txt_precioUnitario.Text = ProductoActual.PrecioUnitario.ToString(); txt_Producto.Text = ProductoActual.ProductoServicio; if (ProductoActual.Tipo) { cb_Tipo.SelectedIndex = 0; cb_UnidadMedida.SelectedItem = ProductosData.UnidadesMedida.Where(q => !q.EsServicio); } else { cb_Tipo.SelectedIndex = 1; cb_UnidadMedida.SelectedItem = ProductosData.UnidadesMedida.Where(q => q.EsServicio); } cb_UnidadMedida.SelectedItem = ProductosData.UnidadesMedida.FirstOrDefault(q => q.Value == ProductoActual.Unidad_Medida); foreach (Producto_Impuesto impuesto in ProductoActual.Producto_Impuesto) { Producto_ImpuestoSeleccionado val = new Producto_ImpuestoSeleccionado() { CodigoTarifa = impuesto.CodigoTarifa, Exento = impuesto.Exento, Exoneracion_FechaEmision = impuesto.Exoneracion_FechaEmision, Exoneracion_MontoImpuesto = impuesto.Exoneracion_MontoImpuesto, Impuesto_Tarifa = impuesto.Impuesto_Tarifa, Exoneracion_NombreInstitucion = impuesto.Exoneracion_NombreInstitucion, Exoneracion_NumeroDocumento = impuesto.Exoneracion_NumeroDocumento, Exoneracion_PorcentajeCompra = impuesto.Exoneracion_PorcentajeCompra, Exoneracion_TipoDocumento = impuesto.Exoneracion_TipoDocumento, Impuesto_Codigo = impuesto.Impuesto_Codigo, Id_Producto = impuesto.Id_Producto, Id_Producto_Impuesto = impuesto.Id_Producto_Impuesto, }; Impuestos im = ProductosData.Impuestos.FirstOrDefault(q => q.Value == impuesto.Impuesto_Codigo); if (im == null) { val.Nombre = "Impuesto"; } else { val.Nombre = im.Text; } val.Monto = ((val.Impuesto_Tarifa / (decimal)100) * ProductoActual.PrecioUnitario); if (val.Exento) { val.Monto -= val.Exoneracion_MontoImpuesto ?? 0; } ColeccionImpuesto.Add(val); } }
private void Agregar(object sender, RoutedEventArgs e) { decimal Tarifa; if (!decimal.TryParse(txt_Tarifa.Text, out Tarifa)) { MessageBox.Show("Error al obtener la tarifa"); return; } var v1 = ((Impuestos)cb_impuestoTipo.SelectedItem); TiposDocumentosExoneracion Exoneracion_TipoDocumento = cb_TipoDocumento.SelectedItem as TiposDocumentosExoneracion; Producto_Impuesto = new Producto_ImpuestoSeleccionado() { Impuesto_Tarifa = Tarifa, Impuesto_Codigo = v1.Value, CodigoTarifa = (cb_codigotarifa.SelectedItem as TarifaCodigo).Value, Nombre = v1.Text, Monto = Convert.ToDecimal(txt_monto.Text), Exento = chk_Exoneracion.IsChecked.Value, Exoneracion_FechaEmision = dt_FechaExoneracion.SelectedDate, Exoneracion_MontoImpuesto = string.IsNullOrEmpty(txt_ExoneracionTotal.Text) ? 0 : Convert.ToDecimal(txt_ExoneracionTotal.Text), Exoneracion_NombreInstitucion = txt_nombreinstitucion.Text, Exoneracion_NumeroDocumento = txt_numerodocumento.Text, Exoneracion_PorcentajeCompra = string.IsNullOrEmpty(txt_procentajeExoneracion.Text) ? 0 : Convert.ToInt32(txt_procentajeExoneracion.Text), Exoneracion_TipoDocumento = Exoneracion_TipoDocumento == null || Exoneracion_TipoDocumento.Value == null ? null : Exoneracion_TipoDocumento.Value, }; #region Validacion Exoneracion if (Producto_Impuesto.Exento) { if (string.IsNullOrEmpty(Producto_Impuesto.Exoneracion_NombreInstitucion)) { MessageBox.Show("Favor llenar el nombre de la institucion"); return; } if (string.IsNullOrEmpty(Producto_Impuesto.Exoneracion_NumeroDocumento)) { MessageBox.Show("Favor llenar el numero del documento"); return; } if (!Producto_Impuesto.Exoneracion_FechaEmision.HasValue) { MessageBox.Show("Favor seleccionar la fecha de emicion del documento"); return; } if (!Producto_Impuesto.Exoneracion_MontoImpuesto.HasValue || Producto_Impuesto.Exoneracion_MontoImpuesto.Value <= 0) { MessageBox.Show("Favor verificar el monto a exonerar"); return; } } #endregion this.DialogResult = true; this.Close(); }