public void AgregarItem(OOB.LibInventario.Producto.Data.Ficha reg, string idDepositoOrigen)
        {
            Agregar(reg.AutoId, idDepositoOrigen);
            //if (detalle.VerificaItemRegistrado(reg.AutoId))
            //{
            //    Helpers.Msg.Alerta("PRODUCTO YA APARECE EN LA LISTA");
            //    return;
            //}

            //var ficha = new OOB.LibInventario.Producto.Data.Ficha();
            //var rt5 = Sistema.MyData.Producto_GetIdentificacion(reg.AutoId);
            //if (rt5.Result == OOB.Enumerados.EnumResult.isError)
            //{
            //    Helpers.Msg.Error(rt5.Mensaje);
            //    return;
            //}
            //ficha.identidad = rt5.Entidad;
            //var rt3 = Sistema.MyData.Producto_GetCosto(reg.AutoId);
            //if (rt3.Result == OOB.Enumerados.EnumResult.isError)
            //{
            //    Helpers.Msg.Error(rt3.Mensaje);
            //    return;
            //}
            //ficha.costo = rt3.Entidad;
            //var rt4 = Sistema.MyData.Producto_GetExistencia(reg.AutoId);
            //if (rt4.Result == OOB.Enumerados.EnumResult.isError)
            //{
            //    Helpers.Msg.Error(rt4.Mensaje);
            //    return;
            //}
            //ficha.existencia = rt4.Entidad;

            //var importe = 0.0m;
            //var importeMonedaLocal = 0.0m;
            //var costo = rt3.Entidad.costoUnd;
            //var cntUndReponer = 0.0m;

            //importe = costo * cntUndReponer ;
            //importeMonedaLocal = importe;
            //if (rt3.Entidad.admDivisa == OOB.LibInventario.Producto.Enumerados.EnumAdministradorPorDivisa.Si)
            //{
            //    costo = rt3.Entidad.costoDivisaUnd;
            //    importe = costo * cntUndReponer;
            //    importeMonedaLocal = importe * tasaCambio;
            //}

            //var xrt = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == idDepositoOrigen);
            //if (xrt != null)
            //{
            //    var exFisica = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == idDepositoOrigen).exFisica;
            //    var disponible = (exFisica >= cntUndReponer);
            //    var exDepCero = (exFisica <= 0);

            //    detalle.Agregar(ficha, cntUndReponer, costo,
            //             enumerados.enumTipoEmpaque.PorUnidad, tasaCambio, importe,
            //             importeMonedaLocal, enumerados.enumTipoMovimientoAjuste.PorEntrada, disponible, exDepCero);
            //    bs.CurrencyManager.Refresh();
            //}
        }
        public void AgregarItem(OOB.LibInventario.Producto.Data.Ficha ficha, string idDeposito)
        {
            var filtro = new OOB.LibInventario.Producto.Depositos.Ver.Filtro()
            {
                autoProducto = ficha.identidad.auto, autoDeposito = idDeposito
            };
            var rt1 = Sistema.MyData.Producto_GetDeposito(filtro);

            if (rt1.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt1.Mensaje);
                return;
            }
            var rt2 = Sistema.MyData.Producto_GetCosto(ficha.identidad.auto);

            if (rt2.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt2.Mensaje);
                return;
            }
            ficha.costo = rt2.Entidad;
            var rt3 = Sistema.MyData.Producto_GetExistencia(ficha.identidad.auto);

            if (rt3.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt3.Mensaje);
                return;
            }
            ficha.existencia = rt3.Entidad;
            var rt4 = Sistema.MyData.Producto_GetIdentificacion(ficha.identidad.auto);

            if (rt4.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt4.Mensaje);
                return;
            }
            ficha.identidad = rt4.Entidad;

            var exFisica = rt3.Entidad.depositos.FirstOrDefault(w => w.autoId == idDeposito).exFisica;

            if (exFisica <= 0.0m)
            {
                Helpers.Msg.Error("NO HAY DISPONIBILIDAD PARA ESTE PRODUCTO" + Environment.NewLine + "VERIFIQUE POR FAVOR...");
                return;
            }

            _gestionEntrada.Inicializa();
            _gestionEntrada.setFicha(ficha, idDeposito);
            _gestionEntrada.Inicia();
            if (_gestionEntrada.procesarIsOk)
            {
                detalle.Agregar(ficha, _gestionEntrada.Cantidad, _gestionEntrada.Costo,
                                _gestionEntrada.TipoEmpaqueSeleccionado, tasaCambio, _gestionEntrada.Importe,
                                _gestionEntrada.ImporteMonedaLocal, enumerados.enumTipoMovimientoAjuste.PorEntrada);
                bs.CurrencyManager.Refresh();
            }
        }
