public View(DataTable dataTable, Durados.Web.Mvc.Database database, string name) : base(dataTable, database, name) { Controller = Database.DefaultController; IndexAction = Database.DefaultIndexAction; CheckListAction = Database.DefaultCheckListAction; CreateAction = Database.DefaultCreateAction; RefreshAction = Database.DefaultRefreshAction; CreateOnlyAction = Database.DefaultCreateOnlyAction; EditAction = Database.DefaultEditAction; DuplicateAction = Database.DefaultDuplicateAction; EditRichAction = Database.DefaultEditRichAction; GetRichAction = Database.DefaultGetRichAction; EditOnlyAction = Database.DefaultEditOnlyAction; GetJsonViewAction = Database.DefaultGetJsonViewAction; GetSelectListAction = Database.DefaultGetSelectListAction; DeleteAction = Database.DefaultDeleteAction; DeleteSelectionAction = Database.DefaultDeleteSelectionAction; EditSelectionAction = Database.DefaultEditSelectionAction; FilterAction = Database.DefaultFilterAction; UploadAction = Database.DefaultUploadAction; ExportToCsvAction = Database.DefaultExportToCsvAction; PrintAction = Database.DefaultPrintAction; SetLanguageAction = Database.DefaultSetLanguageAction; AutoCompleteAction = Database.DefaultAutoCompleteAction; AutoCompleteController = Database.DefaultAutoCompleteController; InlineAddingDialogAction = Database.DefaultInlineAddingDialogAction; InlineAddingCreateAction = Database.DefaultInlineAddingCreateAction; InlineEditingDialogAction = Database.DefaultInlineEditingDialogAction; InlineEditingEditAction = Database.DefaultInlineEditingEditAction; InlineDuplicateDialogAction = Database.DefaultInlineDuplicateDialogAction; InlineDuplicateAction = Database.DefaultInlineDuplicateAction; InlineSearchDialogAction = Database.DefaultInlineSearchDialogAction; AllFilterValuesAction = Database.DefaultAllFilterValuesAction; ExportToCsv = true; Print = false; DataRowView = DataRowView.Tabs; Popup = true; TabCache = true; RefreshOnClose = false; ImportFromExcel = true; DashboardHeight = "200"; DashboardWidth = "400"; PromoteButtonName = "Promote"; NewButtonName = "New"; EditButtonName = "Edit"; DuplicateButtonName = "Duplicate"; InsertButtonName = "Insert"; DeleteButtonName = "Delete"; HideToolbar = false; MultiSelect = true; MaxSubGridHeight = 400; DataDashboardView = "~/Views/Shared/Controls/DataDashboardView.ascx"; OpenDialogMax = false; }
public virtual XmlDocument GetERDXml(Durados.Web.Mvc.Database database) { if (database == null) { return(null); } Dictionary <string, ERDCoordinates> tables = GetERDState(database);; string databaseType = DataBaseType; XmlDocument xmlDocumet = new XmlDocument(); XmlElement root = xmlDocumet.CreateElement(RootElement); xmlDocumet.AppendChild(root); string dataTypesFileName = RootPath + DuradosDataTypesFileName; dataTypesFileName = System.Web.HttpContext.Current.Server.MapPath(dataTypesFileName); XmlDocumentFragment dataTypesXmlFrag = xmlDocumet.CreateDocumentFragment(); XmlDocument dataTypesXml = new XmlDocument(); dataTypesXml.Load(dataTypesFileName); dataTypesXmlFrag.InnerXml = dataTypesXml.DocumentElement.OuterXml; root.AppendChild(dataTypesXmlFrag); foreach (Durados.Web.Mvc.View view in database.Views.Values.Where(r => !r.SystemView)) { string viewName = GetViewName(view); XmlElement tableElm = xmlDocumet.CreateElement(ViewNodeName); XmlAttribute tableNameAttrib = xmlDocumet.CreateAttribute(TblNameAttr); XmlAttribute xAttrib = xmlDocumet.CreateAttribute(ViewXAttr); XmlAttribute yAttrib = xmlDocumet.CreateAttribute(ViewYAttr); tableNameAttrib.Value = GetViewNameWithSpan(view); xAttrib.Value = tables.ContainsKey(view.Name) ? tables[view.Name].X : (++newTableCounter * xWidth).ToString(); yAttrib.Value = tables.ContainsKey(view.Name) ? tables[view.Name].Y : (newTableCounter * yWidth).ToString(); tableElm.Attributes.Append(tableNameAttrib); tableElm.Attributes.Append(xAttrib); tableElm.Attributes.Append(yAttrib); foreach (Durados.Field field in view.Fields.Values) { XmlElement rowElm = xmlDocumet.CreateElement(ColumnNodeName); XmlAttribute rowName = xmlDocumet.CreateAttribute(ColumnNameAttr); XmlAttribute rowNull = xmlDocumet.CreateAttribute(ColumnNullAttr); XmlAttribute rowAutoInc = xmlDocumet.CreateAttribute(ColumnAutoIncAttr); rowNull.Value = field.Required ? "0" : "1"; rowAutoInc.Value = view.PrimaryKeyFileds.Contains(field) || view.IsAutoIdentity ? "1" : "0"; rowName.Value = GetFieldNameWithSpan(field); rowElm.Attributes.Append(rowName); rowElm.Attributes.Append(rowNull); rowElm.Attributes.Append(rowAutoInc); /* Data Type */ XmlElement dataTypeElm = xmlDocumet.CreateElement(DataTypeNodeName); dataTypeElm.InnerText = field.DataType.ToString(); rowElm.AppendChild(dataTypeElm); /* Foriegn Key */ if (field.FieldType == FieldType.Parent && !string.IsNullOrEmpty(field.RelatedViewName)) { XmlElement relationElm = xmlDocumet.CreateElement(RelationNodeName); XmlAttribute relationTable = xmlDocumet.CreateAttribute(ViewNodeName); XmlAttribute relationField = xmlDocumet.CreateAttribute(RelationRowNodeAttrib); relationTable.Value = GetViewNameWithSpan((Durados.Web.Mvc.View)database.Views[field.RelatedViewName]); //string columnName = null; if (HasPrimary(view, field)) { relationField.Value = GetFieldNameWithSpan(view.Database.Views[field.RelatedViewName].PrimaryKeyFileds[0]); } else { throw new DuradosException("Table [" + view.Name + "] must have a primary key."); } relationElm.Attributes.Append(relationField); relationElm.Attributes.Append(relationTable); rowElm.AppendChild(relationElm); } /* Default Value */ if (field.DefaultValue != null && !string.IsNullOrEmpty(field.DefaultValue.ToString())) { XmlElement defaultRowElm = xmlDocumet.CreateElement("Default"); defaultRowElm.InnerText = field.DefaultValue.ToString(); rowElm.AppendChild(defaultRowElm); } tableElm.AppendChild(rowElm); /* Keys*/ XmlElement keyElm = xmlDocumet.CreateElement(KeyNodeName); XmlAttribute keyAttrib = xmlDocumet.CreateAttribute(KeyTypeNodeName); keyAttrib.Value = PrimaryAttribName; foreach (Field keyField in view.PrimaryKeyFileds) { XmlElement keyPartElm = xmlDocumet.CreateElement(KeyPartNodeName); keyPartElm.InnerText = field.DisplayName; keyElm.AppendChild(keyPartElm); } tableElm.AppendChild(keyElm); } xmlDocumet.DocumentElement.AppendChild(tableElm); } return(xmlDocumet); }