Ejemplo n.º 1
0
        private void SumarTotales()
        {
            gvDetalle.BeginDataUpdate();
            gvDetalle.RefreshData();

            //Percepcion
            var totalItemPercepcion =
                VwNotadebitodetList.Where(w => w.DataEntityState != DataEntityState.Deleted)
                .Sum(s => s.Porcentajepercepcion);

            rPorcentajepercepcion.EditValue = totalItemPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0;
            //

            var totalbruto = VwNotadebitodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Cantidad * s.Preciounitario);

            rTotalbruto.EditValue = totalbruto;

            var totalneto = VwNotadebitodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rTotalneto.EditValue = totalneto;

            var totalexonerado = VwNotadebitodetList.Where(w => w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rTotalexonerado.EditValue = totalexonerado;

            var totalGravado = VwNotadebitodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rBaseimponible.EditValue = totalGravado;

            var impuestoSel = ImpuestoList.FirstOrDefault(x => x.Idimpuesto == (int)iIdimpuesto.EditValue);

            decimal porcentajeImpuesto = 0;

            if (impuestoSel != null)
            {
                porcentajeImpuesto       = impuestoSel.Porcentajeimpuesto;
                rTotalimpuesto.EditValue = decimal.Round(totalGravado * (porcentajeImpuesto / 100), 2);
            }

            decimal importePecepcionGravado = VwNotadebitodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted && w.Porcentajepercepcion > 0).Sum(s => s.Importetotal * (s.Porcentajepercepcion / 100));

            //Calculo percepcion

            rTotalpercepcion.EditValue = importePecepcionGravado * (1 + porcentajeImpuesto / 100);

            rImportetotal.EditValue = ((decimal)rBaseimponible.EditValue + (decimal)rTotalimpuesto.EditValue);

            rTotaldocumento.EditValue = (decimal)rImportetotal.EditValue + (decimal)rTotalpercepcion.EditValue;
            gvDetalle.EndDataUpdate();

            gvDetalle.BestFitColumns(true);
        }
Ejemplo n.º 2
0
        private void SumarTotales()
        {
            gvDetalle.BeginDataUpdate();
            gvDetalle.RefreshData();


            var totalbruto = VwNotadebitoclidetList.Where(w => w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Cantidad * s.Preciounitario);

            rTotalbruto.EditValue = totalbruto;

            var totalgravado = VwNotadebitoclidetList.Where(w => w.Gravado && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rTotalgravado.EditValue = totalgravado;

            var totalinafecto = VwNotadebitoclidetList.Where(w => w.Inafecto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rTotalinafecto.EditValue = totalinafecto;

            var totalexonerado = VwNotadebitoclidetList.Where(w => w.Exonerado && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal);

            rtotalexonerado.EditValue = totalexonerado;

            var impuestoSel = ImpuestoList.FirstOrDefault(x => x.Idimpuesto == (int)iIdimpuesto.EditValue);

            if (impuestoSel != null)
            {
                var     porcentajeImpuesto = impuestoSel.Porcentajeimpuesto;
                decimal totalImpuesto      = decimal.Round(totalgravado * (porcentajeImpuesto / 100), 2);
                rTotalimpuesto.EditValue = decimal.Round(totalgravado * (porcentajeImpuesto / 100), 2);
                rImportetotal.EditValue  = totalgravado + totalinafecto + totalexonerado + totalImpuesto;

                //Calculo percepcion
                decimal totalValorPercepcion = VwNotadebitoclidetList.Where(
                    w => w.DataEntityState != DataEntityState.Deleted &&
                    w.Porcentajepercepcion > 0).Sum(s => s.Importetotal * (s.Porcentajepercepcion / 100));
                rPorcentajepercepcion.EditValue = totalValorPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0m;

                decimal importetotalpercepcion = Math.Round(totalValorPercepcion * (1 + porcentajeImpuesto / 100), 2);
                rImportetotalpercepcion.EditValue = importetotalpercepcion;
                //fin calculo percepcion

                rTotaldocumento.EditValue = (decimal)rImportetotal.EditValue +
                                            (decimal)rImportetotalpercepcion.EditValue;
            }

            gvDetalle.EndDataUpdate();

            gvDetalle.BestFitColumns(true);
        }