Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }