public void Inicializar()
 {
     _anularVentaIsOk    = false;
     _dejarPendienteIsOk = false;
     _itemActual         = null;
     _productoInf        = "";
     _prdContenidoInf    = 0;
     _prdIvaInf          = 0.0m;
     _prdPrecioNetoInf   = 0.0m;
     _prdTasaIvaInf      = "";
 }
 public Gestion()
 {
     _autoDeposito                       = "";
     _tarifaPrecio                       = "";
     _anularVentaIsOk                    = false;
     _dejarPendienteIsOk                 = false;
     _validarExistencia                  = true;
     _itemActual                         = null;
     _litems                             = new List <data>();
     _blitems                            = new BindingList <data>(_litems);
     _bsitems                            = new BindingSource();
     _bsitems.DataSource                 = _blitems;
     _bsitems.CurrentChanged            += _bsitems_CurrentChanged;
     _gestionDevolucion                  = new Devolucion.Gestion();
     _gestionDevolucion.EliminarItemHnd += _gestionDevolucion_EliminarItemHnd;
     _gestionDevolucion.DevolverItemHnd += _gestionDevolucion_DevolverItemHnd;
 }
        public OOB.Resultado.FichaEntidad <OOB.Venta.Item.Entidad.Ficha> Venta_Item_GetById(int id)
        {
            var result = new OOB.Resultado.FichaEntidad <OOB.Venta.Item.Entidad.Ficha>();

            var r01 = MyData.Venta_Item_GetById(id);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                result.Mensaje = r01.Mensaje;
                result.Result  = OOB.Resultado.Enumerados.EnumResult.isError;
                return(result);
            }
            var s  = r01.Entidad;
            var nr = new OOB.Venta.Item.Entidad.Ficha()
            {
                autoDepartamento   = s.autoDepartamento,
                autoGrupo          = s.autoGrupo,
                autoProducto       = s.autoProducto,
                autoSubGrupo       = s.autoSubGrupo,
                autoTasa           = s.autoTasa,
                cantidad           = s.cantidad,
                categoria          = s.categoria,
                codigo             = s.codigo,
                costoCompra        = s.costoCompra,
                costoPromedio      = s.costoPromedio,
                costoPromedioUnd   = s.costoPromedioUnd,
                costoUnd           = s.costoUnd,
                decimales          = s.decimales,
                empaqueContenido   = s.empaqueContenido,
                empaqueDescripcion = s.empaqueDescripcion,
                estatusPesado      = s.estatusPesado,
                id           = s.id,
                idOperador   = s.idOperador,
                nombre       = s.nombre,
                pfullDivisa  = s.pfullDivisa,
                pneto        = s.pneto,
                tarifaPrecio = s.tarifaPrecio,
                tasaIva      = s.tasaIva,
                tipoIva      = s.tipoIva,
                autoDeposito = s.autoDeposito,
            };

            result.Entidad = nr;

            return(result);
        }
Ejemplo n.º 4
0
 public data(OOB.Documento.Entidad.FichaItem it, decimal _tasaCambioActual)
 {
     this._it         = new OOB.Venta.Item.Entidad.Ficha(it);
     this._tasaCambio = _tasaCambioActual;
 }
