Ejemplo n.º 1
0
        /// <summary>
        /// Insert SiteMapNodeRoles to cSiteMapNode
        /// (Insert RoleIds with AddRoleId) (Remove RoleIds with RemoveRoleId)
        ///
        /// Needed to know what cSiteMapNode you want to Insert SiteMapNodeRoles to!
        /// (Insert SiteMapNodeIdsToList with AddSiteMapNodeId) (Remove SiteMapNodeIds with RemoveSiteMapNodeIdFromList)
        /// </summary>
        /// <param name="userId">Insert UserId</param>
        /// <param name="siteMapNodeId">Insert siteMapNodeId</param>
        public void AddAllSiteMapNodeRoles(Guid userId, int siteMapNodeId)
        {
            DateTime dateTimeNow = TimeZoneManager.DateTimeNow;
            List <SW_SiteMapNodeRole> listOfAddedSiteMapNodeRoles;


            // using statement free the memory after metode is done
            using (Searchwar_netEntities db = new Searchwar_netEntities())
            {
                // Check Added RoleIds for empty
                if (_roleIds.Count() != 0)
                {
                    listOfAddedSiteMapNodeRoles = new List <SW_SiteMapNodeRole>();

                    foreach (Guid roleId in _roleIds)
                    {
                        aspnet_Role getRoleId = (db.aspnet_Roles.Where(r => r.RoleId.Equals(roleId))).SingleOrDefault();

                        // Check roleid in database
                        if (getRoleId != null)
                        {
                            SW_SiteMapNode getCurrentSiteMapNode = (db.SW_SiteMapNode.Where(
                                                                        s => s.SiteMapNodeId.Equals(siteMapNodeId))).SingleOrDefault();

                            // Check roleid in database
                            if (getCurrentSiteMapNode != null)
                            {
                                SW_SiteMapNodeRole createRoleToSiteMapNode = new SW_SiteMapNodeRole
                                {
                                    SiteMapNodeRoleAddedDate =
                                        dateTimeNow,
                                    SiteMapNodeRoleAddedUserId =
                                        userId,
                                    RoleId        = roleId,
                                    SiteMapNodeId = siteMapNodeId
                                };

                                listOfAddedSiteMapNodeRoles.Add(createRoleToSiteMapNode);
                            }
                            else
                            {
                                throw (new ArgumentNullException("siteMapNodeId", "Cant find siteMapNodeId '" + siteMapNodeId + "' in database"));
                            }
                        }
                        else
                        {
                            throw (new ArgumentNullException("roleId", "Cant find RoleId '" + roleId + "' in database"));
                        }
                    }

                    foreach (var item in listOfAddedSiteMapNodeRoles)
                    {
                        db.SW_SiteMapNodeRoles.AddObject(item);
                    }
                }

                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Update a path in cSiteMapNode
        /// (Insert RoleIds with AddRoleId and Remove RoleIds with RemoveRoleId)
        /// </summary>
        /// <param name="siteMapNodeId">Insert SiteMapId</param>
        /// <param name="path">Insert URL (Ex. ~/default.aspx)</param>
        /// <param name="userId">Insert UserId</param>
        /// <param name="showSiteMapNode">Show URL in menu or not? (true)Show - (false)Dont show in menu</param>
        /// <param name="siteMapNodeSubId">If you want this URL like a sub for a URL, then insert ID of the URL</param>
        /// <param name="title">Inser title of URL</param>
        /// <param name="langaugeId">Insert ID of that langauge it write in</param>
        /// <param name="newLangId">Insert newLangId</param>
        protected void UpdateSiteMap(int siteMapNodeId,
                                     int langaugeId,
                                     string path,
                                     Guid userId,
                                     bool showSiteMapNode,
                                     int?siteMapNodeSubId,
                                     string title,
                                     int?newLangId,
                                     int sort,
                                     SiteMapNodeMetatagsObject m)
        {
            DateTime dateTimeNow = TimeZoneManager.DateTimeNow;

            // using statement free the memory after metode is done
            using (Searchwar_netEntities db = new Searchwar_netEntities())
            {
                SW_SiteMapNode siteMapNode = (from s in db.SW_SiteMapNode
                                              where s.SiteMapNodeId.Equals(siteMapNodeId)
                                              select s).SingleOrDefault();

                // Check SiteMapId in database
                if (siteMapNode != null)
                {
                    siteMapNode.SiteMapNodePath       = path;
                    siteMapNode.SiteMapNodeShow       = showSiteMapNode;
                    siteMapNode.SiteMapNodeSubId      = siteMapNodeSubId;
                    siteMapNode.SiteMapNodeEditUserId = userId;
                    siteMapNode.SiteMapNodeEditDate   = dateTimeNow;
                    siteMapNode.SiteMapNodeSort       = sort;

                    SW_SiteMapNodeData siteMapNodeData = siteMapNode.SW_SiteMapNodeData.Single <SW_SiteMapNodeData>(d => d.SiteMapNodeId.Equals(siteMapNodeId) && d.LangId.Equals(langaugeId));
                    siteMapNodeData.SiteMapNodeTitle = title;
                    if (newLangId.HasValue)
                    {
                        siteMapNodeData.LangId = newLangId.Value;
                    }

                    db.SaveChanges();

                    object checkMetaTags =
                        db.SW_SiteMapNodeMetaTags.Where(mt => mt.MetaTagsId == siteMapNodeId).SingleOrDefault();

                    if (m != null && checkMetaTags != null)
                    {
                        new SearchWar.SiteMap.MetaTags.SiteMapNodeMetaTags().UpdateMetaTags(siteMapNodeId,
                                                                                            langaugeId,
                                                                                            m.MetaTagTitle,
                                                                                            m.MetaTagDescription,
                                                                                            m.MetaTagKeywords,
                                                                                            m.MetaTagLanguage,
                                                                                            m.MetaTagAuthor,
                                                                                            m.MetaTagPublisher,
                                                                                            m.MetaTagCopyright,
                                                                                            m.MetaTagRevisitAfter,
                                                                                            m.MetaTagRobots,
                                                                                            m.MetaTagCache,
                                                                                            m.MetaTagCacheControl,
                                                                                            null,
                                                                                            userId);
                    }
                }
                else
                {
                    throw (new ArgumentNullException("siteMapNodeId", "Cant find SiteMap '" + siteMapNodeId + "' in database"));
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Insert a path in cSiteMapNode (Insert RoleIds with AddRoleId)
        /// </summary>
        /// <param name="path">Insert URL (Ex. ~/default.aspx)</param>
        /// <param name="userId">Insert UserId</param>
        /// <param name="showSiteMapNode">Show URL in menu or not? (true)Show - (false)Dont show in menu</param>
        /// <param name="siteMapNodeSubId">If you want this URL like a sub for a URL, then insert ID of the URL</param>
        /// <param name="title">Inser title of URL</param>
        /// <param name="langaugeId">Insert ID of that langauge it write in</param>
        /// <param name="metatagsObject">to add metatags to sitemap (just left it null if you dont want metatags with)</param>
        protected void CreateSiteMapNode_Single(string path,
                                                Guid userId,
                                                bool showSiteMapNode,
                                                int?siteMapNodeSubId,
                                                string title,
                                                int langaugeId,
                                                int sort,
                                                SiteMapNodeMetatagsObject m)
        {
            DateTime dateTimeNow = TimeZoneManager.DateTimeNow;

            // using statement free the memory after metode is done
            using (Searchwar_netEntities db = new Searchwar_netEntities())
            {
                SW_SiteMapNode createSiteMapNode = new SW_SiteMapNode
                {
                    SiteMapNodePath        = path,
                    SiteMapNodeAddedUserId = userId,
                    SiteMapNodeEditUserId  = userId,
                    SiteMapNodeShow        = showSiteMapNode,
                    SiteMapNodeEditDate    = dateTimeNow,
                    SiteMapNodeAddedDate   = dateTimeNow,
                    SiteMapNodeSort        = sort
                };

                SW_SiteMapNodeData createSiteMapNodeData = new SW_SiteMapNodeData
                {
                    LangId = langaugeId
                };


                // Check title for empty
                if (!string.IsNullOrEmpty(title))
                {
                    createSiteMapNodeData.SiteMapNodeTitle = title;
                }


                // Check SubId for empty
                if (siteMapNodeSubId.HasValue)
                {
                    SW_SiteMapNode siteMapNodeSub = (from s in db.SW_SiteMapNode
                                                     where s.SiteMapNodeId.Equals(siteMapNodeSubId)
                                                     select s).SingleOrDefault();

                    // Check path is in database
                    if (siteMapNodeSub != null)
                    {
                        createSiteMapNode.SiteMapNodeSubId = siteMapNodeSubId;
                    }
                    else
                    {
                        throw (new ArgumentNullException("siteMapNodeSubId", "Cant find SiteMapId '" + siteMapNodeSubId + "' in database"));
                    }
                }

                db.SW_SiteMapNode.AddObject(createSiteMapNode);
                db.SaveChanges();

                // Insert SiteMapId
                createSiteMapNodeData.SiteMapNodeId = createSiteMapNode.SiteMapNodeId;

                db.SW_SiteMapNodeData.AddObject(createSiteMapNodeData);
                db.SaveChanges();


                if (m != null)
                {
                    new SearchWar.SiteMap.MetaTags.SiteMapNodeMetaTags().CreateMetaTags(createSiteMapNode.SiteMapNodeId,
                                                                                        m.MetaTagTitle,
                                                                                        m.MetaTagDescription,
                                                                                        m.MetaTagKeywords,
                                                                                        m.MetaTagLanguage,
                                                                                        m.MetaTagAuthor,
                                                                                        m.MetaTagPublisher,
                                                                                        m.MetaTagCopyright,
                                                                                        m.MetaTagRevisitAfter,
                                                                                        m.MetaTagRobots,
                                                                                        m.MetaTagCache,
                                                                                        m.MetaTagCacheControl,
                                                                                        userId,
                                                                                        langaugeId);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Create MetaTags to a cSiteMapNode
        /// </summary>
        /// <param name="siteMapNodeId">Insert SiteMapNodeId</param>
        /// <param name="metaTagTitle">Insert Title</param>
        /// <param name="metaTagDescription">Insert Desc</param>
        /// <param name="metaTagKeywords">Insert keywords like "word, word, word"</param>
        /// <param name="metaTagLanguage">Insert lang like "da" or "en"</param>
        /// <param name="metaTagAuthor">Insert author</param>
        /// <param name="metaTagPublisher">Insert publisher</param>
        /// <param name="metaTagCopyright">Insert Copyright</param>
        /// <param name="metaTagRevisitAfter">Insert Revisitafter like "7 days"</param>
        /// <param name="metaTagRobots">Insert Robots like "index,follow"</param>
        /// <param name="metaTagCache">Insert cache like "no-cache"</param>
        /// <param name="metaTagCacheControl">Insert cachecontrol like "no-cache"</param>
        /// <param name="langaugeId">Insert ID of that langauge this metatags is write in</param>
        /// <param name="userId">Insert UserId</param>
        public void CreateMetaTags(int siteMapNodeId,
                                   string metaTagTitle,
                                   string metaTagDescription,
                                   string metaTagKeywords,
                                   string metaTagLanguage,
                                   string metaTagAuthor,
                                   string metaTagPublisher,
                                   string metaTagCopyright,
                                   string metaTagRevisitAfter,
                                   string metaTagRobots,
                                   string metaTagCache,
                                   string metaTagCacheControl,
                                   Guid userId,
                                   int langaugeId)
        {
            DateTime dateTimeNow = TimeZoneManager.DateTimeNow;


            // using statement free the memory after metode is done
            using (Searchwar_netEntities db = new Searchwar_netEntities())
            {
                SW_SiteMapNode getCurrentSiteMapNode = (from s in db.SW_SiteMapNode
                                                        where s.SiteMapNodeId.Equals(siteMapNodeId)
                                                        select s).SingleOrDefault();

                // Check cSiteMapNode
                if (getCurrentSiteMapNode != null)
                {
                    SW_SiteMapNodeMetaTag createMeta = new SW_SiteMapNodeMetaTag
                    {
                        MetaTagsId          = siteMapNodeId,
                        MetaTagsAddedUserId = userId,
                        MetaTagsEditUserId  = userId,
                        MetaTagsAddedDate   = dateTimeNow,
                        MetaTagsEditDate    = dateTimeNow
                    };

                    SW_SiteMapNodeMetaTagsData createMetaData = new SW_SiteMapNodeMetaTagsData
                    {
                        MetaTagsTitle        = metaTagTitle,
                        MetaTagsDescription  = metaTagDescription,
                        MetaTagsKeywords     = metaTagKeywords,
                        MetaTagsLanguage     = metaTagLanguage,
                        MetaTagsAuthor       = metaTagAuthor,
                        MetaTagsPublisher    = metaTagPublisher,
                        MetaTagsCopyright    = metaTagCopyright,
                        MetaTagsRevisitAfter = metaTagRevisitAfter,
                        MetaTagsRobots       = metaTagRobots,
                        MetaTagsCache        = metaTagCache,
                        MetaTagsCacheControl = metaTagCacheControl,
                        LangId     = langaugeId,
                        MetaTagsId = siteMapNodeId
                    };


                    db.SW_SiteMapNodeMetaTags.AddObject(createMeta);
                    db.SW_SiteMapNodeMetaTagsData.AddObject(createMetaData);
                    db.SaveChanges();
                }
                else
                {
                    throw (new ArgumentNullException("siteMapNodeId", "Cant find siteMapNodeId '" + siteMapNodeId + "' in database"));
                }
            }
        }