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); }
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); }