예제 #3
0
 private void bsLista_CurrentChanged(object sender, EventArgs e)
 {
     _item = (OOB.LibInventario.Producto.Data.Ficha)bsLista.Current;
     if (_item != null)
     {
         EventHandler hnd = CambioItemActual;
         if (hnd != null)
         {
             hnd(this, null);
         }
     }
 }
        public void AgregarItem(List <OOB.LibInventario.Movimiento.Traslado.Consultar.ProductoPorDebajoNivelMinimo> list, string idDepositoOrigen)
        {
            foreach (var reg in list.OrderBy(o => o.nombreProducto).ToList())
            {
                var ficha = new OOB.LibInventario.Producto.Data.Ficha();
                var rt5   = Sistema.MyData.Producto_GetIdentificacion(reg.autoProducto);
                if (rt5.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(rt5.Mensaje);
                    return;
                }
                ficha.identidad = rt5.Entidad;
                var rt3 = Sistema.MyData.Producto_GetCosto(reg.autoProducto);
                if (rt3.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(rt3.Mensaje);
                    return;
                }
                ficha.costo = rt3.Entidad;
                var rt4 = Sistema.MyData.Producto_GetExistencia(reg.autoProducto);
                if (rt4.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(rt4.Mensaje);
                    return;
                }
                ficha.existencia = rt4.Entidad;

                var importe            = 0.0m;
                var importeMonedaLocal = 0.0m;
                var costo = rt3.Entidad.costoUnd;
                importe            = costo * reg.cntUndReponer;
                importeMonedaLocal = importe;
                if (rt3.Entidad.admDivisa == OOB.LibInventario.Producto.Enumerados.EnumAdministradorPorDivisa.Si)
                {
                    costo              = rt3.Entidad.costoDivisaUnd;
                    importe            = costo * reg.cntUndReponer;
                    importeMonedaLocal = importe * tasaCambio;
                }

                var xrt = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == idDepositoOrigen);
                if (xrt != null)
                {
                    var exFisica   = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == idDepositoOrigen).exFisica;
                    var disponible = (exFisica >= reg.cntUndReponer);
                    var exDepCero  = (exFisica <= 0);

                    detalle.Agregar(ficha, reg.cntUndReponer, costo,
                                    enumerados.enumTipoEmpaque.PorUnidad, tasaCambio, importe,
                                    importeMonedaLocal, enumerados.enumTipoMovimientoAjuste.PorEntrada, disponible, exDepCero);
                    bs.CurrencyManager.Refresh();
                }
            }
        }
