示例#1
0
 public HtmlWord ReadHtmlWord(HtmlWord model)
 {
     return(Session.QueryOver <HtmlWord>()
            .Where(m
                   => (m.UserId == model.UserId) &&
                   (m.HtmlId == model.HtmlId) &&
                   (m.HtmlWordId == model.HtmlWordId))
            .SingleOrDefault <HtmlWord>());
 }
示例#2
0
        public HtmlWord CreateHtmlWord(HtmlWord model)
        {
            HtmlWord rtn;

            Session.Clear();
            rtn = Session.Save(model) as HtmlWord;
            Session.Flush();

            return(rtn);
        }
示例#3
0
        private void HandleHtwdCommand(String argument)
        {
            if (!isLogin)
            {
                SendResponse(ProtocolResponse.NotLoggedIn, "로그인 후 사용하세요.");
                return;
            }

            String[]  split = argument.Split(new char[] { ',' }, 2);
            HtmlModel mHtml = new HtmlModel();

            mHtml.UserId     = userId;
            mHtml.HtmlId     = htmlDao.ReadMaxHtmlId(userId) + 1;
            mHtml.URL        = split[0].Split('|')[2];
            mHtml.CreateTime = DateTime.Now;
            htmlDao.CreateHtml(mHtml);

            HtmlWord mHtmlWord = new HtmlWord();

            mHtmlWord.UserId = mHtml.UserId;
            mHtmlWord.HtmlId = mHtml.HtmlId;

            foreach (String htmlWord in split[1].Trim().Split(' '))
            {
                mHtmlWord.Word = htmlWord.ToLower();
                mHtmlWord      = htmlWordDao.ReadHtmlWordUsingWord(mHtmlWord);

                if (mHtmlWord == null)
                {
                    mHtmlWord            = new HtmlWord();
                    mHtmlWord.UserId     = mHtml.UserId;
                    mHtmlWord.HtmlId     = mHtml.HtmlId;
                    mHtmlWord.HtmlWordId = htmlWordDao.ReadMaxHtmlWordId(mHtml) + 1;
                    mHtmlWord.Word       = htmlWord.ToLower();
                    mHtmlWord.WordCount  = 1;

                    htmlWordDao.CreateHtmlWord(mHtmlWord);
                }
                else
                {
                    mHtmlWord.WordCount += 1;

                    htmlWordDao.UpdateHtmlWord(mHtmlWord);
                }
            }

            SendResponse(ProtocolResponse.CommandOkay, "HTML 정보가 추가되었습니다.");
        }
示例#4
0
        public HtmlWord ReadHtmlWordUsingWord(HtmlWord model)
        {
            Session.Clear();

            ISQLQuery query = Session.CreateSQLQuery(
                " SELECT *" +
                "   FROM TBL_HTML_WORD" +
                "  WHERE USR_ID  = :userId" +
                "    AND HTML_ID = :htmlId" +
                "    AND HTML_WD = :htmlWord");

            query.SetParameter("userId", model.UserId);
            query.SetParameter("htmlId", model.HtmlId);
            query.SetParameter("htmlWord", model.Word);
            query.AddEntity(typeof(HtmlWord));

            return((HtmlWord)query.UniqueResult());
        }
示例#5
0
    private static NodeChange CompareNodeStacks(HtmlWord x, HtmlWord y, out HtmlNode[] droppedNodes, out HtmlNode[] addedNodes)
    {
        var droppedList = new List <HtmlNode>();
        var addedList   = new List <HtmlNode>();

        // traverse x's NodeStack backwards to see which nodes
        // do not include y (and are therefore "finished")
        foreach (var node in x.NodeStack.Reverse())
        {
            if (!Array.Exists(y.NodeStack, n => n.Equals(node)))
            {
                droppedList.Add(node);
            }
        }

        // traverse y's NodeStack forwards to see which nodes
        // do not include x (and are therefore "new")
        foreach (var node in y.NodeStack)
        {
            if (!Array.Exists(x.NodeStack, n => n.Equals(node)))
            {
                addedList.Add(node);
            }
        }

        droppedNodes = droppedList.ToArray();
        addedNodes   = addedList.ToArray();

        NodeChange change = NodeChange.None;

        if (droppedNodes.Length > 0)
        {
            change &= NodeChange.Dropped;
        }
        if (addedNodes.Length > 0)
        {
            change &= NodeChange.Added;
        }

        // could maybe use this in some later revision?
        // not worth the effort right now...
        return(change);
    }
示例#6
0
        private static NodeChange CompareNodeStacks(HtmlWord x, HtmlWord y, out HtmlNode[] droppedNodes,
                                                    out HtmlNode[] addedNodes)
        {
            var droppedList = new List<HtmlNode>();
            var addedList = new List<HtmlNode>();

            // traverse x's NodeStack backwards to see which nodes
            // do not include y (and are therefore "finished")
            foreach (var node in x.NodeStack.Reverse())
            {
                if (!Array.Exists(y.NodeStack, n => n.Equals(node)))
                    droppedList.Add(node);
            }

            // traverse y's NodeStack forwards to see which nodes
            // do not include x (and are therefore "new")
            foreach (var node in y.NodeStack)
            {
                if (!Array.Exists(x.NodeStack, n => n.Equals(node)))
                    addedList.Add(node);
            }

            droppedNodes = droppedList.ToArray();
            addedNodes = addedList.ToArray();

            NodeChange change = NodeChange.None;
            if (droppedNodes.Length > 0)
                change &= NodeChange.Dropped;
            if (addedNodes.Length > 0)
                change &= NodeChange.Added;

            // could maybe use this in some later revision?
            // not worth the effort right now...
            return change;
        }
示例#7
0
 public void DeleteHtmlWord(HtmlWord model)
 {
     Session.Clear();
     Session.Delete(model);
     Session.Flush();
 }
示例#8
0
 public void UpdateHtmlWord(HtmlWord model)
 {
     Session.Clear();
     Session.Update(model);
     Session.Flush();
 }