private Circle ToModel(CircleDataModel from) { return(new Circle( new CircleId(from.Id), new CircleName(from.Name), from.OwnerId != null ? new UserId(from.OwnerId) : null, from.CircleMembers.Select(x => new UserId(x.UserId)).ToList() )); }
private CircleDataModel Transfer(Circle from, CircleDataModel model) { model.Name = from.Name.Value; model.OwnerId = from.Owner.Value; var currentMemberIds = model.CircleMembers.Select(cm => cm.UserId); var addMembers = from.Members .Where(x => !currentMemberIds.Contains(x.Value)) .Select(x => context.Users.Find(x.Value)); foreach (var member in addMembers) { model.CircleMembers.Add(new UserCircle { CircleId = model.Id, UserId = member.Id }); } return(model); }