コード例 #1
0
        public ActionResult Edit([Bind(Include = "ID_Object,ID_Context,ObjectName,Entity,ObjDescription,ID_AuxObject")] Tb_Objects tb_Objects, int idProject)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    db.Entry(tb_Objects).State = EntityState.Modified;
                    db.SaveChanges();


                    //Eliminamos de la base de datos los parametros agregados con anterioridad
                    List <Tb_Parameters> tbParameters = db.Tb_Parameters.Where(x => x.ID_Object == tb_Objects.ID_Object).ToList();
                    if (tbParameters.Count > 0)
                    {
                        db.Tb_Parameters.RemoveRange(tbParameters);
                        db.SaveChanges();
                    }

                    string      ConnStr;
                    Tb_Projects tb = db.Tb_Projects.Find(idProject);
                    if (tb.LocalConnection.Value)
                    {
                        ConnStr = string.Format("data source=./;initial catalog={0};integrated security=True;MultipleActiveResultSets=True;App=EntityFramework", tb.ProjectDatabase);
                    }
                    else
                    {
                        ConnStr = string.Format("data source={0};initial catalog={1};persist security info=True;user id={2};password={3};multipleactiveresultsets=True;application name=EntityFramework", tb.Server, tb.ProjectDatabase, tb.ProjectUser, tb.Password);
                    };

                    List <SqlParameter> queryParams = new List <SqlParameter>();
                    queryParams.Add(new SqlParameter("idObject", tb_Objects.ID_AuxObject));

                    List <Tb_Parameters> listparams = new List <Tb_Parameters>();
                    DataTable            dt         = DataAccessADO.GetDataTable("GetParametersFromSP", CommandType.StoredProcedure, queryParams, ConnStr, null);

                    listparams = dt.AsEnumerable().Select(x => new Tb_Parameters()
                    {
                        ParameterName = x.Field <string>("name"), DataType = x.Field <string>("name"), Length = x.Field <int>("max_length"), Presition = x.Field <int>("precision"), Nullable = x.Field <bool>("is_nullable"), IsOut = x.Field <bool>("is_output")
                    }).ToList();

                    for (var i = 0; i < listparams.Count; i++)
                    {
                        listparams[i].ID_Object = tb_Objects.ID_Object;
                    }
                    db.Tb_Parameters.AddRange(listparams);
                    db.SaveChanges();

                    return(RedirectToAction("Index", new { idContext = tb_Objects.ID_Context, idProject = idProject }));
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: " + ex.Message);
                }
            }
            ViewBag.ID_Context = new SelectList(db.Tb_Contexts, "ID_Context", "ContextName", tb_Objects.ID_Context);
            return(View(tb_Objects));
        }
コード例 #2
0
        // GET: Parameters
        public ActionResult Index(int idObject, int idContext, int idProject)
        {
            ViewBag.idObject = idObject;
            Tb_Objects tbO = db.Tb_Objects.Find(idObject);

            ViewBag.ObjName   = tbO.ObjectName;
            ViewBag.idContext = idContext;
            ViewBag.idProject = idProject;
            var tb_Parameters = db.Tb_Parameters.Include(t => t.Tb_Objects);

            return(View(tb_Parameters.Where(x => x.ID_Object == idObject).ToList()));
        }
コード例 #3
0
        // GET: Object/Edit/5
        public ActionResult Edit(int?id, int idContext, int idProject)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Tb_Objects tb_Objects = db.Tb_Objects.Find(id);

            if (tb_Objects == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idProject = idProject;
            ViewBag.idContext = idContext;
            ViewBag.CxtName   = tb_Objects.Tb_Contexts.ContextName;
            return(View(tb_Objects));
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(int id, int idContext, int idProject)
        {
            //List<Tb_Parameters> tbParameters = db.Tb_Parameters.Where(x => x.ID_Object == id).ToList();
            List <Tb_Parameters> tb_Parameters = new List <Tb_Parameters>();

            Tb_Objects tb_Objects = db.Tb_Objects.Find(id);

            if (tb_Objects.Tb_Parameters.Any())
            {
                tb_Parameters = db.Tb_Parameters.Where(x => x.ID_Object == id).ToList();
                db.Tb_Parameters.RemoveRange(tb_Parameters);
                db.SaveChanges();
            }

            db.Tb_Objects.Remove(tb_Objects);
            db.SaveChanges();
            return(RedirectToAction("Index", new { idContext = idContext, idProject = idProject }));
        }