コード例 #1
0
        protected override void PersistUpdatedItem(IMemberGroup entity)
        {
            var dto = MemberGroupFactory.BuildDto(entity);

            Database.Update(dto);

            entity.ResetDirtyProperties();
        }
コード例 #2
0
        protected override IEnumerable <IMemberGroup> PerformGetByQuery(IQuery <IMemberGroup> query)
        {
            var sqlClause  = GetBaseQuery(false);
            var translator = new SqlTranslator <IMemberGroup>(sqlClause, query);
            var sql        = translator.Translate();

            return(Database.Fetch <NodeDto>(sql).Select(x => MemberGroupFactory.BuildEntity(x)));
        }
コード例 #3
0
        protected override IMemberGroup PerformGet(int id)
        {
            var sql = GetBaseQuery(false);

            sql.Where(GetBaseWhereClause(), new { id = id });

            var dto = Database.Fetch <NodeDto>(SqlSyntax.SelectTop(sql, 1)).FirstOrDefault();

            return(dto == null ? null : MemberGroupFactory.BuildEntity(dto));
        }
コード例 #4
0
        public IMemberGroup Get(Guid uniqueId)
        {
            var sql = GetBaseQuery(false);

            sql.Where("umbracoNode.uniqueId = @uniqueId", new { uniqueId });

            var dto = Database.Fetch <NodeDto>(SqlSyntax.SelectTop(sql, 1)).FirstOrDefault();

            return(dto == null ? null : MemberGroupFactory.BuildEntity(dto));
        }
コード例 #5
0
        protected override IEnumerable <IMemberGroup> PerformGetAll(params int[] ids)
        {
            var sql = Sql()
                      .SelectAll()
                      .From <NodeDto>()
                      .Where <NodeDto>(dto => dto.NodeObjectType == NodeObjectTypeId);

            if (ids.Any())
            {
                sql.Where("umbracoNode.id in (@ids)", new { /*ids =*/ ids });
            }

            return(Database.Fetch <NodeDto>(sql).Select(x => MemberGroupFactory.BuildEntity(x)));
        }
コード例 #6
0
        public IEnumerable <IMemberGroup> GetMemberGroupsForMember(int memberId)
        {
            var sql = Sql()
                      .Select("umbracoNode.*")
                      .From <NodeDto>()
                      .InnerJoin <Member2MemberGroupDto>()
                      .On <NodeDto, Member2MemberGroupDto>(dto => dto.NodeId, dto => dto.MemberGroup)
                      .Where <NodeDto>(x => x.NodeObjectType == NodeObjectTypeId)
                      .Where <Member2MemberGroupDto>(x => x.Member == memberId);

            return(Database.Fetch <NodeDto>(sql)
                   .DistinctBy(dto => dto.NodeId)
                   .Select(x => MemberGroupFactory.BuildEntity(x)));
        }
コード例 #7
0
        public IEnumerable <IMemberGroup> GetMemberGroupsForMember(string username)
        {
            var sql = Sql()
                      .Select("un.*")
                      .From("umbracoNode AS un")
                      .InnerJoin("cmsMember2MemberGroup")
                      .On("cmsMember2MemberGroup.MemberGroup = un.id")
                      .InnerJoin("cmsMember")
                      .On("cmsMember.nodeId = cmsMember2MemberGroup.Member")
                      .Where("un.nodeObjectType=@objectType", new { objectType = NodeObjectTypeId })
                      .Where("cmsMember.LoginName=@loginName", new { loginName = username });

            return(Database.Fetch <NodeDto>(sql)
                   .DistinctBy(dto => dto.NodeId)
                   .Select(x => MemberGroupFactory.BuildEntity(x)));
        }
コード例 #8
0
        protected override void PersistNewItem(IMemberGroup entity)
        {
            //Save to db
            entity.AddingEntity();
            var group = (MemberGroup)entity;
            var dto   = MemberGroupFactory.BuildDto(group);
            var o     = Database.IsNew(dto) ? Convert.ToInt32(Database.Insert(dto)) : Database.Update(dto);

            group.Id = dto.NodeId; //Set Id on entity to ensure an Id is set

            //Update with new correct path and id
            dto.Path = string.Concat("-1,", dto.NodeId);
            Database.Update(dto);
            //assign to entity
            group.Id = o;
            group.ResetDirtyProperties();
        }