// 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);
        }
Example #2
0
 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;
 }