public OOB.Resultado.Ficha Venta_Item_ActualizarCantidad_Disminuir(OOB.Venta.Item.ActualizarCantidad.Disminuir.Ficha ficha)
        {
            var result = new OOB.Resultado.Ficha();

            var fichaDTO = new DtoLibPos.Venta.Item.ActualizarCantidad.Disminuir.Ficha()
            {
                idOperador   = ficha.idOperador,
                idItem       = ficha.idItem,
                autoProducto = ficha.autoProducto,
                autoDeposito = ficha.autoDeposito,
                cantUndBloq  = ficha.cantUndBloq,
                cantidad     = ficha.cantidad,
                precioNeto   = ficha.precioNeto,
                tarifaVenta  = ficha.tarifaVenta,
                precioDivisa = ficha.precioDivisa,
            };
            var r01 = MyData.Venta_Item_ActualizarCantidad_Disminuir(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                result.Mensaje = r01.Mensaje;
                result.Result  = OOB.Resultado.Enumerados.EnumResult.isError;
                return(result);
            }

            return(result);
        }
 public void Decrementar()
 {
     if (ItemActual != null)
     {
         if (_bsitems.Current != null)
         {
             var it = (data)_bsitems.Current;
             if (it.Ficha.id == ItemActual.id)
             {
                 if (it.EsPesado)
                 {
                     return;
                 }
                 if (it.Cantidad == 1)
                 {
                     var ficha = new OOB.Venta.Item.Eliminar.Ficha()
                     {
                         idOperador   = it.Ficha.idOperador,
                         idItem       = it.Ficha.id,
                         autoProducto = it.Ficha.autoProducto,
                         autoDeposito = it.Ficha.autoDeposito,
                         cantUndBloq  = it.ContenidoEmp,
                     };
                     var r01 = Sistema.MyData.Venta_Item_Eliminar(ficha);
                     if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                     {
                         Helpers.Msg.Error(r01.Mensaje);
                         return;
                     }
                     _blitems.Remove(it);
                     Helpers.Sonido.SonidoOk();
                 }
                 else
                 {
                     var ficha = new OOB.Venta.Item.ActualizarCantidad.Disminuir.Ficha()
                     {
                         idOperador   = it.Ficha.idOperador,
                         idItem       = it.Ficha.id,
                         autoProducto = it.Ficha.autoProducto,
                         autoDeposito = it.Ficha.autoDeposito,
                         cantUndBloq  = it.ContenidoEmp,
                         cantidad     = 1,
                     };
                     var r01 = Sistema.MyData.Venta_Item_ActualizarCantidad_Disminuir(ficha);
                     if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                     {
                         Helpers.Msg.Error(r01.Mensaje);
                         return;
                     }
                     it.setDisminuyeCantidad(1);
                     Helpers.Sonido.SonidoOk();
                 }
             }
         }
     }
 }
        private bool DevolverItem(int id)
        {
            var rt = false;

            var it = _blitems.FirstOrDefault(f => f.Id == id);

            if (it != null)
            {
                if (it.EsPesado)
                {
                    Helpers.Msg.Error("PRODUCTO PESADO DEBE SER ELIMINADO POR COMPLETO");
                    return(false);
                }

                if (it.Cantidad == 1)
                {
                    if (EliminarItem(it.Id))
                    {
                        it.setDisminuyeCantidad(1);
                        return(true);
                    }
                }
                else
                {
                    if (_modoFactura)
                    {
                        var ficha = new OOB.Venta.Item.ActualizarCantidad.Disminuir.Ficha()
                        {
                            idOperador   = it.Ficha.idOperador,
                            idItem       = it.Ficha.id,
                            autoProducto = it.Ficha.autoProducto,
                            autoDeposito = it.Ficha.autoDeposito,
                            cantUndBloq  = it.ContenidoEmp,
                            cantidad     = 1,
                        };
                        var r01 = Sistema.MyData.Venta_Item_ActualizarCantidad_Disminuir(ficha);
                        if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                        {
                            Helpers.Msg.Error(r01.Mensaje);
                            return(false);
                        }
                    }
                    it.setDisminuyeCantidad(1);
                    Helpers.Sonido.SonidoOk();
                    _bsitems.CurrencyManager.Refresh();
                    return(true);
                }
            }

            return(rt);
        }
        public void Decrementar()
        {
            if (ItemActual != null)
            {
                if (_bsitems.Current != null)
                {
                    var it = (data)_bsitems.Current;
                    if (it.Ficha.id == ItemActual.id)
                    {
                        if (it.EsPesado)
                        {
                            return;
                        }
                        if (it.Cantidad == 1)
                        {
                            var ficha = new OOB.Venta.Item.Eliminar.Ficha()
                            {
                                idOperador   = it.Ficha.idOperador,
                                idItem       = it.Ficha.id,
                                autoProducto = it.Ficha.autoProducto,
                                autoDeposito = it.Ficha.autoDeposito,
                                cantUndBloq  = it.ContenidoEmp,
                            };
                            var r01 = Sistema.MyData.Venta_Item_Eliminar(ficha);
                            if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                            {
                                Helpers.Msg.Error(r01.Mensaje);
                                return;
                            }
                            _blitems.Remove(it);
                            Helpers.Sonido.SonidoOk();
                        }
                        else
                        {
                            var pneto   = it.Ficha.pneto;
                            var tarifa  = it.Ficha.tarifaPrecio;
                            var pdivisa = it.Ficha.pfullDivisa;

                            //var autoPrd = it.Ficha.autoProducto;
                            //var t01 = Sistema.MyData.Producto_GetFichaById(autoPrd);
                            //if (t01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                            //{
                            //    Helpers.Msg.Error(t01.Mensaje);
                            //    return;
                            //}

                            //var pneto = 0.0m;
                            //var tarifa = "";
                            //var pdivisa = 0.0m;
                            //switch (_tarifaPrecio)
                            //{
                            //    case "1":
                            //        pneto = t01.Entidad.pneto_1;
                            //        tarifa = "1";
                            //        pdivisa = t01.Entidad.pdf_1;
                            //        break;
                            //    case "2":
                            //        pneto = t01.Entidad.pneto_2;
                            //        tarifa = "2";
                            //        pdivisa = t01.Entidad.pdf_2;
                            //        break;
                            //    case "3":
                            //        pneto = t01.Entidad.pneto_3;
                            //        tarifa = "3";
                            //        pdivisa = t01.Entidad.pdf_3;
                            //        break;
                            //    case "4":
                            //        pneto = t01.Entidad.pneto_4;
                            //        tarifa = "4";
                            //        pdivisa = t01.Entidad.pdf_4;
                            //        break;
                            //    case "5":
                            //        pneto = t01.Entidad.pneto_5;
                            //        tarifa = "5";
                            //        pdivisa = t01.Entidad.pdf_5;
                            //        break;
                            //}

                            //if (_habilitarPos_precio_5_para_venta_mayor)
                            //{
                            //    var xcnt = Items.Where(f => f.Ficha.autoProducto == autoPrd).Sum(f => f.Cantidad);
                            //    if ((xcnt - 1) >= t01.Entidad.contenido_5)
                            //    {
                            //        pneto = t01.Entidad.pneto_5;
                            //        tarifa = "5";
                            //        pdivisa = t01.Entidad.pdf_5;
                            //    }
                            //}

                            var ficha = new OOB.Venta.Item.ActualizarCantidad.Disminuir.Ficha()
                            {
                                idOperador   = it.Ficha.idOperador,
                                idItem       = it.Ficha.id,
                                autoProducto = it.Ficha.autoProducto,
                                autoDeposito = it.Ficha.autoDeposito,
                                cantUndBloq  = it.ContenidoEmp,
                                cantidad     = 1,
                                precioNeto   = pneto,
                                precioDivisa = pdivisa,
                                tarifaVenta  = tarifa,
                            };
                            var r01 = Sistema.MyData.Venta_Item_ActualizarCantidad_Disminuir(ficha);
                            if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                            {
                                Helpers.Msg.Error(r01.Mensaje);
                                return;
                            }
                            it.setDisminuyeCantidad(1);
                            it.setPrecioTarifa(pneto, tarifa, pdivisa);
                            Helpers.Sonido.SonidoOk();
                        }
                    }
                }
            }
        }
        private bool DevolverItem(int id)
        {
            var rt = false;

            var it = _blitems.FirstOrDefault(f => f.Id == id);

            if (it != null)
            {
                if (it.EsPesado)
                {
                    Helpers.Msg.Error("PRODUCTO PESADO DEBE SER ELIMINADO POR COMPLETO");
                    return(false);
                }

                if (it.Cantidad == 1)
                {
                    if (EliminarItem(it.Id))
                    {
                        it.setDisminuyeCantidad(1);
                        return(true);
                    }
                }
                else
                {
                    var pneto   = it.Ficha.pneto;
                    var tarifa  = it.Ficha.tarifaPrecio;
                    var pdivisa = it.Ficha.pfullDivisa;

                    if (_modoFactura)
                    {
                        //var autoPrd = it.Ficha.autoProducto;
                        //var t01 = Sistema.MyData.Producto_GetFichaById(autoPrd);
                        //if (t01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                        //{
                        //    Helpers.Msg.Error(t01.Mensaje);
                        //    return false;
                        //}

                        //switch (_tarifaPrecio)
                        //{
                        //    case "1":
                        //        pneto = t01.Entidad.pneto_1;
                        //        tarifa = "1";
                        //        pdivisa = t01.Entidad.pdf_1;
                        //        break;
                        //    case "2":
                        //        pneto = t01.Entidad.pneto_2;
                        //        tarifa = "2";
                        //        pdivisa = t01.Entidad.pdf_2;
                        //        break;
                        //    case "3":
                        //        pneto = t01.Entidad.pneto_3;
                        //        tarifa = "3";
                        //        pdivisa = t01.Entidad.pdf_3;
                        //        break;
                        //    case "4":
                        //        pneto = t01.Entidad.pneto_4;
                        //        tarifa = "4";
                        //        pdivisa = t01.Entidad.pdf_4;
                        //        break;
                        //    case "5":
                        //        pneto = t01.Entidad.pneto_5;
                        //        tarifa = "5";
                        //        pdivisa = t01.Entidad.pdf_5;
                        //        break;
                        //}

                        //if (_habilitarPos_precio_5_para_venta_mayor)
                        //{
                        //    var xcnt = Items.Where(f => f.Ficha.autoProducto == autoPrd).Sum(f => f.Cantidad);
                        //    if ((xcnt - 1) >= t01.Entidad.contenido_5)
                        //    {
                        //        pneto = t01.Entidad.pneto_5;
                        //        tarifa = "5";
                        //        pdivisa = t01.Entidad.pdf_5;
                        //    }
                        //}

                        var ficha = new OOB.Venta.Item.ActualizarCantidad.Disminuir.Ficha()
                        {
                            idOperador   = it.Ficha.idOperador,
                            idItem       = it.Ficha.id,
                            autoProducto = it.Ficha.autoProducto,
                            autoDeposito = it.Ficha.autoDeposito,
                            cantUndBloq  = it.ContenidoEmp,
                            cantidad     = 1,
                            precioNeto   = pneto,
                            precioDivisa = pdivisa,
                            tarifaVenta  = tarifa,
                        };
                        var r01 = Sistema.MyData.Venta_Item_ActualizarCantidad_Disminuir(ficha);
                        if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                        {
                            Helpers.Msg.Error(r01.Mensaje);
                            return(false);
                        }
                    }
                    it.setDisminuyeCantidad(1);
                    it.setPrecioTarifa(pneto, tarifa, pdivisa);
                    Helpers.Sonido.SonidoOk();
                    _bsitems.CurrencyManager.Refresh();
                    return(true);
                }
            }

            return(rt);
        }