private void CargarDetalleRequerimiento() { VwCuadrocomparativoprv vwCuadrocomparativoprvSel = (VwCuadrocomparativoprv)gvConsulta.GetFocusedRow(); if (vwCuadrocomparativoprvSel != null) { Cursor = Cursors.WaitCursor; string where = string.Format("idcuadrocomparativoprv = {0} and saldoaimportar > 0 and buenapro= '1'", vwCuadrocomparativoprvSel.Idcuadrocomparativoprv); VwCuadrocomparativoarticuloimpocList = Service.GetAllVwCuadrocomparativoarticuloimpoc(where, "numeroitem"); foreach (var itemReq in VwCuadrocomparativoarticuloimpocList) { var totalCantidadImporta = VwOrdenserviciodetList.Where(x => x.Idarticulo == itemReq.Idarticulo && x.Idrequerimientodet == itemReq.Idrequerimientodet && x.DataEntityState != DataEntityState.Deleted).Sum(x => x.Cantidad); if (totalCantidadImporta > 0) { itemReq.Cantidadimportada = totalCantidadImporta; itemReq.Saldoaimportar = itemReq.Cantidad - itemReq.Cantidadimportada; } } var itemsARemover = VwCuadrocomparativoarticuloimpocList.Where(x => x.Saldoaimportar <= 0).ToList(); foreach (var itemToRemove in itemsARemover) { VwCuadrocomparativoarticuloimpocList.Remove(itemToRemove); } //Borrar gcDetalleImp.BeginUpdate(); gcDetalleImp.DataSource = VwCuadrocomparativoarticuloimpocList; gcDetalleImp.EndUpdate(); gvDetalleImp.BestFitColumns(); Cursor = Cursors.Default; } }
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 = VwOrdenserviciodetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); var sgtItem = maxItem == null ? 1 : maxItem.Numeroitem + 1; foreach (var item in VwCuadrocomparativoarticuloimpocList.Where(x => x.Itemseleccionado)) { VwOrdenserviciodet vwOrdenserviciodet = new VwOrdenserviciodet(); vwOrdenserviciodet.Numeroitem = sgtItem; vwOrdenserviciodet.Idarticulo = item.Idarticulo; vwOrdenserviciodet.Codigoarticulo = item.Codigoarticulo; vwOrdenserviciodet.Codigoproveedor = item.Codigoproveedor; vwOrdenserviciodet.Idunidadinventario = item.Idunidadmedida; vwOrdenserviciodet.Nombremarca = item.Nombremarca; vwOrdenserviciodet.Nombrearticulo = item.Nombrearticulo; vwOrdenserviciodet.Cantidad = item.Cantidadaimportar; vwOrdenserviciodet.Idunidadmedida = item.Idunidadmedida; vwOrdenserviciodet.Abrunidadmedida = item.Abrunidadmedida; vwOrdenserviciodet.Preciounitario = item.Preciounitario; vwOrdenserviciodet.Especificacion = item.Especificacion; vwOrdenserviciodet.Descuento1 = item.Descuento1; vwOrdenserviciodet.Descuento2 = item.Descuento2; vwOrdenserviciodet.Descuento3 = item.Descuento3; vwOrdenserviciodet.Descuento4 = item.Descuento4; vwOrdenserviciodet.Preciounitarioneto = item.Preciounitarioneto; vwOrdenserviciodet.Importetotal = item.Importetotal; vwOrdenserviciodet.Pesoarticulo = item.Pesoarticulo; vwOrdenserviciodet.Pesototalkg = Math.Round(vwOrdenserviciodet.Cantidad * vwOrdenserviciodet.Pesoarticulo, 2); vwOrdenserviciodet.Idimpuesto = item.Idimpuesto; vwOrdenserviciodet.Idtipoafectacionigv = item.Idtipoafectacionigv; vwOrdenserviciodet.Gravado = item.Gravado; vwOrdenserviciodet.Exonerado = item.Exonerado; vwOrdenserviciodet.Inafecto = item.Inafecto; vwOrdenserviciodet.Exportacion = item.Exportacion; vwOrdenserviciodet.Idcentrodecosto = item.Idcentrodecosto; vwOrdenserviciodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwOrdenserviciodet.Porcentajepercepcion = item.Porcentajepercepcion; vwOrdenserviciodet.Idarea = item.Idarea; vwOrdenserviciodet.Nombrearea = item.Nombrearea; vwOrdenserviciodet.Idproyecto = item.Idproyecto; vwOrdenserviciodet.Nombreproyecto = item.Nombreproyecto; vwOrdenserviciodet.Idrequerimientodet = item.Idrequerimientodet; vwOrdenserviciodet.Serienumeroreq = item.Serienumeroreq; vwOrdenserviciodet.Codigocptooperacion = item.Codigocptooperacion; vwOrdenserviciodet.Nombrecptooperacion = item.Nombrecptooperacion; vwOrdenserviciodet.DataEntityState = DataEntityState.Added; TipoMnt = vwOrdenserviciodet.Idordenserviciodet <= 0 ? TipoMantenimiento.Nuevo : TipoMantenimiento.Modificar; switch (TipoMnt) { case TipoMantenimiento.Nuevo: vwOrdenserviciodet.Createdby = SessionApp.UsuarioSel.Idusuario; vwOrdenserviciodet.Creationdate = DateTime.Now; break; case TipoMantenimiento.Modificar: vwOrdenserviciodet.Modifiedby = SessionApp.UsuarioSel.Idusuario; vwOrdenserviciodet.Lastmodified = DateTime.Now; break; } sgtItem++; VwOrdenserviciodetList.Add(vwOrdenserviciodet); VwCuadrocomparativoprv = (VwCuadrocomparativoprv)gvConsulta.GetFocusedRow(); } DialogResult = DialogResult.OK; break; case "btnCancelarItem": DialogResult = DialogResult.Cancel; break; case "btnConsultar": if (!ValidacionDatosConsulta()) { return; } CargarRequerimientos(); break; case "btnCerrar": DialogResult = DialogResult.Cancel; break; } }