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)); } } }
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); } }
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)); } } } }
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)); } } }
public UserService(Models.BaseContext context) { _Context = context; }