// Metodo encargado de poner la orden de reclutamiento de tropas en caso de ser posible y devuelve un entero segun el resultado
        public int reclutarTropas(int idPueblo, int idTropa, int cantidad)
        {
            // Devolvemos error 0 --> Todo correcto; 1 --> Falta poblacion; 2 --> Error desconocido
            int    error = 0;
            double tiempoTotal;

            try
            {
                using (var context = new ProyectoDAMEntities())
                {
                    // Almacenamos la informacion de la tropa necesaria para calcular si es posible el reclutamiento
                    var reclutamiento = (from register in context.Tropas
                                         where register.id_Tropas == idTropa
                                         select new
                    {
                        register.poblacion,
                        register.tiempoReclutamiento
                    }).FirstOrDefault();

                    // Almacenamos la informacion del pueblo necesaria para calcular si es posible el reclutamiento
                    var pueblo = (from register in context.Pueblo
                                  where register.id_Pueblo == idPueblo
                                  select new
                    {
                        register.poblacion
                    }).FirstOrDefault();

                    // Comprobamos si hay espacio en el pueblo para reclutar la cantidad de tropas pedida por el usuario
                    if (reclutamiento.poblacion * cantidad < pueblo.poblacion)
                    {
                        // Calculamos cuanto tarda en total en realizarse el reclutamiento
                        tiempoTotal = reclutamiento.tiempoReclutamiento.Value.TotalSeconds * cantidad;

                        // Almacenamos toda la informacion necesaria en la tabla de ordenesReclutamiento
                        ordenReclutamiento insertOrden = new ordenReclutamiento();
                        insertOrden.cantidad = cantidad;
                        insertOrden.pueblo   = idPueblo;
                        insertOrden.tropa    = idTropa;
                        insertOrden.horaFin  = DateTime.Now.AddSeconds(tiempoTotal);

                        context.ordenReclutamiento.Add(insertOrden);
                        context.SaveChanges();
                    }
                    else
                    {
                        // En caso de que no haya suficiente poblacion disponible devolvemos 1
                        error = 1;
                    }
                }
            }
            catch
            {
                // En caso de que ocurra un error desconocido devolvemos 2
                error = 2;
            }

            // Devolvemos el codigo del error
            return(error);
        }
        // Metodo que completa una orden de reclutamiento y la añade al pueblo.
        public int completarOrdenReclutamiento(int idOrden)
        {
            // Devolvemos error 0 --> Todo correcto; 1 --> Orden ya completada; 2 --> Error desconocido
            int error = 0;

            try
            {
                using (var context = new ProyectoDAMEntities())
                {
                    // Almacenamos la informacion de la orden de reclutamiento que hay que completar
                    var ordenCompletada = (from register in context.ordenReclutamiento
                                           where register.idOrden == idOrden
                                           select register).FirstOrDefault();

                    // Comprobamos que efectivamente no ha sido completada hasta ahora la orden
                    if (ordenCompletada.terminado == false)
                    {
                        // Recogemos el pueblo al cual pertenece la orden
                        var pueblo = (from register in context.Pueblo
                                      where register.id_Pueblo == ordenCompletada.pueblo
                                      select register).FirstOrDefault();

                        // Incrementamos la tropa que corresponda
                        switch (ordenCompletada.tropa)
                        {
                        case 0:
                            pueblo.arqueros = pueblo.arqueros + ordenCompletada.cantidad;
                            break;

                        case 1:
                            pueblo.ballesteros = pueblo.ballesteros + ordenCompletada.cantidad;
                            break;

                        case 2:
                            pueblo.piqueros = pueblo.piqueros + ordenCompletada.cantidad;
                            break;

                        case 3:
                            pueblo.caballeros = pueblo.caballeros + ordenCompletada.cantidad;
                            break;

                        case 4:
                            pueblo.paladines = pueblo.paladines + ordenCompletada.cantidad;
                            break;
                        }

                        // Marcamos comom completada la orden de reclutamiento
                        ordenCompletada.terminado = true;

                        // Guardamos los cambios en la base de datos
                        context.SaveChanges();
                    }
                    else
                    {
                        // En caso de que ya se hubiera completado la orden devolvemos 1
                        error = 1;
                    }
                }
            }
            catch
            {
                // En caso de que ocurra un error desconocido devolvemos 2
                error = 2;
            }

            // Devolvemos el codigo de error obtenido
            return(error);
        }