Exemplo n.º 1
0
        /* ---------------------------------------------------------------------------------------------------------- */

        #region Private Methods

        /// <summary>
        /// Creates a new row in the database.
        /// </summary>
        private SaveResult CreateNavItem(NavigationModel model, ContentManagementDb db)
        {
            try
            {
                DomainNavigationItem navItem = new DomainNavigationItem();
                navItem.Initialise();

                AutoMap.Map(model, navItem);

                int domainId = UserSession.Current.DomainId;
                navItem.DomainId = domainId;

                navItem.Ordinal = db.DomainNavigationItems.Where(s => s.DomainId == domainId && s.IsDeleted == false).Select(s => s.Ordinal).Max() + 1;

                db.DomainNavigationItems.Add(navItem);

                db.SaveChanges();

                return(SaveResult.Success);
            }
            catch
            {
                return(SaveResult.Fail);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Updates an existing row in the database.
        /// </summary>
        private SaveResult UpdateNavItem(DomainNavigationItem navItem, NavigationModel model, ContentManagementDb db)
        {
            if (UserSession.Current.IsAdministrator == false)
            {
                return(SaveResult.AccessDenied);
            }

            if (UserSession.Current.CurrentDomain().CanAccess(navItem) == false)
            {
                return(SaveResult.IncorrectDomain);
            }

            try
            {
                AutoMap.Map(model, navItem);
                navItem.UpdateTimeStamp();

                db.SaveChanges();

                return(SaveResult.Success);
            }
            catch
            {
                return(SaveResult.Fail);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a new Nav Item from a database instance.
        /// </summary>
        /// <param name="navItem">The database navigation item to copy the details from.</param>
        public NavItem(DomainNavigationItem navItem)
        {
            PageId = navItem.PageId;
            Title  = navItem.Title;

            SubItems = navItem.SubNavigationItems.Where(s => s.IsDeleted == false).Select(s => new NavItem(s)).ToList();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Saves the navigation item into the database.
        /// </summary>
        public SaveResult SaveNavigationItem(NavigationModel model)
        {
            ContentManagementDb db = new ContentManagementDb();

            DomainNavigationItem navItem = db.DomainNavigationItems.Find(model.DomainNavigationItemId);

            if (navItem == null)
            {
                return(CreateNavItem(model, db));
            }

            return(UpdateNavItem(navItem, model, db));
        }
Exemplo n.º 5
0
        /* ---------------------------------------------------------------------------------------------------------- */

        #region Class Members

        #endregion

        /* ---------------------------------------------------------------------------------------------------------- */

        #region Constructors/Initialisation

        #endregion

        /* ---------------------------------------------------------------------------------------------------------- */

        #region Public Methods

        /// <summary>
        /// Gets the navigation item from the database.
        /// </summary>
        public NavigationModel GetNavigationModel(int?navItemId)
        {
            ContentManagementDb db = new ContentManagementDb();

            DomainNavigationItem navItem = db.DomainNavigationItems.Find(navItemId);

            if (navItem == null)
            {
                return(new NavigationModel());
            }

            return(new NavigationModel(navItem));
        }
Exemplo n.º 6
0
        /* ---------------------------------------------------------------------------------------------------------- */

        #region Private Methods

        /// <summary>
        /// Creates a new row in the database.
        /// </summary>
        private SaveResult CreateNavItem(NavigationModel model, ContentManagementDb db)
        {
            try
            {
                DomainNavigationItem navItem = new DomainNavigationItem();
                navItem.Initialise();

                AutoMap.Map(model, navItem);

                navItem.DomainId = UserSession.Current.DomainId;

                db.DomainNavigationItems.Add(navItem);

                db.SaveChanges();

                return(SaveResult.Success);
            }
            catch
            {
                return(SaveResult.Fail);
            }
        }
Exemplo n.º 7
0
 public NavigationModel(DomainNavigationItem navItem)
     : this()
 {
     AutoMap.Map(navItem, this);
 }
Exemplo n.º 8
0
 public NavigationListItemModel(DomainNavigationItem navItem)
 {
     AutoMap.Map(navItem, this);
 }