private void RegistraItemBarra(OOB.LibVenta.PosOffline.Producto.Ficha _prd, OOB.LibVenta.PosOffline.Precio.Ficha precio)
        {
            var nr = new Item()
            {
                AutoId              = _prd.Auto,
                NombrePrd           = _prd.NombrePrd,
                Cantidad            = 1,
                PrecioNeto          = precio.PrecioNeto,
                TasaIva             = _prd.TasaImpuesto,
                EsPesado            = _prd.IsPesado,
                TipoIva             = _prd.TipoIva,
                CostoUnd            = _prd.CostoUnidad,
                CostoPromUnd        = _prd.CostoPromedioUnidad,
                AutoDepartamento    = _prd.AutoDepartamento,
                AutoGrupo           = _prd.AutoGrupo,
                AutoSubGrupo        = _prd.AutoSubGrupo,
                AutoTasa            = _prd.AutoTasa,
                Categoria           = _prd.Categoria,
                CodigoPrd           = _prd.CodigoPrd,
                Decimales           = precio.Decimales,
                EmpaqueCodigo       = "",
                EmpaqueDescripcion  = precio.DescEmpVenta,
                EmpaqueContenido    = precio.ContEmpVenta,
                DiasEmpaqueGarantia = _prd.DiasEmpaqueGarantia,
                TarifaPrecio        = precio.Id,
                PrecioSugerido      = _prd.PrecioSugerido,
                CostoCompra         = _prd.Costo,
                CostoPromedio       = _prd.CostoPromedio,
            };

            Insertar(nr);
        }
 public CtrlBuscar(CtrlLista listaPrd)
 {
     _gestionPrecioMayor = new PrecioMayor.Gestion();
     _listaPrd           = listaPrd;
     Producto            = new OOB.LibVenta.PosOffline.Producto.Ficha();
     _formato            = new FormatoPreEmpaque();
     Peso   = 0.0m;
     Precio = 0.0m;
 }
        private bool CargarData()
        {
            var rt = true;

            var r01 = Sistema.MyData2.Producto(_autoPrd);

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return(false);
            }
            _producto = r01.Entidad.NombrePrd;
            _ficha    = r01.Entidad;

            return(rt);
        }
        private void RegistraItemPesado(OOB.LibVenta.PosOffline.Producto.Ficha _prd, OOB.LibVenta.PosOffline.Precio.Ficha precio)
        {
            var r01 = Sistema.MyBalanza.LeerPeso();

            if (r01.IsOk == false)
            {
                Helpers.Sonido.Error();
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }
            if (r01.Peso > 0)
            {
                var nr = new Item()
                {
                    AutoId              = _prd.Auto,
                    NombrePrd           = _prd.NombrePrd,
                    Cantidad            = r01.Peso,
                    PrecioNeto          = precio.PrecioNeto,
                    TasaIva             = _prd.TasaImpuesto,
                    EsPesado            = _prd.IsPesado,
                    TipoIva             = _prd.TipoIva,
                    CostoUnd            = _prd.CostoUnidad,
                    CostoPromUnd        = _prd.CostoPromedioUnidad,
                    AutoDepartamento    = _prd.AutoDepartamento,
                    AutoGrupo           = _prd.AutoGrupo,
                    AutoSubGrupo        = _prd.AutoSubGrupo,
                    AutoTasa            = _prd.AutoTasa,
                    Categoria           = _prd.Categoria,
                    CodigoPrd           = _prd.CodigoPrd,
                    Decimales           = precio.Decimales,
                    EmpaqueCodigo       = "",
                    EmpaqueDescripcion  = precio.DescEmpVenta,
                    EmpaqueContenido    = precio.ContEmpVenta,
                    DiasEmpaqueGarantia = _prd.DiasEmpaqueGarantia,
                    TarifaPrecio        = precio.Id,
                    PrecioSugerido      = _prd.PrecioSugerido,
                    CostoCompra         = _prd.Costo,
                    CostoPromedio       = _prd.CostoPromedio,
                };
                Insertar(nr);
            }
        }
