예제 #1
0
        public JsonResult GetStoredProceduresFromSysObjects(string txt, int idProject)
        {
            string      query = "GetStoredProcedures";
            Tb_Projects tb    = db.Tb_Projects.Find(idProject);
            string      ConnStr;

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

            //Parameters
            List <SqlParameter> listparams = new List <SqlParameter>();

            listparams.Add(new SqlParameter("txt", txt));

            List <SelectListItem> list = new List <SelectListItem>();

            DataTable dt = DataAccessADO.GetDataTable(query, CommandType.StoredProcedure, listparams, ConnStr, null);

            list = dt.AsEnumerable().Select(x => new SelectListItem()
            {
                Text = x.Field <string>("name"), Value = x.Field <string>("id")
            }).ToList();

            return(Json(list, JsonRequestBehavior.DenyGet));
        }
예제 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (ModelState.IsValid)
            {
                using (DbContextTransaction transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        List <Tb_Contexts> contexts = new List <Tb_Contexts>();
                        if (contexts.Where(x => x.ID_Project == id).Any())
                        {
                            contexts = db.Tb_Contexts.Where(x => x.ID_Project == id).ToList();
                            db.Tb_Contexts.RemoveRange(contexts);
                            db.SaveChanges();
                        }

                        Tb_Projects tb_Projects = db.Tb_Projects.Find(id);
                        db.Tb_Projects.Remove(tb_Projects);
                        db.SaveChanges();
                        transaction.Commit();
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        MessageBox.Show("Error: " + ex.Message);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #3
0
        // GET: Context/Create
        public ActionResult Create(int ID_Project)
        {
            ViewBag.idProject = ID_Project;
            Tb_Projects tb = db.Tb_Projects.Find(ID_Project);

            ViewBag.CurrentName = tb.ProjectName;
            return(View());
        }
예제 #4
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));
        }
예제 #5
0
        // GET: Context
        public ActionResult Index(int ID_Project)
        {
            ViewBag.CurrentProject = ID_Project;
            Tb_Projects proj = db.Tb_Projects.Find(ID_Project);

            ViewBag.CurrentName = proj.ProjectName;
            var tb_Contexts = db.Tb_Contexts.Include(t => t.Tb_Projects);

            return(View(tb_Contexts.Where(x => x.ID_Project == ID_Project).ToList()));
        }
예제 #6
0
        // GET: Project/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Tb_Projects tb_Projects = db.Tb_Projects.Find(id);

            if (tb_Projects == null)
            {
                return(HttpNotFound());
            }
            return(View(tb_Projects));
        }
예제 #7
0
        public ActionResult Create([Bind(Include = "ID_Project,ProjectName,FileDirectory,LocalConnection,Server,ProjectUser,ProjectDatabase,Password,CreationDate")] Tb_Projects tb_Projects)
        {
            if (ModelState.IsValid)
            {
                using (DbContextTransaction transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        string ConnStrFormat = "";
                        if (tb_Projects.LocalConnection.Value)
                        {
                            ConnStrFormat = string.Format("data source=./;initial catalog={0};integrated security=True;MultipleActiveResultSets=True;App=EntityFramework", tb_Projects.ProjectDatabase);
                        }
                        else
                        {
                            ConnStrFormat = string.Format("data source={0};initial catalog={1};persist security info=True;user id={2};password={3};multipleactiveresultsets=True;application name=EntityFramework", tb_Projects.Server, tb_Projects.ProjectDatabase, tb_Projects.ProjectUser, tb_Projects.Password);
                        }

                        using (SqlConnection connection = new SqlConnection(ConnStrFormat))
                        {
                            connection.Open();
                            if (connection.State.ToString() == "Closed")
                            {
                                throw new Exception("Los datos proporcionados son incorrectos.");
                            }
                        }

                        tb_Projects.CreationDate = DateTime.Now.Date;
                        db.Tb_Projects.Add(tb_Projects);
                        db.SaveChanges();
                        transaction.Commit();
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        MessageBox.Show("Ha ocurrido un error: " + ex.Message);
                    }
                }
            }
            return(View(tb_Projects));
        }