예제 #5
0
        public void AgregarItem(OOB.LibInventario.Producto.Data.Ficha ficha, string idDeposito)
        {
            var filtro = new OOB.LibInventario.Producto.Depositos.Ver.Filtro()
            {
                autoProducto = ficha.identidad.auto, autoDeposito = idDeposito
            };
            var rt1 = Sistema.MyData.Producto_GetDeposito(filtro);

            if (rt1.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt1.Mensaje);
                return;
            }
            var rt2 = Sistema.MyData.Producto_GetCosto(ficha.identidad.auto);

            if (rt2.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt2.Mensaje);
                return;
            }
            ficha.costo = rt2.Entidad;
            var rt3 = Sistema.MyData.Producto_GetExistencia(ficha.identidad.auto);

            if (rt3.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt3.Mensaje);
                return;
            }
            ficha.existencia = rt3.Entidad;
            ficha.costo      = rt2.Entidad;
            var rt4 = Sistema.MyData.Producto_GetIdentificacion(ficha.identidad.auto);

            if (rt4.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt4.Mensaje);
                return;
            }
            ficha.identidad = rt4.Entidad;


            _gestionEntrada.Inicializa();
            _gestionEntrada.setFicha(ficha, idDeposito);
            _gestionEntrada.Inicia();
            if (_gestionEntrada.procesarIsOk)
            {
                detalle.Agregar(ficha, _gestionEntrada.Cantidad, _gestionEntrada.Costo,
                                _gestionEntrada.TipoEmpaqueSeleccionado, tasaCambio, _gestionEntrada.Importe,
                                _gestionEntrada.ImporteMonedaLocal, _gestionEntrada.TipoMovimientoSeleccionado);
                bs.CurrencyManager.Refresh();
            }
        }
예제 #6
0
 public item(OOB.LibInventario.Producto.Data.Ficha ficha, decimal cnt, decimal costo, enumerados.enumTipoEmpaque emp,
             decimal tasaCambio, decimal importe, decimal importeMonedaLocal, enumerados.enumTipoMovimientoAjuste tipoMov, bool disponible, bool exDepCero)
 {
     this.ficha          = ficha;
     _cnt                = cnt;
     _costo              = costo;
     _empaque            = emp;
     _tasaCambio         = tasaCambio;
     _importe            = importe;
     _importeMonedaLocal = importeMonedaLocal;
     _tipoMovimiento     = tipoMov;
     _disponible         = disponible;
     _exDepCero          = exDepCero;
 }
