示例#1
0
        public void TestModelToMongo()
        {
            var models = new XPathDemo[]
            {
                new XPathDemo
                {
                    Id       = "Random123",
                    Revision = 1,
                    Engine   = XPathEngine.xpath3,
                    Xml      = "<root/>",
                    XPath    = "/*/self::*",
                    Result   = new XPathResult {
                        Data = "<root/>"
                    }
                },
                new XPathDemo()
            };
            var isAllMatch = models.Select(model =>
            {
                var mongoModel = new XPathDemoMongo();
                mongoModel.LoadFromModel(model);

                var isMatch = (
                    mongoModel.Id == model.Id &&
                    mongoModel.Revision == model.Revision &&
                    (XPathEngine)Enum.ToObject(typeof(XPathEngine), mongoModel.Engine) == model.Engine &&
                    mongoModel.Xml == model.Xml &&
                    mongoModel.XPath == model.XPath &&
                    mongoModel.Result == model.Result.Data
                    );
                return(isMatch);
            }).All(o => o);

            Assert.IsTrue(isAllMatch);
        }
示例#2
0
        public JsonResult FormatXml(XPathDemo demo)
        {
            string result = "", error = "";

            try
            {
                result = DotNetProcessor.Format(demo.Xml);
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(Json(new { data = result, error }));
        }
示例#3
0
        public JsonResult ExecuteXPath(XPathDemo demo)
        {
            string          result = "", error = "";
            IXPathProcessor processor = XPathProcessorFactory.Get(demo.Engine);

            try
            {
                result = processor.Process(demo.Xml, demo.XPath);
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(Json(new { data = result, error }));
        }
示例#4
0
        public JsonResult SaveDemo(XPathDemo demo)
        {
            string         error     = "";
            XPathDemoMongo data      = new XPathDemoMongo();
            var            isSuccess = true;

            try
            {
                var mongoModel = new XPathDemoMongo();
                mongoModel.LoadFromModel(demo);
                data = DataRepository.CreateDemo(mongoModel);
            }
            catch (Exception e)
            {
                isSuccess = false;
                error     = e.Message;
                return(Json(new { isSuccess = isSuccess, error, data = data.Id }));
            }
            return(Json(new { isSuccess = isSuccess, error, data = UrlUtils.GetRedirectUrl(data, Request.RequestContext) }));
        }