private void SumarTotales() { gvDetalle.BeginDataUpdate(); gvDetalle.RefreshData(); //Percepcion var totalItemPercepcion = VwNotacreditodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .Sum(s => s.Porcentajepercepcion); rPorcentajepercepcion.EditValue = totalItemPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0; // var totalbruto = VwNotacreditodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Cantidad * s.Preciounitario); rTotalbruto.EditValue = totalbruto; var totalneto = VwNotacreditodetList.Where(w => !w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal); rTotalneto.EditValue = totalneto; var totalexonerado = VwNotacreditodetList.Where(w => w.Exoneradoimpuesto && w.DataEntityState != DataEntityState.Deleted).Sum(s => s.Importetotal); rTotalexonerado.EditValue = totalexonerado; var totalGravado = VwNotacreditodetList.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 = VwNotacreditodetList.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 = VwNotacreditodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); var sgtItem = maxItem == null ? 1 : maxItem.Numeroitem + 1; foreach (var item in _vwCpcompraimpncList.Where(x => x.Itemseleccionado)) { VwNotacreditodet vwNotacreditodet = new VwNotacreditodet(); vwNotacreditodet.Numeroitem = sgtItem; vwNotacreditodet.Idarticulo = item.Idarticulo; vwNotacreditodet.Codigoarticulo = item.Codigoarticulo; vwNotacreditodet.Codigoproveedor = item.Codigoproveedor; vwNotacreditodet.Idunidadinventario = item.Idunidadmedida; vwNotacreditodet.Nombremarca = item.Nombremarca; vwNotacreditodet.Nombrearticulo = item.Nombrearticulo; vwNotacreditodet.Cantidad = item.Cantidadaimportar; vwNotacreditodet.Idunidadmedida = item.Idunidadmedida; vwNotacreditodet.Abrunidadmedida = item.Abrunidadmedida; vwNotacreditodet.Preciounitario = item.Preciounitarioneto; vwNotacreditodet.Especificacion = item.Especificacion; vwNotacreditodet.Descuento1 = 0; vwNotacreditodet.Descuento2 = 0; vwNotacreditodet.Descuento3 = 0; vwNotacreditodet.Descuento4 = 0; vwNotacreditodet.Preciounitarioneto = 0; vwNotacreditodet.Importetotal = 0; vwNotacreditodet.Idimpuesto = item.Idimpuesto; vwNotacreditodet.Idcentrodecosto = item.Idcentrodecosto; vwNotacreditodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwNotacreditodet.Porcentajepercepcion = 0; vwNotacreditodet.Idarea = item.Idarea; vwNotacreditodet.Nombrearea = item.Nombrearea; vwNotacreditodet.Idproyecto = item.Idproyecto; vwNotacreditodet.Nombreproyecto = item.Nombreproyecto; vwNotacreditodet.Idcpcompradet = item.Idcpcompradet; vwNotacreditodet.Serienumerocpcompra = item.Serienumerocp; vwNotacreditodet.DataEntityState = DataEntityState.Added; vwNotacreditodet.Createdby = SessionApp.UsuarioSel.Idusuario; vwNotacreditodet.Creationdate = DateTime.Now; vwNotacreditodet.Modifiedby = null; vwNotacreditodet.Lastmodified = null; sgtItem++; VwNotacreditodetList.Add(vwNotacreditodet); } 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; NotacreditoMntItemFrm ordencompraMntItemFrm; VwNotacreditodet vwNotacreditodetMntItem; switch (e.Item.Name) { case "btnAddItem": //Asignar el siguiente item vwNotacreditodetMntItem = new VwNotacreditodet(); //Asignar el siguiente item var sgtItem = VwNotacreditodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); vwNotacreditodetMntItem.Numeroitem = sgtItem == null ? 1 : sgtItem.Numeroitem + 1; tipoMantenimientoItem = TipoMantenimiento.Nuevo; ordencompraMntItemFrm = new NotacreditoMntItemFrm(tipoMantenimientoItem, vwNotacreditodetMntItem); ordencompraMntItemFrm.ShowDialog(); if (ordencompraMntItemFrm.DialogResult == DialogResult.OK) { VwNotacreditodetList.Add(vwNotacreditodetMntItem); SumarTotales(); if (!gvDetalle.IsLastRow) { gvDetalle.MoveLastVisible(); gvDetalle.Focus(); gvDetalle.FocusedColumn = gvDetalle.Columns["Cantidad"]; } } break; case "btnEditItem": if (gvDetalle.RowCount == 0) { break; } vwNotacreditodetMntItem = (VwNotacreditodet)gvDetalle.GetFocusedRow(); tipoMantenimientoItem = TipoMantenimiento.Modificar; ordencompraMntItemFrm = new NotacreditoMntItemFrm(tipoMantenimientoItem, vwNotacreditodetMntItem); 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)) { vwNotacreditodetMntItem = (VwNotacreditodet)gvDetalle.GetFocusedRow(); vwNotacreditodetMntItem.DataEntityState = DataEntityState.Deleted; if (!gvDetalle.IsFirstRow) { gvDetalle.MovePrev(); } SumarTotales(); } break; } }