void ViewRelationForm_OKButtonSelected(object sender, EventArgs e)
        {
            ViewRelation viewRelation = (ViewRelation)this.Tag;

            viewRelation.MasterFieldDisplayName = ((CamlFieldRef)((ComboBoxItem)MasterFieldDisplayNameComboBox.SelectedItem).Tag).Name;
            viewRelation.MasterFieldValueName   = ((CamlFieldRef)((ComboBoxItem)MasterFieldValueNameComboBox.SelectedItem).Tag).Name;
            viewRelation.DetailFieldName        = ((CamlFieldRef)((ComboBoxItem)DetailFieldNameComboBox.SelectedItem).Tag).Name;
        }
Esempio n. 2
0
        public static string GetCodeFkName(this ViewRelation relation)
        {
            var parentEntity = relation.ParentTable;
            var childEntity  = relation.ChildView;
            var fkName       = string.Format("FK_{0}_{1}_{2}", relation.PascalRoleName, childEntity.PascalName, parentEntity.PascalName);

            return(fkName);
        }
Esempio n. 3
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            if (ViewComboBox.SelectedItem == null)
            {
                return;
            }

            TreeViewItem selectedTreeViewItem = null;
            IQueryPanel  masterQueryPanel     = null;
            Guid         masterViewRelationID = Guid.Empty;

            if (ViewRelationsTreeView.SelectedItem != null)
            {
                selectedTreeViewItem = (TreeViewItem)ViewRelationsTreeView.SelectedItem;
                Guid detailQueryPanelID = ((ViewRelation)selectedTreeViewItem.Tag).DetailQueryPanelID;
                masterViewRelationID = ((ViewRelation)selectedTreeViewItem.Tag).ID;
                masterQueryPanel     = ApplicationContext.Current.SPCamlStudio.QueriesPanel.GetQueryPanel(detailQueryPanelID);
                //masterQueryPanel = (IQueryPanel)selectedTreeViewItem.Tag;
            }
            ComboBoxItem selectedComboBoxItem = (ComboBoxItem)ViewComboBox.SelectedItem;
            IQueryPanel  detailQueryPanel     = (IQueryPanel)selectedComboBoxItem.Tag;
            ViewRelation viewRelation         = ViewRelation.NewViewRelation();

            viewRelation.MasterViewRelationID = masterViewRelationID;
            viewRelation.DetailQueryPanelID   = detailQueryPanel.ID;
            viewRelation.Name           = detailQueryPanel.FileName;
            viewRelation.DetailSiteUrl  = detailQueryPanel.AttachedObject.GetWebUrl();
            viewRelation.DetailListName = detailQueryPanel.AttachedObject.GetListName();
            if (selectedComboBoxItem.Parent == null)
            {
                viewRelation.IsRoot = true;
            }

            TreeViewItem newTreeViewItem = new TreeViewItem()
            {
                Header = viewRelation.Name,
                Tag    = viewRelation
            };

            if (selectedTreeViewItem == null)
            {
                ViewRelationsTreeView.Items.Add(newTreeViewItem);
            }
            else
            {
                ViewRelationForm viewRelationForm = new ViewRelationForm();
                viewRelationForm.Initialize(masterQueryPanel, detailQueryPanel);
                viewRelationForm.Tag = viewRelation;
                if (viewRelationForm.ShowDialog(this.ParentWindow, "View Relation") == true)
                {
                    selectedTreeViewItem.Items.Add(newTreeViewItem);
                }
            }
        }
