示例#1
0
        public ActionResult Create([Bind(Include = "Id,ParentId,Name")] Node node)
        {
            if (ModelState.IsValid)
            {
                db.Nodes.Add(node);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ParentId = new SelectList(db.Nodes, "Id", "Name", node.ParentId);
            return(View(node));
        }
示例#2
0
        public ActionResult Index(HttpPostedFileBase file, string keyWord)
        {
            var    fileName = Path.GetFileName(file.FileName);
            string path     = Path.Combine(Server.MapPath("~/Content/"), fileName);

            file.SaveAs(path);
            using (StreamReader read = new StreamReader(path))
            {
                var line = read.ReadToEnd().Split('.');
                foreach (var item in line)
                {
                    if (item.Contains(keyWord))
                    {
                        db.Nodes.Add(new Node(Reverse(item)));
                        db.SaveChanges();
                    }
                }
            }
            System.IO.File.Delete(path);



            List <string> dataDB = new List <string>();

            foreach (var item in db.Nodes.ToList())
            {
                dataDB.Add(Reverse(item.Sentence));
            }
            return(View(dataDB));
        }
示例#3
0
        public ActionResult Update(string str)
        {
            db.Nodes.Add(new Node {
                Stroke = str
            });
            db.SaveChanges();

            return(PartialView(db.Nodes));
        }
示例#4
0
        static void Main(string[] args)
        {
            using (var context = new NodeContext())
            {
                var count = context.Nodes.Count();

                //context.Database.ExecuteSqlCommand("delete Nodes");

                var root = AddChild(null, "root", context);
                CURRENT_HIERARCHY = 0;
                CreateChildren(new List <Node> {
                    root
                }, CURRENT_HIERARCHY, context);
                context.SaveChanges();
            }
        }
示例#5
0
 ///<summary>
 ///Метод Set для работы с нодами.
 ///Задаёт значение parametr для заданой ноды по заданному условию
 ///Возвращает true в случае успеха. False в случае исключения.
 ///Проверка на наличие ноды в БД. При отсутствии выбразывается исключение.
 ///</summary>
 ///<param name="node">Нода дял добавления</param>
 public bool Insert(Node node)
 {
     try
     {
         using (NodeContext context = new NodeContext())
         {
             var search = context.Nodes.Where(n => n.Id == node.Id).ToList();
             if (search.Count != 0)
             {
                 throw new Exception();
             }
             context.Nodes.Add(node);
             context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#6
0
        ///<summary>
        ///Метод устанавливающий родителя.
        ///Использованная хранимаюв БД процедура
        ///</summary>
        ///<param name="nodeId">Id ноды для изменения</param>
        ///<param name="parentId">Id родителя</param>
        public bool SetParent(int nodeId, int parentId)
        {
            try
            {
                using (NodeContext context = new NodeContext())
                {
                    object[] param =
                    {
                        new SqlParameter("@nodeid",   nodeId),
                        new SqlParameter("@Parentid", parentId)
                    };

                    context.Nodes.FromSql($"SetParentId @nodeid, @Parentid", param);
                    context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#7
0
        //TODO: Нужно сделать возможность изменять несколько полей

        ///<summary>
        ///Метод Set для работы с нодами.
        ///Задаёт значение ID родителя для заданой ноды
        ///Возвращает true в случае успеха. False в случае исключения.
        ///Проверка на наличие ноды в БД. При отсутствии выбразывается исключение.
        ///</summary>
        ///<param name="parrentId">Id родителя</param>
        ///<param name="nodeId">Id ноды</param>
        public bool Set <T>(int nodeId, int parrentId)
        {
            try
            {
                using (NodeContext context = new NodeContext())
                {
                    var node = context.Nodes.FirstOrDefault(x => x.Id == nodeId);
                    if (node == null)
                    {
                        throw new ArgumentNullException();
                    }
                    node.parentId = parrentId;
                    context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }