Example #1
0
                public TestViewEngine()
                {
                    var vpp = new VPP(
                        new VPP.Dir("Views",
                                    new VPP.Dir("_Shared",
                                                new VPP.File("index.hbs", "Name: {{name}}")
                                                )
                                    )
                        );

                    this.VirtualPathProvider = vpp;
                }
        protected override void ControlsToData()
        {
            if (_driver == null)
            {
                _driver = new VPP();
            }
            base.ControlsToData();
            var vpp = _driver as VPP;

            if (vpp != null)
            {
                vpp.prefix = edtPrefix.GetValue <string>();
            }
        }
Example #3
0
            public void Partials_are_scoped_to_controller()
            {
                var vpp = new VPP(
                    new VPP.Dir("Views",
                                new VPP.Dir("Blog",
                                            new VPP.Dir("_Partials",
                                                        new VPP.File("person.hbs", "Blog's partial")
                                                        )
                                            ),
                                new VPP.Dir("_Partials",
                                            new VPP.File("person.hbs", "Global partial")
                                            ),
                                new VPP.Dir("_Shared",
                                            new VPP.File("index.hbs", "Hello, {{>person}}!")
                                            )
                                )
                    );
                var hbsve = new HandlebarsViewEngine();

                hbsve.VirtualPathProvider = vpp;

                var httpContext = new Mock <HttpContextBase>();
                var controller  = new Mock <ControllerBase>();
                var routeData   = new RouteData();

                routeData.Values.Add("controller", "Blog");
                var controllerContext = new ControllerContext(httpContext.Object, routeData, controller.Object);

                var viewengineResult = hbsve.FindView(controllerContext, viewName: "index", masterName: null, useCache: false);
                var hbsview          = viewengineResult.View;

                string actual = GetHtmlFromView(hbsview, new {});

                Assert.Equal("Hello, Blog's partial!", actual);

                // Redo the test, now for the HomeController
                routeData.Values["controller"] = "Home";
                controllerContext = new ControllerContext(httpContext.Object, routeData, controller.Object);
                viewengineResult  = hbsve.FindView(controllerContext, viewName: "index", masterName: null, useCache: false);
                hbsview           = viewengineResult.View;
                actual            = GetHtmlFromView(hbsview, new {});
                Assert.Equal("Hello, Global partial!", actual);
            }
Example #4
0
        public void Handlebars_1_9_doesnt_throw_when_compiling_mustache_as_part_of_string()
        {
            var vpp = new VPP(
                new VPP.Dir("Views",
                            new VPP.Dir("Home",
                                        new VPP.File("index.hbs", "Pi is about {{formatvalue pi '{0:N}'}}")
                                        )
                            )
                );
            var hbsve = new HandlebarsViewEngine();

            hbsve.VirtualPathProvider = vpp;

            hbsve.RegisterHelper("formatvalue", (writer, context, args) =>
            {
                object val              = args[0];
                string format           = args[1] as string;
                ViewContext viewContext = HandlebarsView.GetViewContext(context);
                HtmlHelper htmlHelper   = new HtmlHelper(viewContext, viewContext.View as HandlebarsView);
                string formatted        = htmlHelper.FormatValue(val, format);
                writer.Write(formatted);
            });

            var httpContext = new Mock <HttpContextBase>();
            var controller  = new Mock <ControllerBase>();
            var routeData   = new RouteData();

            routeData.Values.Add("controller", "Home");
            var controllerContext = new ControllerContext(httpContext.Object, routeData, controller.Object);

            var viewengineResult = hbsve.FindView(controllerContext, viewName: "index", masterName: null, useCache: false);
            var hbsview          = viewengineResult.View;

            string actual = GetHtmlFromView(hbsview, new
            {
                pi = 3.14159265358979
            });

            Assert.Equal("Pi is about 3.14", actual);
        }
Example #5
0
            public void BasicPartialWithStringParametersAndImplicitContext()
            {
                // The same test as the same named in https://github.com/rexm/Handlebars.Net/blob/master/source/Handlebars.Test/PartialTests.cs,
                // only using a VirtualPathProvider instead of source strings.

                var vpp = new VPP(
                    new VPP.Dir("Views",
                                new VPP.Dir("_Partials",
                                            new VPP.File("person.hbs", "{{firstName}} {{lastName}}")
                                            ),
                                new VPP.Dir("_Shared",
                                            new VPP.File("index.hbs", "Hello, {{>person lastName='Smith'}}!")
                                            )
                                )
                    );
                var hbsve = new HandlebarsViewEngine();

                hbsve.VirtualPathProvider = vpp;

                var data = new
                {
                    firstName = "Marc",
                    lastName  = "Jones"
                };

                var httpContext = new Mock <HttpContextBase>();
                var controller  = new Mock <ControllerBase>();
                var routeData   = new RouteData();

                routeData.Values.Add("controller", "Blog");
                var controllerContext = new ControllerContext(httpContext.Object, routeData, controller.Object);

                var viewengineResult = hbsve.FindView(controllerContext, viewName: "index", masterName: null, useCache: false);
                var hbsview          = viewengineResult.View;

                string actual = GetHtmlFromView(hbsview, data);

                Assert.Equal("Hello, Marc Smith!", actual);
            }
