using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using static ejerciciopracticotema3.Program;
namespace ejerciciopracticotema3
{
public class Program
{
public DefinicionGeneral[] inventarioTienda;
public float aPagar
{
get; set;
}
public float dinero
{
get; set;
}
public class Naranjas : DefinicionGeneral, IAPeso
{
public float precioPorKg
{
get; set;
}
public bool aPeso
{
get; set;
}
public void SetVarNaranjas()
{
precioPorKg = 0.75f;
aPeso = true;
SetNameId("Naranjas", precioPorKg,0.75f);
}
public Naranjas(float x, bool b) { precioPorKg = x; aPeso = b; }
}
public class Berenjenas : DefinicionGeneral, IAPeso
{
public float precioPorKg
{
get; set;
}
public bool aPeso
{
get; set;
}
public void SetVarBerenjenas()
{
precioPorKg = 0.85f;
aPeso = true;
SetNameId("Berenjenas", precioPorKg, 0.85f);
}
public Berenjenas(float x, bool b) { precioPorKg = x; aPeso = b; }
}
public class Pelota : DefinicionGeneral,IUnitario
{
public float precioPorItem
{
get; set;
}
public int cantidad
{
get; set;
}
public void SetVarPelota()
{
precioPorItem = 1.60f;
cantidad = 1;
SetNameId("Pelota", 1, 1.60f);
}
public Pelota(float x, int c) { precioPorItem = x; cantidad = c; }
}
public class Yatekomo : DefinicionGeneral, IUnitario
{
public float precioPorItem
{
get; set;
}
public int cantidad
{
get; set;
}
public void SetVarYatekomo()
{
precioPorItem = 2.20f;
cantidad = 1;
SetNameId("Yatekomo", 1, 2.20f);
}
public Yatekomo(float x, int c) { precioPorItem = x; cantidad = c; }
}
static void Main(string[] args)
{
Program p
= new Program
();
//p.inventarioTienda =
p.inventarioTienda = Inventario.InventarioTienda(); // aqui me tira el error aunque imagino que sera por algo que esta mal en la lista
Console.WriteLine("Bienvenidos a tiendas paqui");
Console.WriteLine(" ");
Console.WriteLine("tenemos todo esto disponible en tienda: ");
foreach(DefinicionGeneral dG in p.inventarioTienda)
{
Console.WriteLine( dG.name + " Tiene un precio de "+ dG.precio);
}
Console.WriteLine(" ");
Console.WriteLine("Que cantidad de dinero tienes disponible? ");
p.dinero = int.Parse(Console.ReadLine());
Console.WriteLine("Perfecto tienes disponible para gastar: " + p.dinero + " Euros");
Console.WriteLine(" ");
Console.WriteLine("elige que Kg deseas comprar: ");
}
}
public static class Inventario
{
public static List<DefinicionGeneral> inventarioDeLaTienda;
public static List<DefinicionGeneral> InventarioTienda() // esta es la lista que tengo que llamar
{
return new List
<DefinicionGeneral
>() {
new Naranjas
(0
.75f,
true),
new Berenjenas
(0
.85f,
true),
};
}
}
public abstract class DefinicionGeneral
{
public string name { get; set; } //nombre del producto
public float iD { get; set; } // id del producto
public float precio { get; set; }
public virtual void SetNameId(string s, float i, float ip)
{
name = s;
iD = i;
precio = ip;
}
}
interface IAPeso// interfaz que define si el objeto se pesa o no
{
public float precioPorKg
{
get; set;
}
public bool aPeso
{
get; set;
}
}
interface IUnitario
{
public float precioPorItem
{
get; set;
}
public int cantidad
{
get; set;
}
}
}