예제 #1
0
        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);
            }
        }
예제 #2
0
        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();
        }