public void Modify(IModelodata modelo) { Remove(modelo.Id); Add(modelo); //DBModelo m = new DBModelo(); //CopiarADBModelo(modelo, m); //using (var DBCtxt = new SimplexContext()) //{ // DBCtxt.Modelos.Attach(m); // DBCtxt.Entry(m).State = StateHelper.ConvertState(m.State); // DBCtxt.Entry(m.FuncionAOptimizar).State = StateHelper.ConvertState(m.FuncionAOptimizar.State); // DBCtxt.Entry(m.FuncionOriginal).State = StateHelper.ConvertState(m.FuncionOriginal.State); // foreach (var t in m.FuncionAOptimizar.Terminos) // { // DBCtxt.Entry(t).State = EntityState.Modified; // } // foreach (var t in m.FuncionOriginal.Terminos) // { // DBCtxt.Entry(t).State = EntityState.Modified; // } // foreach (var e in m.Ecuaciones) // { // foreach (var t in e.Terminos) // { // DBCtxt.Entry(t).State = EntityState.Modified; // } // DBCtxt.Entry(e).State = EntityState.Modified; // } // DBCtxt.SaveChanges(); //} }
public void Add(IModelodata modelo) { DBModelo modeloTmp = new DBModelo(); CopiarADBModelo(modelo, modeloTmp); using (var DBCtxt = new SimplexContext()) { DBCtxt.Modelos.Add(modeloTmp); DBCtxt.SaveChanges(); } }
public void Add(IModelodata modelo) { using (StreamWriter file = new StreamWriter(path, true)) { file.WriteLine("Modelo"); file.WriteLine(modelo.Id.ToString()); file.WriteLine(modelo.Nombre); file.WriteLine(modelo.Objetivo); file.WriteLine("FuncionOriginal"); file.WriteLine(modelo.FuncionOriginal.Id); file.WriteLine(modelo.FuncionOriginal.NroEcu); file.WriteLine(modelo.FuncionOriginal.Operador); file.WriteLine(modelo.FuncionOriginal.ValorDerecho); file.WriteLine(modelo.FuncionOriginal.VariableBasica); foreach (var t in modelo.FuncionOriginal.Terminos) { file.WriteLine("FuncionOriginal.Terminos"); file.WriteLine(t.Id); file.WriteLine(t.Valor); file.WriteLine(t.Variable); } file.WriteLine("FuncionAOptimizar"); file.WriteLine(modelo.FuncionAOptimizar.Id); file.WriteLine(modelo.FuncionAOptimizar.NroEcu); file.WriteLine(modelo.FuncionAOptimizar.Operador); file.WriteLine(modelo.FuncionAOptimizar.ValorDerecho); file.WriteLine(modelo.FuncionAOptimizar.VariableBasica); foreach (var t in modelo.FuncionAOptimizar.Terminos) { file.WriteLine("FuncionAOptimizar.Terminos"); file.WriteLine(t.Id); file.WriteLine(t.Valor); file.WriteLine(t.Variable); } foreach (var e in modelo.Ecuaciones) { file.WriteLine("Ecuacion"); file.WriteLine(e.Id); file.WriteLine(e.NroEcu); file.WriteLine(e.Operador); file.WriteLine(e.ValorDerecho); file.WriteLine(e.VariableBasica); file.WriteLine(e.Preparada); foreach (var t in e.Terminos) { file.WriteLine("Ecuacion.Terminos"); file.WriteLine(t.Id); file.WriteLine(t.Valor); file.WriteLine(t.Variable); } } } }
private static void CopiarADBModelo(IModelodata modelo, DBModelo dbm) { DBTermino terminoTmp = null; DBEcuacion ecuacionTmp = null; bool tieneId = modelo.Id != Guid.Empty; if (tieneId) { dbm.Id = modelo.Id; } else { dbm.Id = Guid.NewGuid(); }; dbm.Nombre = modelo.Nombre; dbm.Objetivo = modelo.Objetivo; foreach (var ecu in modelo.Ecuaciones) { ecuacionTmp = new DBEcuacion(); foreach (var term in ecu.Terminos) { terminoTmp = new DBTermino(); if (tieneId) { terminoTmp.Id = term.Id; } else { terminoTmp.Id = Guid.NewGuid(); }; terminoTmp.Valor = term.Valor; terminoTmp.Variable = term.Variable; ecuacionTmp.Terminos.Add(terminoTmp); } if (tieneId) { ecuacionTmp.Id = ecu.Id; } else { ecuacionTmp.Id = Guid.NewGuid(); }; ecuacionTmp.NroEcu = ecu.NroEcu; ecuacionTmp.Operador = ecu.Operador; ecuacionTmp.Preparada = ecu.Preparada; ecuacionTmp.ValorDerecho = ecu.ValorDerecho; ecuacionTmp.VariableBasica = ecu.VariableBasica; dbm.Ecuaciones.Add(ecuacionTmp); //ecuacionTmp = new DBEcuacion(); } if (tieneId) { dbm.FuncionAOptimizar.Id = modelo.FuncionAOptimizar.Id; } else { dbm.FuncionAOptimizar.Id = Guid.NewGuid(); }; dbm.FuncionAOptimizar.NroEcu = modelo.FuncionAOptimizar.NroEcu; dbm.FuncionAOptimizar.Operador = modelo.FuncionAOptimizar.Operador; dbm.FuncionAOptimizar.Preparada = modelo.FuncionAOptimizar.Preparada; dbm.FuncionAOptimizar.ValorDerecho = modelo.FuncionAOptimizar.ValorDerecho; dbm.FuncionAOptimizar.VariableBasica = modelo.FuncionAOptimizar.VariableBasica; foreach (var fAOp in modelo.FuncionAOptimizar.Terminos) { terminoTmp = new DBTermino(); if (tieneId) { terminoTmp.Id = fAOp.Id; } else { terminoTmp.Id = Guid.NewGuid(); }; terminoTmp.Valor = fAOp.Valor; terminoTmp.Variable = fAOp.Variable; dbm.FuncionAOptimizar.Terminos.Add(terminoTmp); } if (tieneId) { dbm.FuncionOriginal.Id = modelo.FuncionOriginal.Id; } else { dbm.FuncionOriginal.Id = Guid.NewGuid(); }; dbm.FuncionOriginal.NroEcu = modelo.FuncionOriginal.NroEcu; dbm.FuncionOriginal.Operador = modelo.FuncionOriginal.Operador; dbm.FuncionOriginal.Preparada = modelo.FuncionOriginal.Preparada; dbm.FuncionOriginal.ValorDerecho = modelo.FuncionOriginal.ValorDerecho; dbm.FuncionOriginal.VariableBasica = modelo.FuncionOriginal.VariableBasica; foreach (var fO in modelo.FuncionOriginal.Terminos) { terminoTmp = new DBTermino(); if (tieneId) { terminoTmp.Id = fO.Id; } else { terminoTmp.Id = Guid.NewGuid(); }; terminoTmp.Valor = fO.Valor; terminoTmp.Variable = fO.Variable; dbm.FuncionOriginal.Terminos.Add(terminoTmp); } }
public void Modify(IModelodata modelo) { this.Remove(modelo.Nombre); this.Add(modelo); }