private bool Validaciones() { if (gvGuiaRemision.RowCount == 0) { XtraMessageBox.Show("No hay información de guias de remisión, verifique", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } int cantidadItemsSeleccionados = VwGuiaremisiondetimpcpventadetList.Count(x => x.Itemseleccionado); if (cantidadItemsSeleccionados == 0) { XtraMessageBox.Show("Debe seleccionar los items a agregar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } return(true); }
private void btnAgregarItems_Click(object sender, EventArgs e) { if (!Validaciones()) { return; } List <ItemGuiaRemisionCpVenta> itemsGuia = null; switch (rgTipoResumen.SelectedIndex) { case 0: //Resumido itemsGuia = VwGuiaremisiondetimpcpventadetList.Where(x => x.Itemseleccionado) .Select(x => new ItemGuiaRemisionCpVenta { Codigoarticulo = x.Codigoarticulo, Codigoproveedor = x.Codigoproveedor, Nombrearticulo = x.Nombrearticulo, Abrunidadmedida = x.Abrunidadmedida, Preciounitario = x.Preciounitario, Idarticulo = x.Idarticulo, Nombremarca = x.Nombremarca, Idunidadmedida = x.Idunidadmedida, Cantidadaimportar = x.Cantidadaimportar, Idimpuesto = x.Idimpuesto, Idcentrodecosto = x.Idcentrodecosto, Descripcioncentrodecosto = x.Descripcioncentrodecosto, Porcentajepercepcion = x.Porcentajepercepcion, Idarea = x.Idarea, Nombrearea = x.Nombrearea, Idproyecto = x.Idproyecto, Nombreproyecto = x.Nombreproyecto, Idtipoafectacionigv = x.Idtipoafectacionigv, Gravado = x.Gravado, Exonerado = x.Exonerado, Inafecto = x.Inafecto, Exportacion = x.Exportacion, Calcularitem = x.Calcularitem } ) .GroupBy(s => new { s.Codigoarticulo, s.Codigoproveedor, s.Nombrearticulo, s.Abrunidadmedida, s.Preciounitario, s.Idarticulo, s.Nombremarca, s.Idunidadmedida, s.Idimpuesto, s.Idcentrodecosto, s.Descripcioncentrodecosto, s.Porcentajepercepcion, s.Idarea, s.Nombrearea, s.Idproyecto, s.Nombreproyecto, s.Idtipoafectacionigv, s.Gravado, s.Exonerado, s.Inafecto, s.Exportacion, s.Calcularitem }) .Select(g => new ItemGuiaRemisionCpVenta { Codigoarticulo = g.Key.Codigoarticulo, Codigoproveedor = g.Key.Codigoproveedor, Nombrearticulo = g.Key.Nombrearticulo, Abrunidadmedida = g.Key.Abrunidadmedida, Preciounitario = g.Key.Preciounitario, Idarticulo = g.Key.Idarticulo, Nombremarca = g.Key.Nombremarca, Idunidadmedida = g.Key.Idunidadmedida, Idimpuesto = g.Key.Idimpuesto, Idcentrodecosto = g.Key.Idcentrodecosto, Descripcioncentrodecosto = g.Key.Descripcioncentrodecosto, Porcentajepercepcion = g.Key.Porcentajepercepcion, Idarea = g.Key.Idarea, Nombrearea = g.Key.Nombrearea, Idproyecto = g.Key.Idproyecto, Nombreproyecto = g.Key.Nombreproyecto, Idtipoafectacionigv = g.Key.Idtipoafectacionigv, Gravado = g.Key.Gravado, Exonerado = g.Key.Exonerado, Inafecto = g.Key.Inafecto, Exportacion = g.Key.Exportacion, Calcularitem = g.Key.Calcularitem, Cantidadaimportar = g.Sum(x => x.Cantidadaimportar) } ).ToList(); break; case 1: //Detallado itemsGuia = VwGuiaremisiondetimpcpventadetList.Where(x => x.Itemseleccionado) .Select(x => new ItemGuiaRemisionCpVenta { Codigoarticulo = x.Codigoarticulo, Codigoproveedor = x.Codigoproveedor, Nombrearticulo = x.Nombrearticulo, Abrunidadmedida = x.Abrunidadmedida, Preciounitario = x.Preciounitario, Idarticulo = x.Idarticulo, Nombremarca = x.Nombremarca, Idunidadmedida = x.Idunidadmedida, Cantidadaimportar = x.Cantidadaimportar, Idimpuesto = x.Idimpuesto, Idcentrodecosto = x.Idcentrodecosto, Descripcioncentrodecosto = x.Descripcioncentrodecosto, Porcentajepercepcion = x.Porcentajepercepcion, Idarea = x.Idarea, Nombrearea = x.Nombrearea, Idproyecto = x.Idproyecto, Nombreproyecto = x.Nombreproyecto, Idtipoafectacionigv = x.Idtipoafectacionigv, Gravado = x.Gravado, Exonerado = x.Exonerado, Inafecto = x.Inafecto, Exportacion = x.Exportacion } ).ToList(); break; } if (itemsGuia != null) { //Enumerar int numeracion = 1; foreach (var item in itemsGuia) { item.Numeroitem = numeracion; numeracion++; } ItemGuiaRemisionCpVentaList = itemsGuia; gcDetalle.DataSource = null; gcDetalle.DataSource = ItemGuiaRemisionCpVentaList; gcDetalle.RefreshDataSource(); iIdalmacen.Enabled = false; } }