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>(); } }
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); }
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); }
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); }
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; }
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("У Вас нет прав перевода Листа Заказа на предыдущую стадию!"); } } } }
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(); } } } }