private void SumarTotales() { gvDetalle.BeginDataUpdate(); gvDetalle.RefreshData(); decimal totalbruto = VwRequerimientodetList.Where(w => w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Cantidad * s.Preciounitario); rTotalbruto.EditValue = totalbruto; decimal totalgravado = VwRequerimientodetList.Where(w => w.Gravado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); decimal totalinafecto = VwRequerimientodetList.Where(w => w.Inafecto && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); decimal totalexonerado = VwRequerimientodetList.Where(w => w.Exonerado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); //Impuesto impuestoSel = ImpuestoList.FirstOrDefault(x => x.Idimpuesto == (int)iIdimpuesto.EditValue); if (VwRequerimientoSel != null) { decimal porcentajeImpuesto = VwRequerimientoSel.Porcentajeimpuesto; decimal factorImpuesto = 1 + (porcentajeImpuesto / 100); //sumart total percepcion gravados de impuesto decimal totalValorPercepcion = VwRequerimientodetList.Where( w => w.DataEntityState != DataEntityState.Deleted && w.Porcentajepercepcion > 0 && w.Gravado && w.Calcularitem).Sum(s => s.Importetotal * (s.Porcentajepercepcion / 100)); rPorcentajepercepcion.EditValue = totalValorPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0m; rImportetotalpercepcion.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalValorPercepcion : totalValorPercepcion * factorImpuesto, 2); rTotalgravado.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado / factorImpuesto : totalgravado, 2); rTotalinafecto.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalinafecto / factorImpuesto : totalinafecto, 2); rtotalexonerado.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalexonerado / factorImpuesto : totalexonerado, 2); rTotalimpuesto.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado - (decimal)rTotalgravado.EditValue : totalgravado * porcentajeImpuesto / 100, 2); rImportetotal.EditValue = (decimal)rTotalgravado.EditValue + (decimal)rTotalinafecto.EditValue + (decimal)rtotalexonerado.EditValue + +(decimal)rTotalimpuesto.EditValue; rTotaldocumento.EditValue = (decimal)rImportetotal.EditValue + (decimal)rImportetotalpercepcion.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; } VwRequerimientoSel = (VwRequerimiento)gvConsulta.GetFocusedRow(); foreach (var item in VwRequerimientodetList.Where(x => x.Itemseleccionado)) { VwRequerimientodet vwRequerimientodet = new VwRequerimientodet(); vwRequerimientodet.Idrequerimiento = 0; vwRequerimientodet.Numeroitem = 0; vwRequerimientodet.Idarticulo = item.Idarticulo; vwRequerimientodet.Codigoarticulo = item.Codigoarticulo; vwRequerimientodet.Codigoproveedor = item.Codigoproveedor; vwRequerimientodet.Idunidadmedida = item.Idunidadmedida; vwRequerimientodet.Nombremarca = item.Nombremarca; vwRequerimientodet.Nombrearticulo = item.Nombrearticulo; vwRequerimientodet.Cantidad = item.Cantidadaimportar; vwRequerimientodet.Cantidadinicial = item.Cantidadaimportar; vwRequerimientodet.Idunidadmedida = item.Idunidadmedida; vwRequerimientodet.Abrunidadmedida = item.Abrunidadmedida; vwRequerimientodet.Preciounitario = item.Preciounitario; vwRequerimientodet.Especificacion = item.Especificacion; vwRequerimientodet.Importetotal = 0m; vwRequerimientodet.Idimpuesto = item.Idimpuesto; vwRequerimientodet.Idtipoafectacionigv = item.Idtipoafectacionigv; vwRequerimientodet.Gravado = item.Gravado; vwRequerimientodet.Exonerado = item.Exonerado; vwRequerimientodet.Inafecto = item.Inafecto; vwRequerimientodet.Exportacion = item.Exportacion; vwRequerimientodet.Idcentrodecosto = item.Idcentrodecosto; vwRequerimientodet.Codigocentrodecosto = item.Codigocentrodecosto; vwRequerimientodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwRequerimientodet.Porcentajepercepcion = 0m; vwRequerimientodet.Idrequerimientodet = 0; vwRequerimientodet.DataEntityState = DataEntityState.Added; vwRequerimientodet.NumerordendetrabajoImportado = VwRequerimientoSel.Numerordendetrabajo; TipoMnt = vwRequerimientodet.Idrequerimientodet <= 0 ? TipoMantenimiento.Nuevo : TipoMantenimiento.Modificar; //Los items por defecto se calculan vwRequerimientodet.Calcularitem = item.Calcularitem; //Si es un articulo compuesto agregar detalle if (vwRequerimientodet.Calcularitem) { AsignarDetalleDeArticulosCompuestos(item); } switch (TipoMnt) { case TipoMantenimiento.Nuevo: vwRequerimientodet.Createdby = SessionApp.UsuarioSel.Idusuario; vwRequerimientodet.Creationdate = DateTime.Now; break; case TipoMantenimiento.Modificar: vwRequerimientodet.Modifiedby = SessionApp.UsuarioSel.Idusuario; vwRequerimientodet.Lastmodified = DateTime.Now; break; } //sgtItem++; VwRequerimientodetACopiarList.Add(vwRequerimientodet); } DialogResult = DialogResult.OK; break; case "btnCancelarItem": DialogResult = DialogResult.Cancel; break; case "btnConsultar": if (!ValidacionDatosConsulta()) { return; } CargarRequerimientos(); break; case "btnCerrar": DialogResult = DialogResult.Cancel; break; } }