// GET api/EqualConnections public HttpResponseMessage Post(UserComparisonRequestDTO parameters) { Services.Log.Info("EqualConnectionsController entered!"); MobileServiceContext context = new MobileServiceContext(); List<BasicUserInfoDTO> equal = new List<BasicUserInfoDTO>(); List<Account> userConnections = context.ConnectRequests.Where(cr => cr.Accepted.Value && (cr.RequestUserId == parameters.UserId || cr.ConnectUserId == parameters.UserId)).Select(cr => ((cr.ConnectUserId == parameters.UserId) ? cr.RequestUser : cr.ConnectUser)).ToList(); List<Account> user2Connections = context.ConnectRequests.Where(cr => cr.Accepted.Value && (cr.RequestUserId == parameters.CompUserId || cr.ConnectUserId == parameters.CompUserId)).Select(cr => ((cr.ConnectUserId == parameters.CompUserId) ? cr.RequestUser : cr.ConnectUser)).ToList(); IEnumerable<Account> intersect = userConnections.Intersect<Account>(user2Connections); foreach (Account account in intersect) { if (account != null) { BasicUserInfoDTO userInfo = new BasicUserInfoDTO(); userInfo.AccountId = account.Id; UserInfo ui = context.UserInfos.First(uinfo => uinfo.UserId == account.Id); userInfo.Age = ui.Age; userInfo.Status = ui.About; userInfo.Username = account.Username; userInfo.FirstName = ui.FirstName; userInfo.LastName = ui.LastName; userInfo.ProfilePicUrl = ui.ProfilePicUrl; equal.Add(userInfo); } } return this.Request.CreateResponse(HttpStatusCode.OK, equal); }
public static BasicUserInfoDTO GetBasicUserInfo(string userId) { MobileServiceContext context = new MobileServiceContext(); BasicUserInfoDTO userInfo = new BasicUserInfoDTO(); userInfo.AccountId = userId; UserInfo ui = context.UserInfos.Include("Account").Include("UserInfoDetails").First(uinfo => uinfo.UserId == userId); userInfo.Age = (userInfo.Age == null) ? ui.Age : userInfo.Age; userInfo.Status = ui.Bio; userInfo.About = ui.About; userInfo.FacebookConnected = (userInfo.FacebookConnected || ui.UserInfoDetails.Any(x => x.NetworkId == (Int16)NetworkType.FACEBOOK)) ? true : false; userInfo.Gender = (userInfo.Gender == null) ? ui.Gender : userInfo.Gender; userInfo.Username = (userInfo.Username == null) ? ui.Account.Username : userInfo.Username; userInfo.FirstName = (userInfo.FirstName == null) ? ui.FirstName : userInfo.FirstName; userInfo.LastName = (userInfo.LastName == null) ? ui.LastName : userInfo.LastName; userInfo.ProfilePicUrl = (userInfo.ProfilePicUrl == null) ? ui.ProfilePicUrl : userInfo.ProfilePicUrl; return userInfo; }