Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }