示例#1
0
        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;
            }
        }
示例#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;
                }

                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;
            }
        }