Example #6
0
        public CachingTests()
        {
            // Constructor - run before each test

            VPP vpp = new VPP(
                new VPP.Dir("Views",
                            new VPP.Dir("_Layouts",
                                        new VPP.File("default.hbs", "Body: {{{body}}}")
                                        ),
                            new VPP.Dir("_Shared"),
                            new VPP.Dir("Home",
                                        new VPP.File("Index.hbs", "{{!< default}} {{val}}")
                                        )
                            )
                );

            var dumbcache = new Dictionary <string, object>();

            _mockCache = new Mock <ICache>();

            _mockCache.Setup <object>(c => c.Get(It.IsAny <string>()))
            .Returns((string key) => dumbcache.ContainsKey(key) ? dumbcache[key] : null);

            _mockCache.Setup(c => c.Insert(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <CacheDependency>()))
            .Callback((string key, object val, CacheDependency cd) =>
                      dumbcache[key] = val);
            _mockCache.Setup(c => c.Insert(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <CacheDependency>(), It.IsAny <DateTime>(), It.IsAny <TimeSpan>()))
            .Callback((string key, object val, CacheDependency cd, DateTime dt, TimeSpan ts) =>
                      dumbcache[key] = val);
            _mockCache.Setup(c => c.Insert(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <CacheDependency>(), It.IsAny <DateTime>(), It.IsAny <TimeSpan>(), It.IsAny <CacheItemUpdateCallback>()))
            .Callback((string key, object val, CacheDependency cd, DateTime dt, TimeSpan ts, CacheItemUpdateCallback cb) =>
                      dumbcache[key] = val);

            _hbve = new HandlebarsViewEngine();
            _hbve.VirtualPathProvider = vpp;
            _hbve.Cache = _mockCache.Object;
        }
