03.05.10
Posted in Personal at 5:58 pm by Miguel
Hola, buenas, quería una construcción.
Si, veamos… ¿De qué tipo? ¿Un Chalet? ¿Un bloque de pisos? ¿Un palacio de congresos?
Pues no lo sabemos. Usted empiece por el chalet y luego si eso ya lo cambia si necesitamos otra cosa…
Pero… oiga… ¿No tiene ustedes documentos sobre el proyecto? Es que sin eso, va a ser difícil hacer los planos…
Uy no, si tenemos que enseñar la construcción a unos posibles compradores en 5 semanas, no podemos perder el tiempo en esas cosas… Usted pregunte, pregunte…
¿Qué uso le van a dar?
Pues…. De todo.
¿Qué capacidad de personas necesitan?
La máxima
Oiga, así no vamos a ningún sitio, si no me dice lo que necesita, no podemos hacer nada… Tienen ustedes que detallar sus necesidades o no sabré ni qué materiales comprar, ni qué cimientos poner…
Mire, no vamos a perder un mes en decirle lo que quiere y que usted se entretenga en hacer los planos, con las técnicas modernas que hay ahora, lo hace usted así como flexible y modular y que se pueda cambiar todo en un pispás si es necesario… Parece mentira que yo, que no tengo ni idea de arquitectura, le tenga que decir cómo tiene que hacer las cosas … Y por cierto, si nos dice también qué posibles cosas podríamos necesitar para el edificio, cosas que crea que son importantes para nosotros, pues …
¿O sea, que quiere que adivine qué van a necesitar?
Bueno, sí usando las modernas tecnologías supongo que no le será complicado… En fin… ¿Cuánto tardaría?
No tengo ni idea.
Algo aproximado…
Vale 1 ó 2 años.
Vaya, pues no me imaginaba yo este proyecto de 1 ó 2 años…
Mire, sin que me diga lo que quiere, sin planos, sin que me diga qué quiere enseñar en ese piloto a sus cliente, … Pues esa es mi estimación.
¡Está bien, está bien! ¡Aquí tiene! ¡No ponéis nada de vuestra parte!
Oiga, esto es un folio en el que pone: “ALGO PARECIDO A MARINA D’OR”
Ale, ¡Ya tiene lo que necesitaba! Lo necesitamos todo para dentro de seis meses.
Permalink
03.02.10
Posted in .NET, Programación at 9:49 pm by Miguel
Abierto ayer el capítulo de LINQ, incorporo una interesante referencia extraida del MSN
101 Ejemplos de LINQ
Saludos.
Miguel
Permalink
03.01.10
Posted in .NET, Programación at 11:10 pm by Miguel
Problema: a partir de una lista de objetos de tipo “Coche”, quiero sumar el precio de cada uno de ellos agrupado por marca.
La clase coche tiene la siguiente forma
public class Coche
{
public int IdCoche { get; set; }
public string Matricula { get; set; }
public int IdMarca { get; set; }
public int NumeroPuertas { get; set; }
public int Precio { get; set; }
public Coche(int idCoche, string matricula, int idMarca, int numeroPuertas, int precio)
{
this.IdCoche = idCoche;
this.Matricula = matricula;
this.IdMarca = idMarca;
this.NumeroPuertas = numeroPuertas;
this.Precio = precio;
}
}
Inicializamos una lista con objetos de la clase Coche
List<Coche> lista = new List<Coche>();
lista.Add(new Coche(1, “3322-AAA”, 1, 3, 15000));
lista.Add(new Coche(2, “3322-EEE”, 2, 5, 25000));
lista.Add(new Coche(3, “3322-III”, 3, 3, 35000));
lista.Add(new Coche(4, “3322-OOO”, 1, 3, 18000));
lista.Add(new Coche(5, “3322-UUU”, 2, 5, 20000));
lista.Add(new Coche(6, “1111-AAA”, 3, 3, 150000));
lista.Add(new Coche(7, “1111-EEE”, 1, 3, 30000));
lista.Add(new Coche(8, “1111-III”, 1, 5, 28000));
lista.Add(new Coche(9, “1111-OOO”, 3, 5, 16000));
lista.Add(new Coche(10, “1111-UUU”, 1, 5, 9000));
Solución antes de LINQ (una de muchas)
Hashtable hash = new Hashtable();
foreach (Coche c in lista)
{
if (!hash.ContainsKey(c.IdMarca))
{
hash.Add(c.IdMarca, c.Precio);
}
else
{
hash[c.IdMarca] = (int)hash[c.IdMarca] + c.Precio;
}
}
IDictionaryEnumerator _enumerator = hash.GetEnumerator();
while (_enumerator.MoveNext())
{
Console.WriteLine(String.Format(“Marca: {0}, Total Precio: {1}”, _enumerator.Key, _enumerator.Value));
}
Solución después de LINQ
var marcas = from m in lista
group m by m.IdMarca into g
select new { IdMarca = g.Key , TotalPorMarca = g.Sum (m => m.Precio) };
foreach (var marca in marcas)
{
Console.WriteLine(String.Format(“Marca: {0}, Total Precio: {1}”, marca.IdMarca, marca.TotalPorMarca));
}
Resultado
Marca: 1, Total Precio: 100000
Marca: 2, Total Precio: 45000
Marca: 3, Total Precio: 201000
Saludos.
Permalink