Esempio n. 4
0
        private string GenerateGridsScript(ItemCollection items)
        {
            StringBuilder sb = new StringBuilder();

            foreach (object t in items)
            {
                TreeViewItem treeviewItem = (TreeViewItem)t;
                ViewRelation viewRelation = (ViewRelation)treeviewItem.Tag;
                IQueryPanel  queryPanel   = ApplicationContext.Current.SPCamlStudio.QueriesPanel.GetQueryPanel(viewRelation.DetailQueryPanelID);
                string       appendix     = viewRelation.ID.ToString().Replace('-', '_');
                sb.AppendLine("var dataSourceBuilder" + appendix + " = new soby_CamlBuilder('" + viewRelation.DetailListName + "', '', 5, '" + viewRelation.DetailSiteUrl + "');");
                sb.AppendLine("dataSourceBuilder" + appendix + ".Filters = new CamlFilters(false);");
                sb.AppendLine("var spService" + appendix + " = new soby_SharePointService(dataSourceBuilder" + appendix + ");");
                sb.AppendLine("var sobyGrid" + appendix + " = new soby_DataGrid('#soby_GridDiv" + appendix + "', '" + viewRelation.DetailListName + "', spService" + appendix + ", 'There is no record found.')");
                List <CamlFieldRef> viewFields = queryPanel.GetViewFields();
                foreach (CamlFieldRef viewField in viewFields)
                {
                    sb.AppendLine("dataSourceBuilder" + appendix + ".AddViewField('" + viewField.Name + "', '" + viewField.Name + "', CamlFieldTypes.Text);");
                    sb.AppendLine("sobyGrid" + appendix + ".AddColumn('" + viewField.Name + "', '" + viewField.DisplayName + "');");
                }

                foreach (object z in treeviewItem.Items)
                {
                    TreeViewItem treeviewItem1 = (TreeViewItem)z;
                    ViewRelation viewRelation1 = (ViewRelation)treeviewItem1.Tag;
                    if ((from h in viewFields
                         where h.Name == viewRelation1.MasterFieldValueName
                         select h).ToList().Count == 0)
                    {
                        sb.AppendLine("dataSourceBuilder" + appendix + ".AddViewField('" + viewRelation1.MasterFieldValueName + "', '" + viewRelation1.MasterFieldValueName + "', CamlFieldTypes.Text);");
                    }
                }

                if (string.IsNullOrEmpty(viewRelation.MasterFieldDisplayName) == false)
                {
                    sb.AppendLine("sobyGrid" + viewRelation.MasterViewRelationID.ToString().Replace('-', '_') + ".AddDataRelation('" + viewRelation.MasterFieldDisplayName + "', '" + viewRelation.MasterFieldValueName + "', sobyGrid" + appendix + ".GridID, '" + viewRelation.DetailFieldName + "')");
                }
                else
                {
                    sb.AppendLine("sobyGrid" + appendix + ".Initialize(true);");
                }

                sb.Append(GenerateGridsScript(treeviewItem.Items));
            }

            return(sb.ToString());
        }
Esempio n. 5
0
        void GenerateSharePointCode()
        {
            XmlDocument xDoc        = new XmlDocument();
            XmlNode     contentNode = null;
            //var assembly = Assembly.Load("Sobiens.Connectors.UI");
            //var resourceName = "Sobiens.Connectors.UI.Resources.SPOnlineWebpart.dwp";
            string dwpPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Resources\SPOnlineWebpart.dwp";

            //using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            //using (StreamReader reader = new StreamReader(stream))
            //{
            string xmlString = File.ReadAllText(dwpPath);

            xDoc.LoadXml(xmlString);
            foreach (XmlNode node in xDoc.ChildNodes[1].ChildNodes)
            {
                if (node.Name.Equals("Content", StringComparison.InvariantCultureIgnoreCase) == true)
                {
                    contentNode = node;
                    break;
                }
            }
            //}

            StringBuilder sb = new StringBuilder();

            foreach (object t in ViewRelationsTreeView.Items)
            {
                TreeViewItem treeviewItem = (TreeViewItem)t;
                ViewRelation viewRelation = (ViewRelation)treeviewItem.Tag;
                string       appendix     = viewRelation.ID.ToString().Replace('-', '_');
                sb.AppendLine("<div id='soby_GridDiv" + appendix + "'></div>");
            }
            sb.AppendLine("<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>");
            sb.AppendLine("<script language='javascript' src='https://cdn.rawgit.com/serkantsamurkas/sobiens/master/soby.spservice.js'></script>");
            sb.AppendLine("<script language='javascript' src='https://cdn.rawgit.com/serkantsamurkas/sobiens/master/soby.ui.components.js'></script>");
            sb.AppendLine("<script language='javascript'>");
            sb.Append(GenerateGridsScript(ViewRelationsTreeView.Items));
            sb.AppendLine("</script>");
            string path = GetTempPath();

            contentNode.InnerText = sb.ToString();

            xDoc.Save(path + "\\soby_test.dwp");
//            File.WriteAllText(path + "\\soby_test.dwp", sb.ToString());
            Process.Start("Explorer.exe", path);
        }
