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 bmMntItems_ItemClick(object sender, ItemClickEventArgs e) { var subMenu = e.Item as BarSubItem; if (subMenu != null) { return; } switch (e.Item.Name) { case "btnImportar": if (!Validaciones()) { return; } var maxItem = VwNotadebitodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); var sgtItem = maxItem == null ? 1 : maxItem.Numeroitem + 1; foreach (var item in _vwCpcompraimpndList.Where(x => x.Itemseleccionado)) { VwNotadebitodet vwNotadebitodet = new VwNotadebitodet(); vwNotadebitodet.Numeroitem = sgtItem; vwNotadebitodet.Idarticulo = item.Idarticulo; vwNotadebitodet.Codigoarticulo = item.Codigoarticulo; vwNotadebitodet.Codigoproveedor = item.Codigoproveedor; vwNotadebitodet.Idunidadinventario = item.Idunidadmedida; vwNotadebitodet.Nombremarca = item.Nombremarca; vwNotadebitodet.Nombrearticulo = item.Nombrearticulo; vwNotadebitodet.Cantidad = item.Cantidadaimportar; vwNotadebitodet.Idunidadmedida = item.Idunidadmedida; vwNotadebitodet.Abrunidadmedida = item.Abrunidadmedida; vwNotadebitodet.Preciounitario = item.Preciounitarioneto; vwNotadebitodet.Especificacion = item.Especificacion; vwNotadebitodet.Descuento1 = 0; vwNotadebitodet.Descuento2 = 0; vwNotadebitodet.Descuento3 = 0; vwNotadebitodet.Descuento4 = 0; vwNotadebitodet.Preciounitarioneto = 0; vwNotadebitodet.Importetotal = 0; vwNotadebitodet.Idimpuesto = item.Idimpuesto; vwNotadebitodet.Idcentrodecosto = item.Idcentrodecosto; vwNotadebitodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwNotadebitodet.Porcentajepercepcion = 0; vwNotadebitodet.Idarea = item.Idarea; vwNotadebitodet.Nombrearea = item.Nombrearea; vwNotadebitodet.Idproyecto = item.Idproyecto; vwNotadebitodet.Nombreproyecto = item.Nombreproyecto; vwNotadebitodet.Idcpcompradet = item.Idcpcompradet; vwNotadebitodet.Serienumerocpcompra = item.Serienumerocp; vwNotadebitodet.DataEntityState = DataEntityState.Added; vwNotadebitodet.Createdby = SessionApp.UsuarioSel.Idusuario; vwNotadebitodet.Creationdate = DateTime.Now; vwNotadebitodet.Modifiedby = null; vwNotadebitodet.Lastmodified = null; sgtItem++; VwNotadebitodetList.Add(vwNotadebitodet); } VwCpcompraSel = (VwCpcompra)gvConsulta.GetFocusedRow(); DialogResult = DialogResult.OK; break; case "btnCancelarItem": DialogResult = DialogResult.Cancel; break; case "btnConsultar": if (!ValidacionDatosConsulta()) { return; } CargarCpCompra(); break; case "btnCerrar": DialogResult = DialogResult.OK; break; } }
private void bmItemsDetalle_ItemClick(object sender, ItemClickEventArgs e) { var subMenu = e.Item as BarSubItem; if (subMenu != null) { return; } TipoMantenimiento tipoMantenimientoItem; NotadebitoMntItemFrm ordencompraMntItemFrm; VwNotadebitodet vwNotadebitodetMntItem; switch (e.Item.Name) { case "btnAddItem": //Asignar el siguiente item vwNotadebitodetMntItem = new VwNotadebitodet(); //Asignar el siguiente item var sgtItem = VwNotadebitodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); vwNotadebitodetMntItem.Numeroitem = sgtItem == null ? 1 : sgtItem.Numeroitem + 1; tipoMantenimientoItem = TipoMantenimiento.Nuevo; ordencompraMntItemFrm = new NotadebitoMntItemFrm(tipoMantenimientoItem, vwNotadebitodetMntItem); ordencompraMntItemFrm.ShowDialog(); if (ordencompraMntItemFrm.DialogResult == DialogResult.OK) { VwNotadebitodetList.Add(vwNotadebitodetMntItem); SumarTotales(); if (!gvDetalle.IsLastRow) { gvDetalle.MoveLastVisible(); gvDetalle.Focus(); gvDetalle.FocusedColumn = gvDetalle.Columns["Cantidad"]; } } break; case "btnEditItem": if (gvDetalle.RowCount == 0) { break; } vwNotadebitodetMntItem = (VwNotadebitodet)gvDetalle.GetFocusedRow(); tipoMantenimientoItem = TipoMantenimiento.Modificar; ordencompraMntItemFrm = new NotadebitoMntItemFrm(tipoMantenimientoItem, vwNotadebitodetMntItem); ordencompraMntItemFrm.ShowDialog(); if (ordencompraMntItemFrm.DialogResult == DialogResult.OK) { SumarTotales(); } break; case "btnDelItem": if (gvDetalle.RowCount == 0) { break; } if (DialogResult.Yes == XtraMessageBox.Show("¿Desea eliminar el item seleccionado?", "Eliminar producto", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)) { vwNotadebitodetMntItem = (VwNotadebitodet)gvDetalle.GetFocusedRow(); vwNotadebitodetMntItem.DataEntityState = DataEntityState.Deleted; if (!gvDetalle.IsFirstRow) { gvDetalle.MovePrev(); } SumarTotales(); } break; } }