public Inteligente(string nombre, string id) : base(nombre) { this.Clientes = new List <Cliente>(); this.RegistroDeActivaciones = new List <Activacion>(); this.ConsumoEnergia = Convert.ToDecimal(DispositivosHelper.GetInstace().Dispositivos.Where(x => x.Id == id).Single().Consumo); this.IdentificadorFabrica = id; this.Sensores = new List <SensorFisico>(); Context = new SGEContext(); }
private void CargarCoeficientes() { this.Coeficientes = new Dictionary <string, double>(); foreach (Dispositivo d in DispositivosHelper.GetInstace().Dispositivos.Where(x => !x.EsReemplazable)) { this.Coeficientes.Add(d.Id.ToUpper(), d.Consumo); } }
public void LevantarDispositivosArchivo() { BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(); foreach (Core.Entidades.Dispositivo dispositivo in DispositivosHelper.GetInstace().Dispositivos) { if (repoInteligente.Single(d => d.Nombre == dispositivo.Tipo) == null) { repoInteligente.Create(new Inteligente() { Nombre = dispositivo.Tipo, ConsumoEnergia = (decimal)dispositivo.Consumo, IdentificadorFabrica = dispositivo.Id.Substring(0, 14) }); } } }
/// <summary> /// Agrega una restriccion minima y maxima para un determinado dispositivo. /// </summary> public SimplexBuilder AgregarRestriccion(KeyValuePair <string, string> par, double valor) { if (DispositivosHelper.GetInstace().Existe(par.Key) && !DispositivosHelper.GetInstace().GetDispositivo(par.Key).EsReemplazable&& valor >= HORAS_MINIMAS && valor <= HORAS_MAXIMAS) { this.Dispositivos.Add(par.Value, par.Key); Decision decision = new Decision(Domain.RealNonnegative, par.Value); this.Model.AddDecision(decision); this.Model.AddConstraint("Minimo" + this.Minimos++, decision >= HORAS_MINIMAS); this.Model.AddConstraint("Maximo" + this.Maximos++, decision <= HORAS_MAXIMAS - valor); } else { throw new Exception(); //TODO completar } return(this); }
public void TestInitialize() { this.helper = DispositivosHelper.GetInstace(); }