Пример #1
0
        /**
         * @fn  public void cargarLotesAlMarcador()
         *
         * @brief   Crea los lotes dentro del motor.
         *
         * @author  WINMACROS
         * @date    17/07/2017
         */

        public void cargarLotesAlMarcador()
        {
            Sistema   s   = Sistema.Sis;
            baseDatos bd  = baseDatos.Bd;
            int       pos = irAlMotorYDetener();

            entrarAlMotor(pos);
            LotesParaCargar.Sort();
            foreach (LoteMarcador lM in LotesParaCargar)
            {
                lM.cargarVariables();
                s.ejecutarMacro(s.m_app, s.direccion + "Cargar lote/CargarLoteAMotor.iim", "Cargar el lote: " + lM.Lot.Nombre + " Al motor", true);
                esperarQueElMotorCarge();
                lM.cargarVariables();
                s.ejecutarMacro(s.m_app, s.direccion + "Cargar lote/CrearLoteDentroMotor.iim", "Crear un nuevo lote dentro del motor", true);
                esperarQueElMotorCarge();
                s.ejecutarMacro(s.m_app, "TAG POS=1 TYPE=BUTTON:BUTTON ATTR=ID:btnSave CONTENT=Guardar", "Guardar cambios en el motor", false);
                esperarQueElMotorCarge();
                lM.Lot.Estado = Lote.tipoEstado.Activo;
                LotesActivos.Add(lM);
                bd.cambiarEstadoLote(lM.Lot);
                s.accionesCodigo("Cargar el lote: " + lM.Lot.Nombre + " En el motor", "Completo");
                bd.agregarLoteEnMarcador(lM);
            }
            LotesParaCargar = LotesParaCargar.Where(l => !LotesActivos.Contains(l)).ToList();
            darlePLayMotor();
        }
Пример #2
0
        public void SetLoteInactivo(object parameter)
        {
            MessageBoxResult result = MessageBox.Show("Cambiar Estado a Inactivo?", "Cambiar Estado", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                InventoryQueries.SetLoteEntradaInactive(SelectedLoteActivo.CodInterno);
                LotesInactivos.Add(SelectedLoteActivo);
                LotesActivos.Remove(SelectedLoteActivo);
            }
        }
Пример #3
0
        public void SetLoteActivo(object parameter)
        {
            MessageBoxResult result = MessageBox.Show("Cambiar Estado a Activo?   (Un lote activo aparecera como invalido si ya paso su fecha vencimiento)  ", "Cambiar Estado", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                InventoryQueries.SetLoteEntradaActive(SelectedLoteActivo.CodInterno);

                if (SelectedLoteActivo.FechaVencimiento > DateTime.Now)
                {
                    LotesActivos.Add(SelectedLoteActivo);
                    LotesInactivos.Remove(SelectedLoteActivo);
                }
            }
        }
Пример #4
0
        public void CreateLote()
        {
            NewLote.CodProveedor       = SelectedProveedor.Id.ToString();
            NewLote.ConversionUnitaria = SelectedMateriaPrima.ConversionValue;
            NewLote.CodMP           = SelectedMateriaPrima.Codigo;
            NewLote.CantidadActual  = NewLote.CantidadOriginal;
            NewLote.CantidadExacta  = Math.Round(NewLote.CantidadOriginal * SelectedMateriaPrima.ConversionValue, 2, MidpointRounding.AwayFromZero);
            NewLote.NombreMP        = SelectedMateriaPrima.Nombre;
            NewLote.NombreProveedor = SelectedProveedor.NombreProveedor;

            //System.Windows.MessageBox.Show(NewLote.CantidadExacta  + " " + SelectedMateriaPrima.conversionValue);

            InventoryQueries.CreateLoteEntrada(NewLote);
            LotesActivos.Add(NewLote);

            reset(1);

            System.Windows.MessageBox.Show("Nuevo Lote Creado");
        }
Пример #5
0
        /**
         * @fn  private bool eliminarLoteAnterior(string pNombre)
         *
         * @brief   Elimina el lote dentro del sistema y la base de datos.
         *
         * @author  WINMACROS
         * @date    14/07/2017
         *
         * @param   pNombre Nombre del lote.
         *
         * @return  Ture si existe el lote en el sitema false de loc ontrario.
         */

        private bool eliminarLoteAnterior(string pNombre)
        {
            bool bandera = false;
            int  cont    = 0;

            while (!bandera && this.LotesActivos.Count > cont)
            {
                LoteMarcador lActual = LotesActivos[cont];
                if (pNombre == lActual.Lot.Nombre)
                {
                    baseDatos bd = baseDatos.Bd;
                    LotesActivos.RemoveAt(cont);    //saco el lote de los lotes activos del marcador
                    HistorialLotes.Add(lActual);
                    lActual.Hasta = DateTime.Today; //cambio el hasta porque se elimino hoy
                    bd.eliminarLoteMotor(lActual);  // marco en la base cuando se elimino
                    lActual.Lot.Estado = Lote.tipoEstado.paraEliminar;
                    bandera            = true;
                }
                cont++;
            }
            return(bandera);
        }