Esempio n. 6
0
        public IActionResult Post([FromBody] ViewRelation relation)
        {
            Relation buffer = db.Relations.FirstOrDefault((Relation x) => x.UserName == User.Identity.Name && x.ProductId == relation.ProductId);

            if (buffer != null)
            {
                string   username = User.Identity.Name;
                Relation product  = db.Relations.FirstOrDefault(x => x.ProductId == relation.ProductId && x.UserName == username && x.Checked == true);
                db.Relations.Remove(product);
                db.SaveChanges();
                return(Ok(relation));
            }
            Relation dbrelationmodel = new Relation()
            {
                ProductId = relation.ProductId, Checked = true, UserName = User.Identity.Name
            };

            db.Relations.Add(dbrelationmodel);
            db.SaveChanges();
            return(Ok(relation));
        }
    public override void Initialize()
    {
        m_RelationFields =
            Execute(RelationFieldCommandText)
            .Select(o => RelationField.CreateFrom(SqlHelper, o))
            .ToDictionary(x => new RelationFieldKey(x.RelationName, x.FieldName));
        m_RelationFieldByTypeObjectNameKey =
            m_RelationFields
            .Values
            .ToDictionary(rf => rf.TypeObjectNameKey);
        var relationFields = m_RelationFields.Values.ToLookup(x => x.RelationName);

        m_Relations =
            Execute(RelationCommandText)
            .Select(o => Relation.CreateFrom(SqlHelper, o, relationFields))
            .ToDictionary(x => x.RelationName);
        m_ViewRelations =
            Execute(ViewRelationCommandText)
            .Select(o => ViewRelation.CreateFrom(SqlHelper, o))
            .ToList();
        m_Tables =
            m_Relations.Values
            .Where(x => x.MetadataRelationType == MetadataRelationType.Persistent)
            .ToDictionary(x => x.RelationName);
        m_Views =
            m_Relations.Values
            .Where(x => x.MetadataRelationType == MetadataRelationType.View)
            .ToDictionary(x => x.RelationName);
        m_ExternalTables =
            m_Relations.Values
            .Where(x => x.MetadataRelationType == MetadataRelationType.External)
            .ToDictionary(x => x.RelationName);
        m_GttTables =
            m_Relations.Values
            .Where(x => x.MetadataRelationType == MetadataRelationType.GlobalTemporaryPreserve || x.MetadataRelationType == MetadataRelationType.GlobalTemporaryDelete)
            .ToDictionary(x => x.RelationName);
    }
        public override void Initialize()
        {
            m_RelationFields =
                Execute(RelationFieldCommandText)
                .Select(o => RelationField.CreateFrom(SqlHelper, o))
                .ToDictionary(x => new RelationFieldKey(x.RelationName, x.FieldName));
            m_RelationFieldByTypeObjectNameKey =
                m_RelationFields
                .Values
                .ToDictionary(rf => rf.TypeObjectNameKey);
            var relationFields = m_RelationFields.Values.ToLookup(x => x.RelationName);

            m_Relations =
                Execute(RelationCommandText)
                .Select(o => Relation.CreateFrom(SqlHelper, o, relationFields))
                .ToDictionary(x => x.RelationName);
            m_ViewRelations =
                Execute(ViewRelationCommandText)
                .Select(o => ViewRelation.CreateFrom(SqlHelper, o))
                .ToList();
            m_Tables =
                m_Relations.Values
                .Where(x => x.MetadataRelationType == MetadataRelationType.PERSISTENT)
                .ToDictionary(x => x.RelationName);
            m_Views =
                m_Relations.Values
                .Where(x => x.MetadataRelationType == MetadataRelationType.VIEW)
                .ToDictionary(x => x.RelationName);
            m_ExternalTables =
                m_Relations.Values
                .Where(x => x.MetadataRelationType == MetadataRelationType.EXTERNAL)
                .ToDictionary(x => x.RelationName);
            m_GttTables =
                m_Relations.Values
                .Where(x => x.MetadataRelationType == MetadataRelationType.GLOBAL_TEMPORARY_PRESERVE || x.MetadataRelationType == MetadataRelationType.GLOBAL_TEMPORARY_DELETE)
                .ToDictionary(x => x.RelationName);
        }
