Beispiel #1
0
        public SearchAccount GetDatasPublic(int currentAccountId, int accountId)
        {
            Account        account        = _context.Accounts.Find(accountId);
            AccountPrivacy accountPrivacy = _context.AccountPrivacies.FirstOrDefault(p => p.AccountId == account.Id);

            if (accountPrivacy != null)
            {
                SearchAccount searchItem = new SearchAccount();
                //id
                searchItem.Id = account.Id;
                //fullname
                searchItem.Label = account.Fullname;
                //friendship

                //FriendshipStatus friendshipStatus = _friendsRepository.GetFriendshipStatus(currentAccountId, accountId);
                Friend friendship = _friendsRepository.GetFriendship(currentAccountId, accountId);

                if (friendship != null)
                {
                    if (friendship.StatusCode != FriendshipStatus.Error)
                    {
                        searchItem.Friendship = friendship.StatusCode;
                    }
                    if (friendship.FromUserId == currentAccountId)
                    {
                        searchItem.IsFriendRequestSender = true;
                    }
                }
                else
                {
                    //static for if error ocoured
                    searchItem.Friendship = FriendshipStatus.NotFriend;
                }

                //email
                searchItem.Email = account.Email; // static public
                //address
                if (accountPrivacy.Address == false)
                {
                    searchItem.Address = null;
                }
                else
                {
                    searchItem.Address = account.Address;
                }
                //website
                if (accountPrivacy.Website == false)
                {
                    searchItem.Website = null;
                }
                else
                {
                    searchItem.Website = account.Website;
                }
                //birthday
                if (accountPrivacy.Birthday == false)
                {
                    searchItem.Birthday = null;
                }
                else
                {
                    searchItem.Birthday = account.Birthday;
                }
                //phone
                if (accountPrivacy.Phone == false)
                {
                    searchItem.Phone = null;
                }
                else
                {
                    searchItem.Phone = account.Phone;
                }
                //profile img
                if (accountPrivacy.ProfileImg == false)
                {
                    searchItem.Img = null;
                }
                else
                {
                    searchItem.Img = account.ProfileImg;
                }
                //status text
                if (accountPrivacy.StatusText == false)
                {
                    searchItem.StatusText = null;
                }
                else
                {
                    searchItem.StatusText = account.StatusText;
                }
                //social links
                if (accountPrivacy.SocialLink == false)
                {
                    searchItem.Facebook  = null;
                    searchItem.Twitter   = null;
                    searchItem.Instagram = null;
                    searchItem.Linkedin  = null;
                }
                else
                {
                    AccountSocialLink accountSocials = _context.AccountSocialLinks.FirstOrDefault(a => a.AccountId == accountId);

                    searchItem.Facebook  = accountSocials.Facebook;
                    searchItem.Twitter   = accountSocials.Twitter;
                    searchItem.Instagram = accountSocials.Instagram;
                    searchItem.Linkedin  = accountSocials.Linkedin;
                }
                //if (accountPrivacy.AcceptAllMessages == false) //PROBLEM!!!
                //{
                //
                //}

                return(searchItem);
            }
            return(null);
        }