Example #7
0
        void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (dGV.Rows.Count > 0)
            {
                string cell = dGV.Rows[dGV.CurrentCell.RowIndex].Cells[0].Value.ToString();
                if ((sender as ComboBox).Text == "Удалить")
                {//доступ кладовщицы
                    if (AccessUser.AccessUser.GetRLType(1))
                    {
                        if (MessageBox.Show("Вы действительно хотите удалить лист заказа № " + cell + " ?\nУдаленная информация не может быть восстановлена!", "Предупреждение!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning).ToString() == "Yes")
                        {
                            AssemblyOrders.deleteOrder(cell);
                            dGV.DataSource = Update(docStatus);
                            MessageBox.Show("Лист заказа успешно удален!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show("У Вас нет прав на удаление Листов Заказа!");
                    }
                }
                else if ((sender as ComboBox).Text == "Отобразить в Excel")
                {
                    if (docStatus == 1)
                    {
                        Dictionary<string, string> Dict = Instrumentary.setDictOrder1(cell);
                        xlsAssemblyOrder1 Order1 = new xlsAssemblyOrder1(Dict);
                        Order1.createDocument();
                    }
                    else if (docStatus == 3)
                    {
                        Dictionary<string, string> Elements = new Dictionary<string, string>();
                        Dictionary<string, string> Dict = Instrumentary.setDictOrder2(cell, out Elements);
                        xlsAssemblyOrder2 Order2 = new xlsAssemblyOrder2(Dict, Elements);
                        Order2.createDocument();
                    }
                    else
                    {
                        Dictionary<string, string> Elements = new Dictionary<string, string>();
                        xlsAssemblyOrder Order = new xlsAssemblyOrder(cell);
                        Order.createDocument();
                    }

                }
                else if ((sender as ComboBox).Text == "Вывести ВПП")
                {
                    string VPPNum = AssemblyOrders.getVPPnumber(cell);

                    if (VPPNum != "")
                    {
                        VPP doc = new VPP(VPPNum);
                        doc.createXLS();
                    }
                }
                else if ((sender as ComboBox).Text == "Вывести ТЗ")
                {
                    string VPPNum = AssemblyOrders.getVPPnumber(cell);
                    if (VPPNum != "")
                    {
                        string TZNum = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Номер ТЗ"].Value.ToString();
                        int TZPos = _VPP_TZ.getPosition(VPPNum, TZNum);
                        Dictionary<string, string> Dict = Instrumentary.setDictTZ(VPPNum, TZPos);
                        xlsTZ tzDoc = new xlsTZ(Dict);
                        tzDoc.createDocument();
                    }
                    else
                    {
                        string cellDocId = AssemblyOrders.getTZId(cell);

                        if (cellDocId != "")
                        {
                            CreateTZ tz = new CreateTZ(1, 1, cellDocId);
                            tz.createXLS();
                        }
                    }
                }
                else if ((sender as ComboBox).Text == "Вывести спецификацию")
                {
                    string cellNum = dGV["Номер", dGV.CurrentCell.RowIndex].Value.ToString();
                    if (!AssemblyOrders.isTZ(cellNum))
                    {
                        int VPPId = AssemblyOrders.getVPPId(cellNum);
                        string equipTitle = VPP.getEquipTitle(VPPId);
                        _startKTC();
                    }
                }
                else
                {
                    //доступ кладовщицы
                    if (AccessUser.AccessUser.GetRLType(1))
                    {
                        if (MessageBox.Show("Вы действительно хотите перевести листа заказа № " + cell + " на предыдущую стадию?", "Предупреждение", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning).ToString() == "Yes")
                        {
                            AssemblyOrders.setStatus(docStatus - 1, cell);
                            dGV.DataSource = Update(docStatus);
                            MessageBox.Show("Стадия изменена!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show("У Вас нет прав перевода Листа Заказа на предыдущую стадию!");
                    }
                }
            }
        }
Example #8
0
        void cB_GetKD(object sender, EventArgs e)
        {
            if ((dGV.RowCount > 0) && (dGV.CurrentCell != null))
            {
                bool isTZ = false; //сортировка по ТЗ вне ВПП
                if (comboBox1.Text == "ТЗ (без ВПП)")
                {
                    isTZ = true;
                }

                if ((sender as ComboBox).Text == "ВПП")
                {
                    if (!isTZ)//!сортировка по ТЗ вне ВПП
                    {
                        string cell = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Номер ВПП"].Value.ToString();
                        if (cell != "") //не ТЗ вне ВПП
                        {
                            VPP doc = new VPP(cell);
                            doc.createXLS();
                        }
                    }
                }
                else if ((sender as ComboBox).Text == "ТЗ")
                {
                    if (!isTZ)//!сортировка по ТЗ вне ВПП
                    {
                        string cell = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Номер ВПП"].Value.ToString();

                        if (cell != "")//не ТЗ вне ВПП
                        {
                            int TZPos = Int32.Parse(dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Позиция ТЗ в ВПП"].Value.ToString());
                            Dictionary<string, string> Dict = Instrumentary.setDictTZ(cell, TZPos);
                            xlsTZ tzDoc = new xlsTZ(Dict);
                            tzDoc.createDocument();
                        }
                        else //однозначно ТЗ вне ВПП
                        {
                            string cellDocId = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["ID_DOC"].Value.ToString();
                                CreateTZ tz = new CreateTZ(1, 0, cellDocId);
                                tz.createXLS();

                        }
                    }
                    else //однозначно ТЗ вне ВПП
                    {
                        string cellDocId = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["ID_DOC"].Value.ToString();
                            CreateTZ tz = new CreateTZ(1, 0, cellDocId);
                            tz.createXLS();
                    }
                }
                else if ((sender as ComboBox).Text == "Спецификация")
                {
                    if (!isTZ)//!сортировка по ТЗ вне ВПП
                    {
                        string cell = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Номер ВПП"].Value.ToString();
                        if (cell != "")//не ТЗ вне ВПП
                        {
                            _startKTC();
                        }
                    }
                }
                else
                {
                    if (!isTZ)//!сортировка по ТЗ вне ВПП
                    {
                        string cell = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Номер ВПП"].Value.ToString();
                        if (cell != "")//не ТЗ вне ВПП
                        {
                            VPP doc = new VPP(cell);
                            doc.createXLS();

                            int TZPos = Int32.Parse(dGV.Rows[dGV.CurrentCell.RowIndex].Cells["Позиция ТЗ в ВПП"].Value.ToString());
                            Dictionary<string, string> Dict = Instrumentary.setDictTZ(cell, TZPos);
                            xlsTZ tzDoc = new xlsTZ(Dict);
                            tzDoc.createDocument();

                            _startKTC();
                        }
                        else //однозначно ТЗ вне ВПП
                        {
                            string cellDocId = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["ID_DOC"].Value.ToString();
                            CreateTZ tz = new CreateTZ(1, 0, cellDocId);
                            tz.createXLS();
                        }
                    }
                    else //однозначно ТЗ вне ВПП
                    {
                        string cellDocId = dGV.Rows[dGV.CurrentCell.RowIndex].Cells["ID_DOC"].Value.ToString();
                        CreateTZ tz = new CreateTZ(1, 0, cellDocId);
                        tz.createXLS();
                    }

                }
            }
        }