Ejemplo n.º 5
0
 public data(OOB.Venta.Item.Entidad.Ficha it, decimal tasaCamb)
 {
     this._it         = it;
     this._tasaCambio = tasaCamb;
 }
 public void setItemActualInicializar()
 {
     _itemActual = null;
 }
        private void IncrementarItem(data it, decimal cnt)
        {
            if (it != null)
            {
                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   = it.PrecioItem;
                var tarifa  = it.Ficha.tarifaPrecio;
                var pdivisa = it.Ficha.pfullDivisa;
                var xcnt    = Items.Where(f => f.Ficha.autoProducto == autoPrd).Sum(f => f.Cantidad);
                if ((xcnt + cnt) >= t01.Entidad.contenido_5)
                {
                    pneto   = t01.Entidad.pneto_5;
                    tarifa  = "5";
                    pdivisa = t01.Entidad.pdf_5;
                }

                var ficha = new OOB.Venta.Item.ActualizarCantidad.Aumentar.Ficha()
                {
                    idOperador        = it.Ficha.idOperador,
                    idItem            = it.Ficha.id,
                    autoProducto      = it.Ficha.autoProducto,
                    autoDeposito      = it.Ficha.autoDeposito,
                    cantUndBloq       = it.ContenidoEmp * cnt,
                    cantidad          = cnt,
                    validarExistencia = Sistema.ConfiguracionActual.ValidarExistencia_Activa,
                    precioNeto        = pneto,
                    tarifaVenta       = tarifa,
                    precioDivisa      = pdivisa,
                };
                var r01 = Sistema.MyData.Venta_Item_ActualizarCantidad_Aumentar(ficha);
                if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(r01.Mensaje);
                    return;
                }
                var r02 = Sistema.MyData.Venta_Item_GetById(ficha.idItem);
                if (r02.Result == OOB.Resultado.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(r02.Mensaje);
                    return;
                }

                it.setAumentaCantiad(cnt);
                it.setPrecioTarifa(pneto, tarifa, pdivisa);
                if (_bsitems.IndexOf(it) > 0)
                {
                    _blitems.Remove(it);
                    _blitems.Insert(0, it);
                    _bsitems.MoveFirst();
                }

                _itemActual = r02.Entidad;
                Helpers.Sonido.SonidoOk();
            }
        }
        private void Registrar(OOB.Producto.Entidad.Ficha prd, decimal cant, string tarifa)
        {
            var cnt              = 0.0m;
            var precioNeto       = 0.0m;
            var precioFullDivisa = 0.0m;
            var empaqueCont      = 0;
            var empaqueDesc      = "";
            var decimales        = "";


            //if (_habilitarPos_precio_5_para_venta_mayor)
            //{
            //    var ent = (data)Items.FirstOrDefault(f => f.Ficha.autoProducto == prd.Auto);
            //    if (ent != null)
            //    {
            //        if (!ent.EsPesado)
            //        {
            //            IncrementarItem(ent,1);
            //            return;
            //        }
            //    }
            //}

            switch (tarifa)
            {
            case "1":
                cnt              = prd.contenido_1;
                precioNeto       = prd.pneto_1;
                precioFullDivisa = prd.pdf_1;
                empaqueCont      = prd.contenido_1;
                empaqueDesc      = prd.empaque_1;
                decimales        = prd.decimales_1;
                break;

            case "2":
                cnt              = prd.contenido_2;
                precioNeto       = prd.pneto_2;
                precioFullDivisa = prd.pdf_2;
                empaqueCont      = prd.contenido_2;
                empaqueDesc      = prd.empaque_2;
                decimales        = prd.decimales_2;
                break;

            case "3":
                cnt              = prd.contenido_3;
                precioNeto       = prd.pneto_3;
                precioFullDivisa = prd.pdf_3;
                empaqueCont      = prd.contenido_3;
                empaqueDesc      = prd.empaque_3;
                decimales        = prd.decimales_3;
                break;

            case "4":
                cnt              = prd.contenido_4;
                precioNeto       = prd.pneto_4;
                precioFullDivisa = prd.pdf_4;
                empaqueCont      = prd.contenido_4;
                empaqueDesc      = prd.empaque_4;
                decimales        = prd.decimales_4;
                break;

            case "5":
                cnt              = prd.contenido_5;
                precioNeto       = prd.pneto_5;
                precioFullDivisa = prd.pdf_5;
                empaqueCont      = prd.contenido_5;
                empaqueDesc      = prd.empaque_5;
                decimales        = prd.decimales_5;
                break;

            case "6":
                cnt              = prd.contenidoMay_1;
                precioNeto       = prd.pnetoMay_1;
                precioFullDivisa = prd.pdfMay_1;
                empaqueCont      = prd.contenidoMay_1;
                empaqueDesc      = prd.empaqueMay_1;
                decimales        = prd.decimalesMay_1;
                break;

            case "7":
                cnt              = prd.contenidoMay_2;
                precioNeto       = prd.pnetoMay_2;
                precioFullDivisa = prd.pdfMay_2;
                empaqueCont      = prd.contenidoMay_2;
                empaqueDesc      = prd.empaqueMay_2;
                decimales        = prd.decimalesMay_2;
                break;
            }

            //if (_habilitarPos_precio_5_para_venta_mayor)
            //{
            //    var xcnt = Items.Where(f => f.Ficha.autoProducto == prd.Auto).Sum(f => f.Cantidad);
            //    if (xcnt >= (prd.contenido_5 - 1))
            //    {
            //        precioNeto = prd.pneto_5;
            //        precioFullDivisa = prd.pdf_5;
            //        empaqueDesc = prd.empaque_5;
            //    }
            //}

            if (cnt == 0.0m)
            {
                Helpers.Msg.Error("CONTENIDO DEL PRODUCTO NO DEFINIDO");
                return;
            }
            if (precioNeto == 0.0m)
            {
                Helpers.Msg.Error("PRECIO DEL PRODUCTO NO DEFINIDO");
                return;
            }

            cnt *= cant;
            var ficha = new OOB.Venta.Item.Registrar.Ficha()
            {
                validarExistencia = _validarExistencia,
                deposito          = new OOB.Venta.Item.Registrar.FichaDeposito()
                {
                    autoDeposito = _autoDeposito,
                    autoPrd      = prd.Auto,
                    cantBloq     = cnt
                },
                item = new OOB.Venta.Item.Registrar.FichaItem()
                {
                    autoDepartamento   = prd.AutoDepartamento,
                    autoGrupo          = prd.AutoGrupo,
                    autoProducto       = prd.Auto,
                    autoSubGrupo       = prd.AutoSubGrupo,
                    autoTasa           = prd.AutoTasaIva,
                    cantidad           = cant,
                    categoria          = prd.Categoria,
                    codigo             = prd.CodigoPrd,
                    costoCompra        = prd.Costo,
                    costoPromedio      = prd.CostoPromedio,
                    costoPromedioUnd   = prd.CostoPromedioUnidad,
                    costoUnd           = prd.CostoUnidad,
                    decimales          = decimales,
                    empaqueContenido   = empaqueCont,
                    empaqueDescripcion = empaqueDesc,
                    estatusPesado      = prd.EstatusPesado,
                    idOperador         = Sistema.PosEnUso.id,
                    nombre             = prd.NombrePrd,
                    pfullDivisa        = precioFullDivisa,
                    pneto        = precioNeto,
                    tarifaPrecio = tarifa,
                    tasaIva      = prd.TasaImpuesto,
                    tipoIva      = "",
                    autoDeposito = _autoDeposito,
                },
            };
            var r01 = Sistema.MyData.Venta_Item_Registrar(ficha);

            if (r01.Result == OOB.Resultado.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }
            var r02 = Sistema.MyData.Venta_Item_GetById(r01.Id);

            if (r02.Result == OOB.Resultado.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r02.Mensaje);
                return;
            }

            _itemActual = r02.Entidad;
            _blitems.Insert(0, new data(r02.Entidad, _tasaCambio));
            _bsitems.Position = 0;
            Helpers.Sonido.SonidoOk();
        }
        public OOB.Resultado.Lista <OOB.Venta.Item.Entidad.Ficha> Venta_Item_GetLista(OOB.Venta.Item.Lista.Filtro filtro)
        {
            var result = new OOB.Resultado.Lista <OOB.Venta.Item.Entidad.Ficha>();

            var filtroDTO = new DtoLibPos.Venta.Item.Lista.Filtro()
            {
                idOperador = filtro.idOperador,
            };
            var r01 = MyData.Venta_Item_GetLista(filtroDTO);

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

            var lst = new List <OOB.Venta.Item.Entidad.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    lst = r01.Lista.Select(s =>
                    {
                        var nr = new OOB.Venta.Item.Entidad.Ficha()
                        {
                            autoDepartamento   = s.autoDepartamento,
                            autoGrupo          = s.autoGrupo,
                            autoProducto       = s.autoProducto,
                            autoSubGrupo       = s.autoSubGrupo,
                            autoTasa           = s.autoTasa,
                            cantidad           = s.cantidad,
                            categoria          = s.categoria,
                            codigo             = s.codigo,
                            costoCompra        = s.costoCompra,
                            costoPromedio      = s.costoPromedio,
                            costoPromedioUnd   = s.costoPromedioUnd,
                            costoUnd           = s.costoUnd,
                            decimales          = s.decimales,
                            empaqueContenido   = s.empaqueContenido,
                            empaqueDescripcion = s.empaqueDescripcion,
                            estatusPesado      = s.estatusPesado,
                            id           = s.id,
                            idOperador   = s.idOperador,
                            nombre       = s.nombre,
                            pfullDivisa  = s.pfullDivisa,
                            pneto        = s.pneto,
                            tarifaPrecio = s.tarifaPrecio,
                            tasaIva      = s.tasaIva,
                            tipoIva      = s.tipoIva,
                            autoDeposito = s.autoDeposito,
                        };
                        return(nr);
                    }).ToList();
                }
            }
            result.ListaD = lst;

            return(result);
        }