private void CargarDetalleRequerimiento() { VwRequerimiento vwRequerimientoSel = (VwRequerimiento)gvConsulta.GetFocusedRow(); if (vwRequerimientoSel != null) { Cursor = Cursors.WaitCursor; string where = string.Format("idrequerimiento = {0} and saldoaimportar > 0 and aprobado = '1'", vwRequerimientoSel.Idrequerimiento); VwRequerimientodetordcompraimpList = Service.GetAllVwRequerimientodetordcompraimp(where, "numeroitem"); foreach (var itemReq in VwRequerimientodetordcompraimpList) { var totalCantidadImporta = VwOrdencompradetList.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 = VwRequerimientodetordcompraimpList.Where(x => x.Saldoaimportar <= 0).ToList(); foreach (var itemToRemove in itemsARemover) { VwRequerimientodetordcompraimpList.Remove(itemToRemove); } //Borrar gcDetalleImp.BeginUpdate(); gcDetalleImp.DataSource = VwRequerimientodetordcompraimpList; 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 = VwOrdencompradetList.Where(w => w.DataEntityState != DataEntityState.Deleted) .OrderByDescending(t => t.Numeroitem) .FirstOrDefault(); var sgtItem = maxItem == null ? 1 : maxItem.Numeroitem + 1; foreach (var item in VwRequerimientodetordcompraimpList.Where(x => x.Itemseleccionado)) { VwOrdencompradet vwOrdencompradet = new VwOrdencompradet(); vwOrdencompradet.Numeroitem = sgtItem; vwOrdencompradet.Idarticulo = item.Idarticulo; vwOrdencompradet.Codigoarticulo = item.Codigoarticulo; vwOrdencompradet.Codigoproveedor = item.Codigoproveedor; vwOrdencompradet.Idunidadinventario = item.Idunidadmedida; vwOrdencompradet.Nombremarca = item.Nombremarca; vwOrdencompradet.Nombrearticulo = item.Nombrearticulo; vwOrdencompradet.Cantidad = item.Cantidadaimportar; vwOrdencompradet.Idunidadmedida = item.Idunidadmedida; vwOrdencompradet.Abrunidadmedida = item.Abrunidadmedida; vwOrdencompradet.Preciounitario = item.Preciounitario; vwOrdencompradet.Especificacion = item.Especificacion; vwOrdencompradet.Descuento1 = 0m; vwOrdencompradet.Descuento2 = 0m; vwOrdencompradet.Descuento3 = 0m; vwOrdencompradet.Descuento4 = 0m; vwOrdencompradet.Preciounitarioneto = 0m; vwOrdencompradet.Importetotal = 0m; vwOrdencompradet.Pesoarticulo = item.Pesoarticulo; vwOrdencompradet.Pesototalkg = Math.Round(vwOrdencompradet.Cantidad * vwOrdencompradet.Pesoarticulo, 2); vwOrdencompradet.Idimpuesto = item.Idimpuesto; vwOrdencompradet.Idtipoafectacionigv = item.Idtipoafectacionigv; vwOrdencompradet.Gravado = item.Gravado; vwOrdencompradet.Exonerado = item.Exonerado; vwOrdencompradet.Inafecto = item.Inafecto; vwOrdencompradet.Exportacion = item.Exportacion; vwOrdencompradet.Idcentrodecosto = item.Idcentrodecosto; vwOrdencompradet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwOrdencompradet.Porcentajepercepcion = 0m; vwOrdencompradet.Idarea = item.Idarea; vwOrdencompradet.Nombrearea = item.Nombrearea; vwOrdencompradet.Idproyecto = item.Idproyecto; vwOrdencompradet.Nombreproyecto = item.Nombreproyecto; vwOrdencompradet.Idrequerimientodet = item.Idrequerimientodet; vwOrdencompradet.Serienumeroreq = item.Serienumeroreq; vwOrdencompradet.Codigocptooperacion = item.Codigocptooperacion; vwOrdencompradet.Nombrecptooperacion = item.Nombrecptooperacion; vwOrdencompradet.DataEntityState = DataEntityState.Added; //Se establece el calcular item vwOrdencompradet.Calcularitem = item.Calcularitem; TipoMnt = vwOrdencompradet.Idordencompradet <= 0 ? TipoMantenimiento.Nuevo : TipoMantenimiento.Modificar; switch (TipoMnt) { case TipoMantenimiento.Nuevo: vwOrdencompradet.Createdby = SessionApp.UsuarioSel.Idusuario; vwOrdencompradet.Creationdate = DateTime.Now; break; case TipoMantenimiento.Modificar: vwOrdencompradet.Modifiedby = SessionApp.UsuarioSel.Idusuario; vwOrdencompradet.Lastmodified = DateTime.Now; break; } sgtItem++; VwOrdencompradetList.Add(vwOrdencompradet); VwRequerimientoSel = (VwRequerimiento)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; } }