Beispiel #1
0
        public override void Process()
        {
            string simp = Req.Params["simp"];

            if (simp == null)
            {
                throw new ApiException(400, "Missing 'simp' parameter.");
            }
            string trad = Req.Params["trad"];

            if (trad == null)
            {
                throw new ApiException(400, "Missing 'trad' parameter.");
            }
            string pinyin = Req.Params["pinyin"];

            if (pinyin == null)
            {
                throw new ApiException(400, "Missing 'pinyin' parameter.");
            }
            string trg = Req.Params["trg"];

            if (trg == null)
            {
                throw new ApiException(400, "Missing 'trg' parameter.");
            }
            string note = Req.Params["note"];

            if (note == null)
            {
                throw new ApiException(400, "Missing 'note' parameter.");
            }

            Result res = new Result {
                Success = true
            };

            SqlDict.SimpleBuilder builder = null;
            try
            {
                builder = new SqlDict.SimpleBuilder(0);
                CedictEntry entry = SqlDict.BuildEntry(simp, trad, pinyin, trg);
                builder.NewEntry(entry, note);
            }
            catch (Exception ex)
            {
                DiagLogger.LogError(ex);
                res.Success = false;
            }
            finally
            {
                if (builder != null)
                {
                    builder.Dispose();
                }
            }

            // Tell our caller
            Res = res;
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        public override void Process()
        {
            // Mucho TO-DO in this action:
            // - Escape slashes in senses
            // - Proper checking for all sorts of stuff

            string simp = Req.Params["simp"];

            if (simp == null)
            {
                throw new ApiException(400, "Missing 'simp' parameter.");
            }
            string trad = Req.Params["trad"];

            if (trad == null)
            {
                throw new ApiException(400, "Missing 'trad' parameter.");
            }
            string pinyin = Req.Params["pinyin"];

            if (pinyin == null)
            {
                throw new ApiException(400, "Missing 'pinyin' parameter.");
            }
            string trg = Req.Params["trg"];

            if (trg == null)
            {
                throw new ApiException(400, "Missing 'trg' parameter.");
            }

            Result res = new Result();

            res.Passed = true;

            CedictEntry   entry = SqlDict.BuildEntry(simp, trad, pinyin, trg);
            StringBuilder sb    = new StringBuilder();

            using (HtmlTextWriter writer = new HtmlTextWriter(new StringWriter(sb)))
            {
                EntryRenderer er = new EntryRenderer(entry, null, null);
                er.Render(writer);
            }
            res.Preview = sb.ToString();

            // Tell our caller
            Res = res;
        }
Beispiel #3
0
        private void histRenderChange(HtmlTextWriter writer, SqlDict.ChangeItem ci, bool trailingSeparator)
        {
            writer.WriteLine();
            writer.AddAttribute("class", "historyItem");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "changeHead");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "fa fa-lightbulb-o ctNew");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();

            writer.AddAttribute("class", "changeSummary");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string changeMsg;
            string changeCls = "changeType";

            if (ci.ChangeType == SqlDict.ChangeType.New)
            {
                changeMsg = "Új szócikk";
            }
            else if (ci.ChangeType == SqlDict.ChangeType.Edit)
            {
                changeMsg = "Szerkesztve";
            }
            else if (ci.ChangeType == SqlDict.ChangeType.Note)
            {
                changeMsg = "Megjegyzés";
            }
            else
            {
                changeMsg = ci.ChangeType.ToString();
            }
            changeMsg += ": ";
            writer.AddAttribute("class", changeCls);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.WriteEncodedText(changeMsg);
            writer.RenderEndTag();

            writer.AddAttribute("class", "changeUser");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.WriteEncodedText(ci.User);
            writer.RenderEndTag();

            writer.Write(" &bull; ");

            writer.AddAttribute("class", "changeTime");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            DateTime dt    = TimeZoneInfo.ConvertTimeFromUtc(ci.When, Global.TimeZoneInfo);
            string   dtFmt = "{0}-{1:00}-{2:00} {3:00}:{4:00}";

            dtFmt = string.Format(dtFmt, dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute);
            writer.WriteEncodedText(dtFmt);
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.AddAttribute("class", "changeNote");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.WriteEncodedText(ci.Note);
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.AddAttribute("class", "changeEntry");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "histEntryOps");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "opHistEdit fa fa-pencil-square-o");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.AddAttribute("class", "opHistComment fa fa-commenting-o");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.AddAttribute("class", "opHistFlag fa fa-flag-o");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.RenderEndTag();

            CedictEntry   entry = SqlDict.BuildEntry(ci.EntryHead, ci.EntryBody);
            EntryRenderer er    = new EntryRenderer(entry);

            er.OneLineHanziLimit = 12;
            er.Render(writer);

            writer.RenderEndTag();

            writer.RenderEndTag();

            if (trailingSeparator)
            {
                writer.AddAttribute("class", "historySep");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.RenderEndTag();
            }
        }
Beispiel #4
0
        protected override void Render(HtmlTextWriter writer)
        {
            writer.WriteLine();
            writer.AddAttribute("class", "historyItem");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "changeHead");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "changeSummary");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute("class", "changeUser");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.WriteEncodedText(ci.User);
            writer.RenderEndTag();

            writer.Write(" &bull; ");

            writer.AddAttribute("class", "changeTime");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            DateTime dt    = TimeZoneInfo.ConvertTimeFromUtc(ci.When, Global.TimeZoneInfo);
            string   dtFmt = "{0}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}";

            dtFmt = string.Format(dtFmt, dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
            writer.WriteEncodedText(dtFmt);
            writer.RenderEndTag();

            writer.Write(" &bull; ");

            string changeMsg;
            string changeCls = "changeType";

            if (ci.ChangeType == SqlDict.ChangeType.New)
            {
                changeMsg  = "új szócikk";
                changeCls += " ctNew";
            }
            else if (ci.ChangeType == SqlDict.ChangeType.Edit)
            {
                changeMsg  = "szerkesztve";
                changeCls += " ctEdit";
            }
            else if (ci.ChangeType == SqlDict.ChangeType.Note)
            {
                changeMsg  = "megjegyzés";
                changeCls += " ctNote";
            }
            else
            {
                changeMsg = ci.ChangeType.ToString();
            }
            writer.AddAttribute("class", changeCls);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.WriteEncodedText(changeMsg);
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.AddAttribute("class", "changeNote");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.WriteEncodedText("~~ " + ci.Note);
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.AddAttribute("class", "entry");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            CedictEntry   entry = SqlDict.BuildEntry(ci.EntryHead, ci.EntryBody);
            EntryRenderer er    = new EntryRenderer(entry, null, null);

            er.Render(writer);

            writer.RenderEndTag();

            writer.RenderEndTag();
        }