示例#5
0
 public void setEntidad(OOB.LibVenta.PosOffline.Producto.Ficha ficha)
 {
     CodigoPrd    = ficha.CodigoPrd;
     CodigoPlu    = ficha.CodigoPlu;
     CodigoBarra  = ficha.CodigoBarra;
     NombrePrd    = ficha.NombrePrd;
     Departamento = ficha.NombreDepartamento;
     Grupo        = ficha.NombreGrupo;
     Marca        = ficha.Marca;
     Modelo       = ficha.Modelo;
     Pasillo      = ficha.Pasillo;
     Tasa         = ficha.TasaImpuesto;
     Referencia   = ficha.Referencia;
     IsInactivo   = !ficha.IsActivo;
     Precio_1.setEntidad(ficha.Precio_1, Tasa);
     Precio_2.setEntidad(ficha.Precio_2, Tasa);
     Precio_3.setEntidad(ficha.Precio_3, Tasa);
     Precio_4.setEntidad(ficha.Precio_4, Tasa);
     Precio_5.setEntidad(ficha.Precio_5, Tasa);
 }
        private void RegistraItemPreEmpaque(OOB.LibVenta.PosOffline.Producto.Ficha _prd, OOB.LibVenta.PosOffline.Precio.Ficha precio, decimal peso)
        {
            if (_activarRepesaje)
            {
                var r01 = Sistema.MyBalanza.LeerPeso();
                if (r01.IsOk == false)
                {
                    Helpers.Msg.Error(r01.Mensaje);
                    return;
                }

                if (r01.Peso > 0)
                {
                    var difPorArriba = r01.Peso - peso;
                    if (difPorArriba > 0 && difPorArriba > _limiteRepesajeSup)
                    {
                        Helpers.Sonido.Error();
                        Helpers.Msg.Error("REPESAJE NO CONCUERDA CON EL PESO DE LA ETIQUETA");
                        return;
                    }
                    var difPorAbajo = r01.Peso - peso;
                    if (difPorAbajo < 0 && Math.Abs(difPorAbajo) > _limiteRepesajeInf)
                    {
                        Helpers.Sonido.Error();
                        Helpers.Msg.Error("REPESAJE NO CONCUERDA CON EL PESO DE LA ETIQUETA");
                        return;
                    }
                }
                else
                {
                    return;
                }
            }

            var nr = new Item()
            {
                AutoId              = _prd.Auto,
                NombrePrd           = _prd.NombrePrd,
                Cantidad            = peso,
                PrecioNeto          = precio.PrecioNeto,
                TasaIva             = _prd.TasaImpuesto,
                EsPesado            = _prd.IsPesado,
                TipoIva             = _prd.TipoIva,
                CostoUnd            = _prd.CostoUnidad,
                CostoPromUnd        = _prd.CostoPromedioUnidad,
                AutoDepartamento    = _prd.AutoDepartamento,
                AutoGrupo           = _prd.AutoGrupo,
                AutoSubGrupo        = _prd.AutoSubGrupo,
                AutoTasa            = _prd.AutoTasa,
                Categoria           = _prd.Categoria,
                CodigoPrd           = _prd.CodigoPrd,
                Decimales           = precio.Decimales,
                EmpaqueCodigo       = "",
                EmpaqueDescripcion  = precio.DescEmpVenta,
                EmpaqueContenido    = precio.ContEmpVenta,
                DiasEmpaqueGarantia = _prd.DiasEmpaqueGarantia,
                TarifaPrecio        = precio.Id,
                PrecioSugerido      = _prd.PrecioSugerido,
                CostoCompra         = _prd.Costo,
                CostoPromedio       = _prd.CostoPromedio,
            };

            Insertar(nr);
        }
        public void RegistraItem(OOB.LibVenta.PosOffline.Producto.Ficha _prd, decimal peso)
        {
            if (!_prd.IsActivo)
            {
                Helpers.Sonido.Error();
                Helpers.Msg.Error("PRODUCTO EN ESTADO INACTIVO, VERIFIQUE POR FAVOR... !!");
                return;
            }

            //var ent = _items.FirstOrDefault(f => f.AutoId == _prd.Auto && f.TarifaPrecio == _tarifaPrecio);
            //if (ent != null)
            //{
            //    if (!ent.EsPesado)
            //    {
            //        IncrementarItem(ent, 1);
            //        return;
            //    }
            //}

            OOB.LibVenta.PosOffline.Precio.Ficha precio = null;
            if (_tarifaPrecio == "1")
            {
                if (_prd.Precio_1.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.Precio_1;
            }
            if (_tarifaPrecio == "2")
            {
                if (_prd.Precio_2.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.Precio_2;
            }
            if (_tarifaPrecio == "3")
            {
                if (_prd.Precio_3.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.Precio_3;
            }
            if (_tarifaPrecio == "4")
            {
                if (_prd.Precio_4.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.Precio_4;
            }

            if (_habilitarPos_precio_5_para_venta_mayor)
            {
                var xcnt = Items.Where(f => f.AutoId == _prd.Auto).Sum(f => f.Cantidad);
                if (xcnt >= (_prd.Precio_5.ContEmpVenta - 1))
                {
                    if (_prd.Precio_5.PrecioNeto > 0.0m && _prd.Precio_5.ContEmpVenta > 1)
                    {
                        precio = _prd.Precio_5;
                    }
                }
            }
            else
            {
                if (_tarifaPrecio == "5")
                {
                    if (_prd.Precio_5.PrecioNeto <= 0.0m)
                    {
                        Helpers.Sonido.Error();
                        Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                        return;
                    }
                    precio = _prd.Precio_5;
                }
            }

            if (_tarifaPrecio == "6")
            {
                if (_prd.PrecioMay_1.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.PrecioMay_1;
            }

            if (_tarifaPrecio == "7")
            {
                if (_prd.PrecioMay_2.PrecioNeto <= 0.0m)
                {
                    Helpers.Sonido.Error();
                    Helpers.Msg.Error("PRODUCTO NO POSEE PRECIO DE VENTA, VERIFIQUE POR FAVOR... !!");
                    return;
                }
                precio = _prd.PrecioMay_2;
            }

            if (_prd.IsPreEmpaque)
            {
                if (peso > 0)
                {
                    RegistraItemPreEmpaque(_prd, precio, peso);
                }
            }
            else
            {
                if (peso == 0.0m)
                {
                    if (_prd.IsPesado)
                    {
                        RegistraItemPesado(_prd, precio);
                    }
                    else
                    {
                        RegistraItemBarra(_prd, precio);
                    }
                }
            }
        }
        public OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Producto.Ficha> Producto(string aBuscar)
        {
            var rt = new OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Producto.Ficha>();

            var r01 = MyData.Producto(aBuscar);

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

            var prd = r01.Entidad;
            var pv1 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "1",
                ContEmpVenta = prd.Precio_1.Contenido,
                Decimales    = prd.Precio_1.Decimales,
                PrecioNeto   = prd.Precio_1.Neto,
                DescEmpVenta = prd.Precio_1.Empaque,
            };
            var pv2 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "2",
                ContEmpVenta = prd.Precio_2.Contenido,
                Decimales    = prd.Precio_2.Decimales,
                PrecioNeto   = prd.Precio_2.Neto,
                DescEmpVenta = prd.Precio_2.Empaque,
            };
            var pv3 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "3",
                ContEmpVenta = prd.Precio_3.Contenido,
                Decimales    = prd.Precio_3.Decimales,
                PrecioNeto   = prd.Precio_3.Neto,
                DescEmpVenta = prd.Precio_3.Empaque,
            };
            var pv4 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "4",
                ContEmpVenta = prd.Precio_4.Contenido,
                Decimales    = prd.Precio_4.Decimales,
                PrecioNeto   = prd.Precio_4.Neto,
                DescEmpVenta = prd.Precio_4.Empaque,
            };
            var pv5 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "5",
                ContEmpVenta = prd.Precio_5.Contenido,
                Decimales    = prd.Precio_5.Decimales,
                PrecioNeto   = prd.Precio_5.Neto,
                DescEmpVenta = prd.Precio_5.Empaque,
            };
            var pvMay1 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "6",
                ContEmpVenta = prd.PrecioMay_1.Contenido,
                Decimales    = prd.PrecioMay_1.Decimales,
                PrecioNeto   = prd.PrecioMay_1.Neto,
                DescEmpVenta = prd.PrecioMay_1.Empaque,
            };
            var pvMay2 = new OOB.LibVenta.PosOffline.Precio.Ficha()
            {
                Id           = "7",
                ContEmpVenta = prd.PrecioMay_2.Contenido,
                Decimales    = prd.PrecioMay_2.Decimales,
                PrecioNeto   = prd.PrecioMay_2.Neto,
                DescEmpVenta = prd.PrecioMay_2.Empaque,
            };

            var nr = new OOB.LibVenta.PosOffline.Producto.Ficha()
            {
                Auto             = prd.Auto,
                AutoDepartamento = prd.AutoDepartamento,
                AutoGrupo        = prd.AutoGrupo,
                AutoMarca        = prd.AutoMarca,
                AutoSubGrupo     = prd.AutoSubGrupo,
                AutoTasa         = prd.AutoTasaIva,

                Categoria          = prd.Categoria,
                CodigoBarra        = "",
                CodigoDepartamento = prd.CodDepartamento,
                CodigoGrupo        = prd.CodGrupo,
                CodigoPrd          = prd.CodigoPrd,
                Costo               = prd.Costo,
                CostoPromedio       = prd.CostoPromedio,
                CostoPromedioUnidad = prd.CostoPromedioUnidad,
                CostoUnidad         = prd.CostoUnidad,

                DiasEmpaqueGarantia = prd.DiasEmpaqueGarantia,
                IsActivo            = prd.IsActivo,
                IsDivisa            = prd.IsDivisa,
                IsOferta            = prd.IsOferta,
                IsPesado            = prd.IsPesado,
                IsSerial            = false,
                IsGarantia          = false,

                Marca              = prd.Marca,
                Modelo             = prd.Modelo,
                NombreDepartamento = prd.NombreDepartamento,
                NombreGrupo        = prd.NombreGrupo,
                NombrePrd          = prd.NombrePrd,
                OfertaDesde        = prd.OfertaDesde,
                OfertaHasta        = prd.OfertaHasta,
                Pasillo            = prd.Pasillo,
                CodigoPlu          = prd.CodigoPLU,
                OfertaPrecio       = prd.OfertaPrecio,
                PrecioSugerido     = 0.0m,
                Referencia         = prd.Referencia,
                TasaImpuesto       = prd.TasaImpuesto,
                FechaServidor      = prd.FechaServidor,
            };

            nr.Precio_1 = pv1;
            if (nr.IsOfertaActiva)
            {
                nr.Precio_1.PrecioNeto = nr.OfertaPrecio;
            }
            nr.Precio_2    = pv2;
            nr.Precio_3    = pv3;
            nr.Precio_4    = pv4;
            nr.Precio_5    = pv5;
            nr.PrecioMay_1 = pvMay1;
            nr.PrecioMay_2 = pvMay2;
            rt.Entidad     = nr;

            return(rt);
        }