示例#1
0
 public DBModelo()
 {
     Ecuaciones        = new List <DBEcuacion>();
     FuncionAOptimizar = new DBEcuacion();
     FuncionOriginal   = new DBEcuacion();
 }
示例#2
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);
            }
        }