public void AnularVenta(bool modoFactura = true)
        {
            _anularVentaIsOk = false;

            var litems         = new List <OOB.Venta.Anular.FichaItem>();
            var litemsDeposito = new List <OOB.Venta.Anular.FichaDeposito>();

            foreach (var it in _litems)
            {
                var nit = new OOB.Venta.Anular.FichaItem()
                {
                    idOperador = it.Ficha.idOperador,
                    idItem     = it.Ficha.id,
                };
                litems.Add(nit);

                var nitDep = new OOB.Venta.Anular.FichaDeposito()
                {
                    autoProducto = it.Ficha.autoProducto,
                    autoDeposito = it.Ficha.autoDeposito,
                    cantUndBloq  = it.TotalUnd,
                };
                litemsDeposito.Add(nitDep);
            }

            if (modoFactura)
            {
                var ficha = new OOB.Venta.Anular.Ficha()
                {
                    items        = litems,
                    itemDeposito = litemsDeposito,
                };
                var r01 = Sistema.MyData.Venta_Anular(ficha);
                if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(r01.Mensaje);
                    return;
                }
            }
            _blitems.Clear();
            _bsitems.CurrencyManager.Refresh();
            _anularVentaIsOk = true;
        }
        public OOB.Resultado.Ficha Venta_Anular(OOB.Venta.Anular.Ficha ficha)
        {
            var result = new OOB.Resultado.Ficha();

            var fichaDTO = new DtoLibPos.Venta.Anular.Ficha()
            {
                items = ficha.items.Select(s =>
                {
                    var nr = new DtoLibPos.Venta.Anular.FichaItem()
                    {
                        idOperador = s.idOperador,
                        idItem     = s.idItem,
                    };
                    return(nr);
                }).ToList(),
                itemDeposito = ficha.itemDeposito.Select(s =>
                {
                    var nr = new DtoLibPos.Venta.Anular.FichaDeposito()
                    {
                        autoProducto = s.autoProducto,
                        autoDeposito = s.autoDeposito,
                        cantUndBloq  = s.cantUndBloq,
                    };
                    return(nr);
                }).ToList(),
            };
            var r01 = MyData.Venta_Anular(fichaDTO);

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

            return(result);
        }