Esempio n. 9
0
        public CompExtention.ComponentView GetView(string viewid)
        {
            DataTable dt = new DataTable();

            Builder.Data.ComponentViewBuilder cv = new Builder.Data.ComponentViewBuilder(this.Connection);
            dt = cv.GetView(viewid);
            DataTable dtViewSchema = new DataTable();

            dtViewSchema = cv.GetViewSchema(viewid);
            List <ComponentView> views = new List <ComponentView>();

            foreach (DataRow dr in dt.Rows)
            {
                ComponentView v = new ComponentView();
                v.ID            = dr[Builder.Schema.TalentozView.ViewID.Name] == null ? "" : dr[Builder.Schema.TalentozView.ViewID.Name].ToString();
                v.Name          = dr[Builder.Schema.TalentozView.Name.Name] == null ? "" : dr[Builder.Schema.TalentozView.Name.Name].ToString();
                v.Category      = dr[Builder.Schema.TalentozView.Catgory.Name] == null ? "" : dr[Builder.Schema.TalentozView.Catgory.Name].ToString();
                v.CoreComponent = dr[Builder.Schema.TalentozView.CoreComponent.Name] == null ? "" : dr[Builder.Schema.TalentozView.CoreComponent.Name].ToString();

                var dtVS = dtViewSchema.DefaultView.ToTable(true, "ViewID", Builder.Schema.TalentozViewSchema.ComponentID.Name,
                                                            Builder.Schema.TalentozViewSchema.ChildComponentID.Name);

                foreach (DataRow drSch in dtVS.Rows)
                {
                    ComponentRelation vc = new ComponentRelation();
                    vc.ViewID           = viewid;
                    vc.ComponentID      = drSch[Builder.Schema.TalentozViewSchema.ComponentID.Name] == null ? "" : drSch[Builder.Schema.TalentozViewSchema.ComponentID.Name].ToString();
                    vc.ChildComponentID = drSch[Builder.Schema.TalentozViewSchema.ChildComponentID.Name] == null ? "" : drSch[Builder.Schema.TalentozViewSchema.ChildComponentID.Name].ToString();

                    dtViewSchema.DefaultView.RowFilter =
                        Builder.Schema.TalentozViewSchema.ComponentID.Name + " = '" + vc.ComponentID + "' AND " +
                        Builder.Schema.TalentozViewSchema.ChildComponentID.Name + " = '" + vc.ChildComponentID + "'";
                    var dtvsre = dtViewSchema.DefaultView.ToTable(true);
                    dtViewSchema.DefaultView.RowFilter = "";
                    vc.Relationship = new List <ViewRelation>();

                    foreach (DataRow drRel in dtvsre.Rows)
                    {
                        var vr = new ViewRelation();
                        vr.ID = drRel[Builder.Schema.TalentozViewSchemaRelation.ViewSchemaRelation.Name] == null ? "" :
                                drRel[Builder.Schema.TalentozViewSchemaRelation.ViewSchemaRelation.Name].ToString();

                        vr.Left = drRel[Builder.Schema.TalentozViewSchemaRelation.Parent.Name] == null ? "" :
                                  drRel[Builder.Schema.TalentozViewSchemaRelation.Parent.Name].ToString();

                        vr.LeftField = drRel[Builder.Schema.TalentozViewSchemaRelation.ParentField.Name] == null ? "" :
                                       drRel[Builder.Schema.TalentozViewSchemaRelation.ParentField.Name].ToString();

                        vr.Right = drRel[Builder.Schema.TalentozViewSchemaRelation.Child.Name] == null ? "" :
                                   drRel[Builder.Schema.TalentozViewSchemaRelation.Child.Name].ToString();

                        vr.LeftField = drRel[Builder.Schema.TalentozViewSchemaRelation.RelatedField.Name] == null ? "" :
                                       drRel[Builder.Schema.TalentozViewSchemaRelation.RelatedField.Name].ToString();
                        vc.Relationship.Add(vr);
                    }
                    v.ComponentRelations.Add(vc);
                }
                return(v);
            }
            return(null);
        }
Esempio n. 10
0
 public static string GetDatabaseFkName(this ViewRelation relation)
 {
     return(GetCodeFkName(relation));
 }