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)); }
// 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())); }
// 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)); }
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 })); }