예제 #7
0
 public item(OOB.LibInventario.Movimiento.Traslado.Capturar.ProductoPorDebajoNivelMinimo.Ficha ficha,
             OOB.LibInventario.Producto.Data.Existencia fEx,
             OOB.LibInventario.Producto.Data.Costo fCosto,
             decimal cnt, decimal costo, enumerados.enumTipoEmpaque emp,
             decimal tasaCambio, decimal importe, decimal importeMonedaLocal,
             enumerados.enumTipoMovimientoAjuste tipoMov, bool disponible, bool exDepCero)
 {
     this.ficha          = new OOB.LibInventario.Producto.Data.Ficha(ficha, fEx, fCosto);
     _cnt                = cnt;
     _costo              = costo;
     _empaque            = emp;
     _tasaCambio         = tasaCambio;
     _importe            = importe;
     _importeMonedaLocal = importeMonedaLocal;
     _tipoMovimiento     = tipoMov;
     _disponible         = disponible;
     _exDepCero          = exDepCero;
 }
 public void Agregar(OOB.LibInventario.Producto.Data.Ficha ficha,
                     decimal cnt, decimal costo, enumerados.enumTipoEmpaque emp,
                     decimal tasaCambio, decimal importe, decimal importeMonedaLocal, enumerados.enumTipoMovimientoAjuste tipoMov,
                     bool disponible = true, bool exDepCero = false, int posicion = 0)
 {
     if (posicion == 0) // ITEM NUEVO, VA AL FINAL
     {
         lstItems.Add(new item(ficha, cnt, costo, emp, tasaCambio, importe, importeMonedaLocal, tipoMov, disponible, exDepCero));
     }
     else
     {
         if (posicion == -1) // ITEM ES EL PRIMERO DE LA LISTA
         {
             lstItems.Insert(0, new item(ficha, cnt, costo, emp, tasaCambio, importe, importeMonedaLocal, tipoMov, disponible, exDepCero));
         }
         else
         {
             lstItems.Insert(posicion, new item(ficha, cnt, costo, emp, tasaCambio, importe, importeMonedaLocal, tipoMov, disponible, exDepCero));
         }
     }
 }
 public void setFicha(OOB.LibInventario.Producto.Data.Ficha ficha, string _idDeposito)
 {
     Prd        = ficha;
     idDeposito = _idDeposito;
 }
        public OOB.ResultadoLista <OOB.LibInventario.Producto.Data.Ficha> Producto_GetLista(OOB.LibInventario.Producto.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibInventario.Producto.Data.Ficha>();

            var filtroDto = new DtoLibInventario.Producto.Filtro()
            {
                autoProducto          = filtro.autoProducto,
                admPorDivisa          = (DtoLibInventario.Producto.Enumerados.EnumAdministradorPorDivisa)filtro.admPorDivisa,
                autoDepartamento      = filtro.autoDepartamento,
                autoDeposito          = filtro.autoDeposito,
                autoGrupo             = filtro.autoGrupo,
                autoMarca             = filtro.autoMarca,
                autoProveedor         = filtro.autoProveedor,
                autoTasa              = filtro.autoTasa,
                cadena                = filtro.cadena,
                categoria             = (DtoLibInventario.Producto.Enumerados.EnumCategoria)filtro.categoria,
                estatus               = (DtoLibInventario.Producto.Enumerados.EnumEstatus)filtro.estatus,
                MetodoBusqueda        = (DtoLibInventario.Producto.Enumerados.EnumMetodoBusqueda)filtro.MetodoBusqueda,
                oferta                = (DtoLibInventario.Producto.Enumerados.EnumOferta)filtro.oferta,
                origen                = (DtoLibInventario.Producto.Enumerados.EnumOrigen)filtro.origen,
                pesado                = (DtoLibInventario.Producto.Enumerados.EnumPesado)filtro.pesado,
                catalogo              = (DtoLibInventario.Producto.Enumerados.EnumCatalogo)filtro.catalogo,
                existencia            = (DtoLibInventario.Producto.Filtro.Existencia)filtro.existencia,
                precioMayorHabilitado = filtro.precioMayorHabilitado,
            };
            var r01 = MyData.Producto_GetLista(filtroDto);

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

            var list = new List <OOB.LibInventario.Producto.Data.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Select(s =>
                    {
                        var ex = 0.0m;
                        if (s.existencia.HasValue)
                        {
                            ex = s.existencia.Value;
                        }

                        var nr             = new OOB.LibInventario.Producto.Data.Ficha();
                        nr.CostoDivisa     = s.costoDivisa;
                        nr.ExistenciaTotal = ex;
                        nr.PDivisaFull_1   = s.pDivisaFull_1;
                        nr.PDivisaFull_2   = s.pDivisaFull_2;
                        nr.PDivisaFull_3   = s.pDivisaFull_3;
                        nr.PDivisaFull_4   = s.pDivisaFull_4;
                        nr.PDivisaFull_5   = s.pDivisaFull_5;

                        nr.Costo   = s.costo;
                        nr.PNeto_1 = s.pNeto1;
                        nr.PNeto_2 = s.pNeto2;
                        nr.PNeto_3 = s.pNeto3;
                        nr.PNeto_4 = s.pNeto4;
                        nr.PNeto_5 = s.pNeto5;

                        nr.PDivisaFullMay_1  = s.pDivisaFullMay_1;
                        nr.PDivisaFullMay_2  = s.pDivisaFullMay_2;
                        nr.PNetoMay_1        = s.pNetoMay1;
                        nr.PNetoMay_2        = s.pNetoMay2;
                        nr.ContenidoEmpMay_1 = s.contMay1;
                        nr.ContenidoEmpMay_2 = s.contMay2;

                        var id                   = nr.identidad;
                        id.auto                  = s.auto;
                        id.codigo                = s.codigo;
                        id.nombre                = s.nombre;
                        id.descripcion           = s.descripcion;
                        id.empaqueCompra         = s.empaque;
                        id.contenidoCompra       = s.contenido;
                        id.Decimales             = s.decimales;
                        id.departamento          = s.departamento;
                        id.grupo                 = s.grupo;
                        id.marca                 = s.marca;
                        id.referencia            = s.referencia;
                        id.modelo                = s.modelo;
                        id.tasaIva               = s.tasaIva;
                        id.nombreTasaIva         = s.tasaIvaDescripcion;
                        id.estatus               = (OOB.LibInventario.Producto.Enumerados.EnumEstatus)s.estatus;
                        id.origen                = (OOB.LibInventario.Producto.Enumerados.EnumOrigen)s.origen;
                        id.categoria             = (OOB.LibInventario.Producto.Enumerados.EnumCategoria)s.categoria;
                        id.AdmPorDivisa          = (OOB.LibInventario.Producto.Enumerados.EnumAdministradorPorDivisa)s.admPorDivisa;
                        id.fechaAlta             = s.fechaAlta.Value;
                        id.fechaUltActualizacion = s.fechaUltActualizacion;
                        id.activarCatalogo       = (OOB.LibInventario.Producto.Enumerados.EnumCatalogo)s.activarCatalogo;

                        var fechaV = "";
                        if (s.fechaUltCambioCosto.HasValue)
                        {
                            fechaV = s.fechaUltCambioCosto.Value.ToShortDateString();
                        }

                        nr.costo.fechaUltCambio = fechaV;
                        nr.extra.esPesado       = (OOB.LibInventario.Producto.Enumerados.EnumPesado)s.esPesado;
                        nr.precio.estatusOferta = (OOB.LibInventario.Producto.Enumerados.EnumOferta)s.enOferta;

                        return(nr);
                    }).ToList();
                }
            }
            rt.Lista = list;

            return(rt);
        }
 public void setFicha(OOB.LibInventario.Producto.Data.Ficha ficha, string idDepositoOrigen)
 {
     Prd             = ficha;
     this.idDeposito = idDepositoOrigen;
 }
        private void Agregar(string autoPrd, string autoDep)
        {
            if (detalle.VerificaItemRegistrado(autoPrd))
            {
                Helpers.Msg.Alerta("PRODUCTO YA APARECE EN LA LISTA");
                return;
            }

            var ficha = new OOB.LibInventario.Producto.Data.Ficha();
            var rt5   = Sistema.MyData.Producto_GetIdentificacion(autoPrd);

            if (rt5.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt5.Mensaje);
                return;
            }
            ficha.identidad = rt5.Entidad;
            var rt3 = Sistema.MyData.Producto_GetCosto(autoPrd);

            if (rt3.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt3.Mensaje);
                return;
            }
            ficha.costo = rt3.Entidad;
            var rt4 = Sistema.MyData.Producto_GetExistencia(autoPrd);

            if (rt4.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(rt4.Mensaje);
                return;
            }
            ficha.existencia = rt4.Entidad;

            var importe            = 0.0m;
            var importeMonedaLocal = 0.0m;
            var costo         = rt3.Entidad.costoUnd;
            var cntUndReponer = 0.0m;

            importe            = costo * cntUndReponer;
            importeMonedaLocal = importe;
            if (rt3.Entidad.admDivisa == OOB.LibInventario.Producto.Enumerados.EnumAdministradorPorDivisa.Si)
            {
                costo              = rt3.Entidad.costoDivisaUnd;
                importe            = costo * cntUndReponer;
                importeMonedaLocal = importe * tasaCambio;
            }

            var xrt = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == autoDep);

            if (xrt != null)
            {
                var exFisica   = rt4.Entidad.depositos.FirstOrDefault(w => w.autoId == autoDep).exFisica;
                var disponible = (exFisica >= cntUndReponer);
                var exDepCero  = (exFisica <= 0);

                detalle.Agregar(ficha, cntUndReponer, costo,
                                enumerados.enumTipoEmpaque.PorUnidad, tasaCambio, importe,
                                importeMonedaLocal, enumerados.enumTipoMovimientoAjuste.PorEntrada, disponible, exDepCero);
                bs.CurrencyManager.Refresh();
            }
        }