private void Write(WebPageBaseViewModel modalViewModel) { _stringBuilder.AppendFormat("<%--{0}--%>\n", modalViewModel.RuDescription); string caption = string.Format("<%$ Resources: {0}, {1} %>", ResourceNamespace, modalViewModel.ControlIdView); _stringBuilder.AppendFormat("<asp:TemplateField HeaderText=\"{0}\" SortExpression=\"{1}\" AccessibleHeaderText=\"{1}\">\n", caption, modalViewModel.FieldInDb); _stringBuilder.AppendFormat("<ItemTemplate>\n"); switch (modalViewModel.Type) { case "int": case "varchar": case "datetime": case "decimal": case "dictionary": _stringBuilder.AppendFormat("<asp:Label ID=\"{0}\" runat=\"server\"><%# Eval(\"{1}\")%></asp:Label>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb); break; case "bit": _stringBuilder.AppendFormat("<asp:CheckBox ID=\"{0}\" runat=\"server\" value=\"<%# Eval(\"{1}\")%>\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb); break; case "file": _stringBuilder.AppendFormat("<gp:ValidatingFileView ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" FileName=\"<%# Eval(\"fileName\")%>\" Value='<%# (Eval(\"{1}\") is DBNull) ? -1 : Eval(\"{1}\") %>'/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb); break; } _stringBuilder.AppendFormat("</ItemTemplate>\n"); _stringBuilder.AppendFormat("</asp:TemplateField>\n"); }
private void SetParentsCollections(WebPageBaseViewModel parent) { foreach (WebPageBaseViewModel webPageBaseViewModel in parent.Children) { //webPageBaseViewModel.ParentCollection = parent.Children; webPageBaseViewModel.Parent = parent; SetParentsCollections(webPageBaseViewModel); } }
public void Execute(object parameter) { StringBuilder sbr = new StringBuilder(); StringBuilder sbe = new StringBuilder(); bool isEdit = parameter.ToString() == "True"; WebPageBaseViewModel rootModel = _model.Properties.FirstOrDefault(); Constructor(sbr, sbe, rootModel.Children, isEdit); //_model.ResuorseTextRu = sbr.ToString(); //_model.ResuorseTextEn = sbe.ToString(); }
/// <summary> /// Создает контрол в режиме Edit /// </summary> /// <param name="modalViewModel">Обьект поле</param> private void WriteEdit(WebPageBaseViewModel modalViewModel) { _stringBuilder.AppendFormat("<%--{0}--%>\n", modalViewModel.RuDescription); string caption = string.Format("<%$ Resources: {0}, {1} %>", ResourceNamespace, modalViewModel.ControlIdEdit); switch (modalViewModel.Type) { case "time": case "date": case "datetime": _stringBuilder.AppendFormat("<gp:ValidatingJsCalendar ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\" ImageUrl=\"~/Images/week_small.gif\" ValidType=\"FORM_ERROR_TYPE_DATE\" />\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "int": _stringBuilder.AppendFormat("<gp:ValidatingTextBox ID=\"{0}\" runat=\"server\" sqlType=\"Int\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "decimal": _stringBuilder.AppendFormat("<gp:ValidatingTextBox ID=\"{0}\" runat=\"server\" sqlType=\"Decimal\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "varchar": _stringBuilder.AppendFormat("<gp:ValidatingTextBox ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "bit": _stringBuilder.AppendFormat("<gp:ValidatingBoolLabel ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "file": _stringBuilder.AppendFormat("<gp:ValidatingFileView ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "dictionary": _stringBuilder.AppendFormat("<gp:ValidatingDropDawnList ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; } }
void AssociatedObject_MouseLeave(object sender, MouseEventArgs e) { if (_isMouseClicked) { //set the item's DataContext as the data to be transferred WebPageBaseViewModel dragObject = this.AssociatedObject.DataContext as WebPageBaseViewModel; if (dragObject != null && dragObject.IsDragable) { DataObject data = new DataObject(); data.SetData(typeof(WebPageBaseViewModel), this.AssociatedObject.DataContext); System.Windows.DragDrop.DoDragDrop(this.AssociatedObject, data, DragDropEffects.Move); } } _isMouseClicked = false; }
void AssociatedObject_DragEnter(object sender, DragEventArgs e) { if (this.AssociatedObject.DataContext != null) { WebPageBaseViewModel dropObject = this.AssociatedObject.DataContext as WebPageBaseViewModel; if (dropObject != null) { if (this.adorner == null) { this.adorner = new FrameworkElementAdorner(sender as UIElement); } } } e.Handled = true; }
/// <summary> /// Получить таблицу родителя /// </summary> private string GetTableName(WebPageBaseViewModel parent) { if (parent == null) { return(null); } if (parent is RootPanel) { return((parent as RootPanel).TableName); } if (parent is GridViewModel) { return((parent as GridViewModel).TableName); } return(GetTableName(parent.Parent)); }
public void TurnGridTest() { PanelViewModel panelViewModel = new PanelViewModel(_model.RootPanel) { RuDescription = "Комент", FieldInDb = "Id1" }; _model.RootPanel.Children.Add(panelViewModel); ModalViewModel panel1 = new ModalViewModel(panelViewModel) { Type = "varchar", FieldInDb = "field2", RuDescription = "Комент", ControlIdView = "lb2" }; panelViewModel.Children.Add(panel1); ModalViewModel panel2 = new ModalViewModel(panelViewModel) { Type = "varchar", FieldInDb = "field3", RuDescription = "Комент", ControlIdView = "lb3" }; panelViewModel.Children.Add(panel2); _model.CurrentProperty = panelViewModel; int index = _model.RootPanel.Children.IndexOf(panelViewModel); int childrenCount = panelViewModel.Children.Count; _model.TurnGrid(); //Проверяем тип WebPageBaseViewModel newModel = _model.RootPanel.Children[index]; Assert.IsTrue(newModel is GridViewModel); //Количество детей Assert.AreEqual(childrenCount, newModel.Children.Count); //Проверяем родительские колекции Assert.AreEqual(childrenCount, panel1.ParentCollection.Count); Assert.AreEqual(childrenCount, panel2.ParentCollection.Count); }
/// <summary> /// Создает контрол в режиме View /// </summary> /// <param name="modalViewModel">Обьект поле</param> private void WriteView(WebPageBaseViewModel modalViewModel) { _stringBuilder.AppendFormat("<%--{0}--%>\n", modalViewModel.RuDescription); string caption = string.Format("<%$ Resources: {0}, {1} %>", ResourceNamespace, modalViewModel.ControlIdView); switch (modalViewModel.Type) { case "int": case "varchar": case "datetime": case "decimal": case "dictionary": _stringBuilder.AppendFormat("<gp:ValidatingLabel ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "bit": _stringBuilder.AppendFormat("<gp:ValidatingBoolLabel ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "file": _stringBuilder.AppendFormat("<gp:ValidatingFileView ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "time": _stringBuilder.AppendFormat("<gp:ValidatingLabel ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\" Format=\"HH:mm:ss\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; case "date": _stringBuilder.AppendFormat("<gp:ValidatingLabel ID=\"{0}\" runat=\"server\" SkinID=\"ViewModeSkin\" Caption=\"{2}\" DataBoundField=\"{1}\" EnableDate=\"true\" HistType=\"HISTORY_TYPE_UL\" Format=\"MM.dd.yyyy\"/>\n", modalViewModel.ControlIdView, modalViewModel.FieldInDb, caption); break; } }
void AssociatedObject_DragOver(object sender, DragEventArgs e) { Type type = typeof(WebPageBaseViewModel); //if item can be dropped if (e.Data.GetDataPresent(type)) { WebPageBaseViewModel target = this.AssociatedObject.DataContext as WebPageBaseViewModel; if (target != null) { //give mouse effect this.SetDragDropEffects(e); } //draw the dots if (this.adorner != null) { this.adorner.Update(); } } e.Handled = true; }
void AssociatedObject_Drop(object sender, DragEventArgs e) { Type type = typeof(WebPageBaseViewModel); //if the data type can be dropped if (e.Data.GetDataPresent(type)) { //drop the data WebPageBaseViewModel target = this.AssociatedObject.DataContext as WebPageBaseViewModel; if (target != null && target.IsDropable) { target.Drop((WebPageBaseViewModel)e.Data.GetData(type)); } } if (this.adorner != null) { this.adorner.Remove(); } e.Handled = true; return; }
public PanelViewModel(WebPageBaseViewModel parent) { Parent = parent; //ParentCollection = parent?.Children; Validate(); }
/// <summary> /// Получить таблицу родителя /// </summary> private string GetTableName(WebPageBaseViewModel parent) { if (parent == null) return null; if (parent is RootPanel) return (parent as RootPanel).TableName; if (parent is GridViewModel) return (parent as GridViewModel).TableName; return GetTableName(parent.Parent); }