Esempio n. 1
0
 /// <summary>
 /// Inicializa las variables de la clase
 /// </summary>
 private void inicializar()
 {
     pzaNueva        = new pieza();
     avServ          = new AveriaServicio(tEnt);
     pzaServ         = new PiezaServicio(tEnt);
     criteriosPieza  = new List <Predicate <pieza> >();
     predicadoFiltro = new Predicate <object>(filtroCombinado);
 }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        tam            = PuzzleManager.Instance.dameTam();
        matriz         = new pieza[tam, tam];
        matrizSolucion = new pieza[tam, tam];
        hueco          = new pieza(tam * tam - 1, tam - 1, tam - 1);
        matrizInicial();

        // Debug.Log(tam);
    }
Esempio n. 3
0
 //C# al igualar matrices te apunta al mismo sitio de memoria, así que hay que copiarla a lo bestia
 void copiaMatriz(pieza[,] original, out pieza[,] copia, int tam)
 {
     copia = new pieza[tam, tam];
     for (int i = 0; i < tam; i++)
     {
         for (int j = 0; j < tam; j++)
         {
             copia[i, j] = original[i, j];
         }
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Inicializa las variables de la clase
        /// </summary>
        private void inicializar()
        {
            tarjeta      = new Tarjeta("", "", "");
            paypal       = new Paypal("", "");
            avSel        = new averia();
            pzaSel       = new pieza();
            empSel       = new empleado();
            clntSel      = new cliente();
            fechaFactura = DateTime.Now;

            clientServ = new ClienteServicio(tEnt);
            avServ     = new AveriaServicio(tEnt);
            empServ    = new EmpleadoServicio(tEnt);
            pzaServ    = new PiezaServicio(tEnt);
        }
Esempio n. 5
0
        /// <summary>
        /// Gestiona el filtro combinado del control de usuario busqueda pieza
        /// </summary>
        /// <param name="item"></param>
        /// <returns>Devuelve false, si criteriosPieza es igual a cualquier numero que no sea 0,
        /// si se cumple los criterios, devuelve true</returns>
        private bool filtroCombinado(object item)
        {
            bool esta = false;

            if (item != null)
            {
                pieza p = (pieza)item;
                if (criteriosPieza.Count != 0)
                {
                    if (criteriosPieza.TrueForAll(x => x(p)))
                    {
                        esta = true;
                    }
                }
            }
            return(esta);
        }
Esempio n. 6
0
    //Este cambio es para una matriz en general
    bool cambio(pos x, ref pieza[,] matriz, ref pieza Hueco)
    {
        int  valor;
        bool cambiado = false;

        if (dameCasilla(x, matriz, Hueco, out valor))
        {
            switch (x)
            {
            case pos.arriba:

                Hueco.SetIJ(Hueco.i - 1, Hueco.j);
                matriz[Hueco.i, Hueco.j].valor     = Hueco.valor;
                matriz[Hueco.i + 1, Hueco.j].valor = valor;

                break;

            case pos.abajo:
                Hueco.SetIJ(Hueco.i + 1, Hueco.j);
                matriz[Hueco.i, Hueco.j].valor     = Hueco.valor;
                matriz[Hueco.i - 1, Hueco.j].valor = valor;


                break;

            case pos.izquierda:
                Hueco.SetIJ(Hueco.i, Hueco.j - 1);
                matriz[Hueco.i, Hueco.j].valor     = Hueco.valor;
                matriz[Hueco.i, Hueco.j + 1].valor = valor;
                cambiado = true;
                break;

            case pos.derecha:

                Hueco.SetIJ(Hueco.i, Hueco.j + 1);
                matriz[Hueco.i, Hueco.j].valor     = Hueco.valor;
                matriz[Hueco.i, Hueco.j - 1].valor = valor;
                break;
            }
            cambiado = true;
        }
        //Método que ilustra el cambio

        return(cambiado);
    }
Esempio n. 7
0
 /// <summary>
 /// Gestiona la notificacion por pieza,
 /// si la cantidad de la pieza es inferior a 5,
 /// se muestra si se ha agotado el stock y la cantidad restante
 /// si la cantidad es mayor que 5 y menor que 15,
 /// muestra una notificacion de advertencia, con la cantidad del stock restante
 /// </summary>
 /// <param name="pza"></param>
 private void gestionaNotificacionPieza(pieza pza)
 {
     if (pza.Cantidad <= 5)
     {
         string cantidad = pza.Cantidad + "";
         if (pza.Cantidad == 0)
         {
             notifier.ShowError("Se a agotado el stock de:  ''" + pza.Descripcion + "''");
         }
         else
         {
             notifier.ShowError("Se esta agotando el stock de:  ''" + pza.Descripcion + "'' la cantidad restante es:  " + cantidad);
         }
     }
     else if (pza.Cantidad > 5 && pza.Cantidad <= 15)
     {
         notifier.ShowWarning("El volumen de stock de la pieza: ''" + pza.Descripcion + "'' es inferior a 15, vaya pensando en realizar un pedido nuevo");
     }
 }
Esempio n. 8
0
 ///Devuelve el valor de una casilla adyacente al hueco para una matriz en general
 bool dameCasilla(pos x, pieza[,] matriz, pieza Hueco, out int valor)
 {
     valor = 0;
     if (x == pos.arriba)
     {
         if (Hueco.i - 1 >= 0)
         {
             valor = matriz[Hueco.i - 1, Hueco.j].valor;
             return(true);
         }
     }
     else if (x == pos.abajo)
     {
         if (Hueco.i + 1 < tam)
         {
             valor = matriz[Hueco.i + 1, Hueco.j].valor;
             return(true);
         }
     }
     else if (x == pos.derecha)
     {
         if (Hueco.j + 1 < tam)
         {
             valor = matriz[Hueco.i, Hueco.j + 1].valor;
             return(true);
         }
     }
     else if (x == pos.izquierda)
     {
         if (Hueco.j - 1 >= 0)
         {
             valor = matriz[Hueco.i, Hueco.j - 1].valor;
             return(true);
         }
     }
     return(false);
 }
Esempio n. 9
0
 public Estado()
 {
     estado       = new pieza[tam, tam];
     estadoPrevio = new pieza[tam, tam];
     hueco        = new pieza();
 }