예제 #1
0
파일: Post.cs 프로젝트: vikekh/PandaTime
        public Post(Models.Post model, Models.BaseContext context)
        {
            Id           = model.Id;
            Title        = model.Title;
            Text         = model.Text;
            CreatedAt    = model.CreatedAt;
            LastModified = model.LastModified;

            if (context != null)
            {
                var author = context
                             .Users
                             .Find(model.AuthorId);

                Author = new Views.User(author);

                var comments = context
                               .Comments
                               .ToList()
                               .Where(x => x.PostId == model.Id);

                Comments = new List <Comment>();
                foreach (Models.Comment comment in comments)
                {
                    Comments.Add(new Views.Comment(comment, context));
                }
            }
        }
예제 #2
0
파일: Comment.cs 프로젝트: vikekh/PandaTime
        public Comment(Models.Comment model, Models.BaseContext context)
        {
            Id           = model.Id;
            Text         = model.Text;
            CreatedAt    = model.CreatedAt;
            LastModified = model.LastModified;

            if (context != null)
            {
                var author = context
                             .Users
                             .Find(model.AuthorId);

                Author = new Views.User(author);
            }
        }
예제 #3
0
파일: User.cs 프로젝트: vikekh/PandaTime
        public User(Models.User model, Models.BaseContext context)
        {
            Id           = model.Id;
            Activated    = model.Activated;
            Email        = model.Email;
            FirstName    = model.FirstName;
            LastName     = model.LastName;
            CreatedAt    = model.CreatedAt;
            LastModified = model.LastModified;

            // If context is provided explore relationships
            if (context != null)
            {
                // Get Language
                var language = context.Languages.Find(model.LanguageId);
                Language = language.Code;

                // Get Memberships
                var memberships = context
                                  .Memberships
                                  .ToList()
                                  .Where(x => x.UserId == model.Id);

                var groups = context.Groups.ToDictionary(x => x.Id);
                var roles  = context.Roles.ToDictionary(x => x.Id);

                Groups = new List <Group>();
                foreach (Models.Membership membership in memberships)
                {
                    var group = groups[membership.GroupId];
                    var role  = roles[membership.RoleId];

                    if (group.Personal)
                    {
                        // Get Role for user
                        Role = role.Name;
                    }
                    else
                    {
                        Groups.Add(new Views.Group(group, role.Name));
                    }
                }
            }
        }
예제 #4
0
        public Group(Models.Group model, Models.BaseContext context)
        {
            Id           = model.Id;
            Name         = model.Name;
            Description  = model.Description;
            CreatedAt    = model.CreatedAt;
            LastModified = model.LastModified;

            if (context != null)
            {
                var posts = context
                            .Posts
                            .ToList()
                            .Where(x => x.GroupId == model.Id);

                Posts = new List <Post>();
                foreach (Models.Post post in posts)
                {
                    Posts.Add(new Views.Post(post, context));
                }
            }
        }
예제 #5
0
 public UserService(Models.BaseContext context)
 {
     _Context = context;
 }