コード例 #1
0
        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();
            //}
        }
コード例 #2
0
        public void Add(IModelodata modelo)
        {
            DBModelo modeloTmp = new DBModelo();

            CopiarADBModelo(modelo, modeloTmp);
            using (var DBCtxt = new SimplexContext())
            {
                DBCtxt.Modelos.Add(modeloTmp);
                DBCtxt.SaveChanges();
            }
        }
コード例 #3
0
 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);
             }
         }
     }
 }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
 public void Modify(IModelodata modelo)
 {
     this.Remove(modelo.Nombre);
     this.Add(modelo);
 }