public void AddPrecio(Ciudad ciudad, Producto producto, int precio) { if (!listaProductos.Exists(x => x.Equals(producto))) { NuevoProducto(producto); } if (!listaCiudades.Exists(x => x.Equals(ciudad))) { NuevaCiudad(ciudad); } SetPrecio(ciudad, producto, precio); }
public int GetPrecio(Ciudad ciudad, Producto producto) { return listaPreciosKg[ciudad][producto]; }
private void NuevoProducto(Producto producto) { if (CargaActual() + producto.Kilos <= capacidadFurgoneta) { listaProductos.Add(producto); } else { throw new Exception("La carga actual: " + Convert.ToString(CargaActual()) + " + la carga del nuevo producto: " + Convert.ToString(producto.Kilos) + " sobrepasaria la carga permitida de " + capacidadFurgoneta.ToString()); } }
private void SetPrecio(Ciudad ciudad, Producto producto, int precio) { if (listaPreciosKg.ContainsKey(ciudad)) { if (listaPreciosKg[ciudad].ContainsKey(producto)) { listaPreciosKg[ciudad][producto] = precio; } else { listaPreciosKg[ciudad].Add(producto, precio); } } else { listaPreciosKg.Add(ciudad, new Dictionary<Producto,int>() { {producto, precio} }); } }
public Dictionary<Ciudad, int> GetPreciosProducto(Producto producto) { var temp = new Dictionary<Ciudad, int>(); foreach (Ciudad c in listaPreciosKg.Keys) { foreach (Producto p in listaPreciosKg[c].Keys) { if (p.Equals(producto)) { temp.Add(c, listaPreciosKg[c][p]); } } } return temp; }