Ejemplo n.º 1
0
        public override int AddFriendGroup(int userID, int?groupID, string friendGroupName, int maxGroupCount, out FriendGroup newGroup)
        {
            int result;

            newGroup = null;
            using (SqlQuery query = new SqlQuery())
            {
                query.CommandType = CommandType.StoredProcedure;
                query.CommandText = "bx_AddFriendGroup";

                query.CreateParameter <int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter <int?>("@GroupID", groupID, SqlDbType.Int);
                query.CreateParameter <string>("@GroupName", friendGroupName, SqlDbType.NVarChar, 50);
                query.CreateParameter <int>("@MaxGroupCount", maxGroupCount, SqlDbType.Int);
                query.CreateParameter <int>("@ReturnValue", SqlDbType.Int, ParameterDirection.ReturnValue);

                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    while (reader.Next)
                    {
                        newGroup = new FriendGroup(reader);
                    }
                }

                result = (int)query.Parameters["@ReturnValue"].Value;
            }
            return(result);
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_GroupID = _Request.Get<int>("groupid", Method.Get, 0);

            if (m_GroupID <= 0)
                ShowError(new InvalidParamError("groupid"));


            using (ErrorScope es = new ErrorScope())
            {
                m_Group = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID);

                if (es.HasUnCatchedError)
                {
                    es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
                    {
                        ShowError(error);
                    });
                }
                else if (m_Group == null)
                    ShowError(new NotExistsFriendGroupError(m_GroupID));
            }

            if (_Request.IsClick("delete"))
            {
                Delete();
            }
        }
Ejemplo n.º 3
0
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            FriendGroup GroupMoveTo = cbGroupMoveTo.SelectedItem as FriendGroup;               //Lấy nhóm sẽ chuyển bạn bè đến

            if (isRemoveContact && (GroupMoveTo != null && GroupMoveTo.Equals(groupToRemove))) //Kiểm tra trường hợp user muốn chuyển liên lạc. Tuy nhiên, nhóm chuyển tới trùng với nhóm user muốn xóa
            {
                MessageBox.Show("Nhóm bị xóa trùng với nhóm chuyển liên lạc đến. Vui lòng chọn nhóm khác");
                return;
            }

            int NewGroupID = 0;

            if (NewGroupName != null)                                   //Nếu trường hợp user đã điền thông tin nhóm mới thì thực hiện thêm nhóm
            {
                if (!AddNewGroup(userId, NewGroupName, ref NewGroupID)) //Trường hợp thêm nhóm không thành công sẽ báo lỗi
                {
                    MessageBox.Show("Thêm nhóm mới không thành công");
                }
            }

            if (isMoveContact) //Trường hợp di chuyển bạn bè tới nhóm mới: nếu đã điền thông tin nhóm mới thì sẽ di chuyển sang nhóm mới, ngược lại di chuyển sang nhóm có sẵn
            {
                integratedModule.DoRemoveGroup(RemoveContact: false, GroupToRemove: groupToRemove, GroupMoveTo: NewGroupID != 0 ? GetGroup(NewGroupID) : GroupMoveTo);
            }
            else if (isRemoveContact) //Trường hợp xóa bạn bè: xóa nhóm và các bạn bè bên trong nhóm đó
            {
                integratedModule.DoRemoveGroup(RemoveContact: true, GroupToRemove: groupToRemove);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Thêm bạn bè vào một nhóm chỉ định. Nếu nhóm không tồn tại thực hiện bổ sung nhóm mới
        /// </summary>
        /// <param name="Friend">Đối tượng chứa thông tin bạn bè</param>
        /// <param name="Group">Đối tượng chứa thông tin nhóm</param>
        public void AppendFriend(Users Friend, FriendGroup Group)
        {
            if (Friend == null || Group == null)
            {
                return;
            }

            GroupViewModel ParentGroup = groups.FirstOrDefault(g => g.Group.Equals(Group)); //Tìm đối tượng GroupViewModel chứa thông tin nhóm được chỉ định

            if (ParentGroup == null)                                                        //Nếu không tìm thấy thì thực hiện bổ sung nhóm mới
            {
                AppendGroup(Group);
                ParentGroup = groups.FirstOrDefault(g => g.Group.Equals(Group));
            }

            FriendViewModel AvailableFriend = null;

            //Duyệt tất cả các nhóm và kiểm xem đã tồn tại thông tin bạn bè muốn bổ sung hay không
            foreach (GroupViewModel group in groups)
            {
                foreach (FriendViewModel friend in group.Children)
                {
                    AvailableFriend = friend;

                    if (friend.Equals(Friend))
                    {
                        break;
                    }
                }
            }

            ParentGroup.Children.Add(new FriendViewModel(Friend, ParentGroup));
        }
Ejemplo n.º 5
0
 public UserProccess()
 {
     UserTask         = new Users();
     ConversationTask = new Conversation();
     GroupTask        = new FriendGroup();
     QuestionTask     = new Question();
 }
Ejemplo n.º 6
0
        public static bool RemoveGroup(this Users mm, FriendGroup Group, bool RemoveContact)
        {
            bool done = false;

            if (RemoveContact)
            {
                //Get all friend in group
                List <FriendMap> friends = db.FriendMap
                                           .Where(fm => fm.FriendGroup.Equals(Group))
                                           .ToList();

                //Remove all contact
                foreach (FriendMap friend in friends)
                {
                    done = friend.Remove();

                    if (!done)
                    {
                        return(false);
                    }
                }
            }

            //Remove group
            done = Group.Remove();

            return(done);
        }
        public void GenerateSantaGroup_GenerateSantaGroup_RetunsValidSantaGroup()
        {
            //arrage
            var friendGroup = new FriendGroup()
            {
                Friends = new List <Friend>()
                {
                    new Friend()
                    {
                        Name        = "Ricardo",
                        PhoneNumber = "911111111"
                    },
                    new Friend()
                    {
                        Name        = "Nuno",
                        PhoneNumber = "911111112"
                    },
                    new Friend()
                    {
                        Name        = "Ana",
                        PhoneNumber = "911111113"
                    }
                }
            };

            //act
            var result = santaGroupGenerator.GenerateSantaGroup(friendGroup);

            //arrange
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.FirstOrDefault().Friend);
            Assert.AreNotEqual(result.FirstOrDefault().Phone, result.FirstOrDefault().Friend.PhoneNumber);
        }
Ejemplo n.º 8
0
        public APIResult Friend_CreateFriendGroup(int userID, string groupName, out FriendGroupProxy friendGroup)
        {
            friendGroup = null;
            if (!CheckClient())
            {
                return(null);
            }
            APIResult   result   = new APIResult();
            FriendGroup newGroup = null;
            int         errorCode;

            using (ErrorScope es = new ErrorScope())
            {
                try
                {
                    result.IsSuccess = FriendBO.Instance.Server_AddFriendGroup(userID, groupName, out newGroup, out errorCode);
                    if (result.IsSuccess == false)
                    {
                        es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            result.AddError(error.TatgetName, error.Message);
                        });
                    }
                    result.ErrorCode = errorCode;
                }
                catch (Exception ex)
                {
                    result.AddError(ex.Message);
                    result.IsSuccess = false;
                    result.ErrorCode = Consts.ExceptionCode;
                }
                friendGroup = ProxyConverter.GetFriendGroupProxy(newGroup);
            }
            return(result);
        }
Ejemplo n.º 9
0
        private void GroupTree_OnMoveContact(Users Friend, FriendGroup OldGroup)
        {
            FriendGroup NewGroup = cbNewGroup.SelectedItem as FriendGroup; //Lấy ra nhóm mới sẽ chuyển bạn bè tới

            int NewGroupID = 0;

            if (NewGroup == null || MoveNewGroupName != null) //Kiểm tra trường hợp nhóm chuyển tới (nhóm có sẵn) không có hoặc nhóm chuyển tới (nhóm mới) chưa được khai báo
            {
                if (MoveNewGroupName != null)                 //Nhóm mới đã khai báo thì thực hiện tạo nhóm mới trên CSDL
                {
                    if (!AddNewGroup(userId, MoveNewGroupName, ref NewGroupID))
                    {
                        MessageBox.Show("Thêm nhóm mới không thành công");
                    }
                }
            }

            //Thực hiện di chuyển bạn bè từ nhóm cũ tới nhóm mới. Nếu nhóm mới đã được khai báo thì di chuyển tới nhóm mới, ngược lại nếu sẽ chuyển tới nhóm có sẵn (đã chọn trước đó)
            MoveContact(userId, Friend.UserID, NewGroupID != 0 ? GetGroup(NewGroupID).GroupID : NewGroup.GroupID);

            //Di chuyển bạn bè sang nhóm mới trên cây dữ liệu. Thực hiện tương tự công việc của MoveContact
            GroupTree.MoveFriend(Friend, OldGroup, NewGroupID != 0 ? GetGroup(NewGroupID) : NewGroup);

            treeFriend.UpdateLayout();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Thực hiện thao tác xóa nhóm (Được gọi bởi module RemoveGroup
        /// </summary>
        /// <param name="RemoveContact">Trạng thái xóa bạn bè hay không</param>
        /// <param name="GroupToRemove">Đối tượng chứa thông tin nhóm sẽ xóa</param>
        /// <param name="GroupMoveTo">Đối tượng chứa thông tin nhóm sẽ chuyển bạn bè tới (Mặc định Null)</param>
        public void DoRemoveGroup(bool RemoveContact, FriendGroup GroupToRemove, FriendGroup GroupMoveTo = null)
        {
            //Trường hợp nhóm bị xóa có bạn bè và người dùng muốn xóa bạn bè trong nhóm thì...
            if (GroupToRemove.Friends.Count > 0 && RemoveContact)
            {
                RemoveGroup(GroupToRemove.GroupID, RemoveContact); //Xóa nhóm và tất cả bạn bè trong nhóm
                GroupTree.RemoveGroup(GroupToRemove);              //Xóa nhóm trong cây dữ liệu
                treeFriend.UpdateLayout();
                removeGroupWin.Close();

                return;
            }
            else if (GroupToRemove.Friends.Count == 0)     //Trường hợp nhóm bị xóa không có bạn bè thì..
            {
                RemoveGroup(GroupToRemove.GroupID, false); //Xóa nhóm (Ko thực hiện thao tác xóa bạn bè)
                GroupTree.RemoveGroup(GroupToRemove);      //Xóa nhóm trong cây dữ liệu
                treeFriend.UpdateLayout();
                removeGroupWin.Close();

                return;
            }

            //Trường hợp di chuyển bạn bè tới nhóm mới trước khi xóa
            //Duyệt qua tất cả bạn bè có trong nhóm cần xóa
            foreach (Users child in GroupToRemove.Friends)
            {
                MoveContact(userId, child.UserID, GroupMoveTo.GroupID);  //Chuyển bạn bè sang nhóm mới (Cập nhập trên CSDL)
                GroupTree.MoveFriend(child, GroupToRemove, GroupMoveTo); //Chuyển bạn bè sang nhóm mới trong cây dữ liệu
            }

            GroupTree.RemoveGroup(GroupToRemove); //Xóa nhóm được chỉ định

            treeFriend.UpdateLayout();
            removeGroupWin.Close();
        }
Ejemplo n.º 11
0
        public List <GetUserDTO> GetNonMembersOfGroupFriendsWithUser(int userId, int groupId)
        {
            FriendGroup       friendGroup = _friendGroupRepository.FindFullGroup(groupId);
            User              user        = _userRepository.FindFullUser(userId);
            List <GetUserDTO> notMembers  = new List <GetUserDTO>();

            if (user == null)
            {
                throw new APIException("The user does not exist!", StatusCodes.Status404NotFound);
            }


            if (friendGroup == null)
            {
                throw new APIException("The friend group does not exist!", StatusCodes.Status404NotFound);
            }

            foreach (FriendUserDTO fud in user.Friends)
            {
                GroupMemberDTO gmd = friendGroup.members.Where(x => x.UserId == fud.UserId).FirstOrDefault();
                if (gmd == null)
                {
                    notMembers.Add(new GetUserDTO {
                        FirstName   = fud.FirstName,
                        Id          = fud.UserId,
                        LastName    = fud.LastName,
                        PhoneNumber = fud.PhoneNumber
                    });
                }
            }
            return(notMembers);
        }
Ejemplo n.º 12
0
        public GroupMemberDTO CreateMember(int idGroup, int idUser)
        {
            FriendGroup foundGroup = _friendGroupRepository.FindFullGroup(idGroup);
            User        foundUser  = _userRepository.FindUser(idUser);

            if (foundGroup == null)
            {
                throw new APIException("The group does not exist!", StatusCodes.Status404NotFound);
            }

            if (foundUser == null)
            {
                throw new APIException("The user does not exist!", StatusCodes.Status404NotFound);
            }
            GroupMemberDTO groupMembership = foundGroup.members.Where(x => x.UserId == idUser && x.GroupId == idGroup).FirstOrDefault();

            if (groupMembership == null)
            {
                _friendGroupRepository.AddMember(idGroup, idUser, DateTime.Now);
                return(new GroupMemberDTO());
            }
            else
            {
                throw new APIException("The user is already a member!", StatusCodes.Status400BadRequest);
            }
        }
        public FriendGroup Find(int id)
        {
            var         sql         = "SELECT * FROM FriendsGroups WHERE Id=@Id";
            FriendGroup friendGroup = _dbConnection.Query <FriendGroup>(sql, new { Id = id }).FirstOrDefault();

            return(friendGroup);
        }
Ejemplo n.º 14
0
        private void RequestVM_OnAcceptRequest(Users Friend)
        {
            FriendGroup AvailableGroup = cbRequestGroup.SelectedItem as FriendGroup; //Lấy nhóm có sẵn đã được chọn trên Combobox

            int NewGroupID = 0;

            if (RequestNewGroupName != null)
            {
                if (!AddNewGroup(userId, RequestNewGroupName, ref NewGroupID))
                {
                    MessageBox.Show("Thêm nhóm mới không thành công");
                }
            }
            else if (AvailableGroup == null && RequestNewGroupName == null)
            {
                MessageBox.Show("Không tồn tại nhóm có sẵn cũng như thông tin nhóm mới không hợp lệ nên không thể 'chấp nhận' yêu cầu kết bạn");
                return;
            }

            FriendGroup newGroup = GetGroup(NewGroupID);

            //Chấp nhận yêu cầu kết bạn và thêm bạn bè vào nhóm mới nếu thông tin không bỏ trống, ngược lại sẽ thêm vào nhóm sẵn có
            AcceptRequest(userId, Friend.UserID, NewGroupID != 0 ? newGroup.GroupID : AvailableGroup.GroupID);

            //Bổ sung bạn bè cây dữ liệu
            GroupTree.AppendFriend(Friend, NewGroupID != 0 ? newGroup : AvailableGroup);

            RequestVM.RemoveRequest(Friend); //Xóa yêu cầu sau khi chấp nhận

            friendRequestZone.UpdateLayout();
            treeFriend.UpdateLayout();
        }
Ejemplo n.º 15
0
        private void GroupTree_OnRemoveContact(Users Friend, FriendGroup OldGroup)
        {
            RemoveContact(userId, Friend.UserID);
            GroupTree.RemoveFriend(Friend, OldGroup);

            treeFriend.UpdateLayout();
        }
Ejemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_GroupID = _Request.Get <int>("groupid", Method.Get, 0);

            if (m_GroupID <= 0)
            {
                ShowError(new InvalidParamError("groupid"));
            }


            using (ErrorScope es = new ErrorScope())
            {
                m_Group = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID);

                if (es.HasUnCatchedError)
                {
                    es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        ShowError(error);
                    });
                }
                else if (m_Group == null)
                {
                    ShowError(new NotExistsFriendGroupError(m_GroupID));
                }
            }

            if (_Request.IsClick("delete"))
            {
                Delete();
            }
        }
Ejemplo n.º 17
0
        public static void Load(XmlElement node)
        {
            ClearAll();

            try
            {
                foreach (XmlElement el in node.GetElementsByTagName("group"))
                {
                    FriendGroup friendGroup = new FriendGroup
                    {
                        GroupName = el.GetAttribute("name"),
                        Enabled   = Convert.ToBoolean(el.GetAttribute("enabled"))
                    };

                    // Newer versions didn't have these, so it will cause an error when loading for the first time
                    // If any fail, just set defaults
                    try
                    {
                        friendGroup.OverheadFormat        = el.GetAttribute("overheadformat");
                        friendGroup.OverheadFormatHue     = Convert.ToInt32(el.GetAttribute("overheadhue"));
                        friendGroup.OverheadFormatEnabled = Convert.ToBoolean(el.GetAttribute("overheadenabled"));
                    }
                    catch
                    {
                        friendGroup.OverheadFormat        = "[Friend]";
                        friendGroup.OverheadFormatHue     = 63;
                        friendGroup.OverheadFormatEnabled = true;
                    }

                    friendGroup.AddHotKeys();

                    foreach (XmlElement friendEl in el.GetElementsByTagName("friend"))
                    {
                        try
                        {
                            Friend friend = new Friend
                            {
                                Name   = friendEl.GetAttribute("name"),
                                Serial = Serial.Parse(friendEl.GetAttribute("serial"))
                            };

                            friendGroup.Friends.Add(friend);
                        }
                        catch
                        {
                            // ignore this bad record, most likely a bad serial
                        }
                    }

                    FriendGroups.Add(friendGroup);
                }

                RedrawAll();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
        public void Update(FriendGroup friendGroup)
        {
            var sql = "UPDATE FriendsGroups SET " +
                      "Name=@Name " +
                      "WHERE Id=@Id";

            _dbConnection.Query(sql, friendGroup);
        }
        public FriendGroup Add(FriendGroup friendGroup)
        {
            var sql = "INSERT INTO FriendsGroups(Name, AdminId, CreateDate)" +
                      "OUTPUT Inserted.[Id], Inserted.[Name],Inserted.[AdminId],Inserted.[CreateDate]" +
                      "VALUES(@Name,@AdminId,@CreateDate)";
            FriendGroup fg = _dbConnection.Query <FriendGroup>(sql, friendGroup).FirstOrDefault();

            return(fg);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Cài đặt nhóm mặc định khi module được nạp. Thường dùng cho thêm bạn vào một nhóm đã chọn trước đó
        /// </summary>
        /// <param name="SelectGroup">Đối tượng chứa thông tin nhóm</param>
        public void SetDefaultGroup(FriendGroup SelectGroup)
        {
            if (SelectGroup == null)
            {
                return;
            }

            cbGroup.SelectedValue = SelectGroup.GroupID;
        }
Ejemplo n.º 21
0
        public FriendGroupDTO FindGroup(int id)
        {
            FriendGroup friendGroup = _friendGroupRepository.Find(id);

            if (friendGroup == null)
            {
                throw new APIException("The friend group does not exist!", StatusCodes.Status404NotFound);
            }
            return(_mapper.Map <FriendGroupDTO>(friendGroup));
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Khởi tạo thông tin nhóm dùng cho Binding
        /// </summary>
        /// <param name="Group">Đối tượng chứa thông tin nhóm</param>
        public GroupViewModel(FriendGroup Group)
        {
            group = Group;

            children = new ObservableCollection <FriendViewModel>(
                (from Friend in @group.Friends
                 select new FriendViewModel(Friend, this))
                .ToList()
                );
        }
Ejemplo n.º 23
0
        public List <GroupMemberDTO> GetMembersOfGroup(int id)
        {
            FriendGroup friendGroup = _friendGroupRepository.FindFullGroup(id);

            if (friendGroup == null)
            {
                throw new APIException("The group was not found!", StatusCodes.Status404NotFound);
            }
            return(friendGroup.members);
        }
Ejemplo n.º 24
0
        //查询所有好友的详细信息
        public static void QueryFriendInfo(ref ObservableCollection <FriendGroup> friendCollection)
        {            //先获得一个数据库连接
            Console.WriteLine("好友信息查询开始");
            SQLiteConnection sQLiteConnection = SqliteConnect.GetSqliteConnect();

            sQLiteConnection.Open();
            try
            {
                SQLiteCommand qLiteCommand = sQLiteConnection.CreateCommand();


                //先分组,再排序
                qLiteCommand.CommandText = "select * from friendinformation order by friendgroup desc";
                //获得查询结果集
                SQLiteDataReader sqlitreader = qLiteCommand.ExecuteReader();


                //循环改变friendcollection的值
                //保存上一个分组
                FriendGroup  friendgroup = null;
                FriendEntity friendEntity;
                while (sqlitreader.Read())
                {
                    //TODO已经被删除的好友,想办法从分组中删除
                    //如果这个分组与上个分组不一致
                    //还要看分组列表中是不是已经有这个列表了
                    //如果有,就从分组列表中取出这个分组进行操作
                    //还要看分组中是不是已经有好友信息了,如果已经有了,那么只需要进行更新就行

                    //检查分组List中有没有此分组,有这个分组,返回这个分组。没有,则新建分组,返回新建的分组
                    friendgroup = FriendGroup.InGroupListAdd(ref friendCollection, sqlitreader[1].ToString());

                    //检查好友List中有没有此好友,有这个好友,返回这个好友。没有,那么新建好友,返回新建的好友
                    //这个里面还要加一层检测
                    friendEntity = FriendEntity.InGroupAdd(ref friendgroup, sqlitreader[2].ToString());
                    //获得好友信息
                    friendEntity.Id          = sqlitreader[0].ToString();
                    friendEntity.Name        = sqlitreader[2].ToString();
                    friendEntity.RealName    = sqlitreader[3].ToString();
                    friendEntity.Sex         = sqlitreader[4].ToString();
                    friendEntity.BirthDay    = sqlitreader[5].ToString();
                    friendEntity.Address     = sqlitreader[6].ToString();
                    friendEntity.Email       = sqlitreader[7].ToString();
                    friendEntity.PhoneNumber = sqlitreader[8].ToString();
                    friendEntity.Remarks     = sqlitreader[9].ToString();
                }
                sqlitreader.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("SaveFriendInfo Error : " + ex);
            }
            sQLiteConnection.Close();
            Console.WriteLine("好友信息查询结束");
        }
Ejemplo n.º 25
0
 public static void SetOverheadFormatEnabled(FriendGroup group, bool enabled)
 {
     foreach (FriendGroup friendGroup in FriendGroups)
     {
         if (friendGroup == group)
         {
             friendGroup.OverheadFormatEnabled = enabled;
             return;
         }
     }
 }
Ejemplo n.º 26
0
 public static void SetOverheadHue(FriendGroup group, int hue)
 {
     foreach (FriendGroup friendGroup in FriendGroups)
     {
         if (friendGroup == group)
         {
             friendGroup.OverheadFormatHue = hue;
             return;
         }
     }
 }
Ejemplo n.º 27
0
 public static void SetOverheadFormat(FriendGroup group, string format)
 {
     foreach (FriendGroup friendGroup in FriendGroups)
     {
         if (friendGroup == group)
         {
             friendGroup.OverheadFormat = format;
             return;
         }
     }
 }
Ejemplo n.º 28
0
 public static void EnableFriendsGroup(FriendGroup group, bool enabled)
 {
     foreach (FriendGroup friendGroup in FriendGroups)
     {
         if (friendGroup == group)
         {
             friendGroup.Enabled = enabled;
             return;
         }
     }
 }
Ejemplo n.º 29
0
        public FriendGroupDTO DeleteFriendGroup(int id)
        {
            FriendGroup friendGroup = friendsGroups.Where(x => x.Id == id).FirstOrDefault();

            if (friendGroup == null)
            {
                throw new APIException("The friend group does not exist!", StatusCodes.Status404NotFound);
            }
            _friendGroupRepository.Delete(id);
            return(_mapper.Map <FriendGroupDTO>(friendGroup));
        }
Ejemplo n.º 30
0
        public static bool AddFriend(this Users um, Users User, Users Friend, FriendGroup Group)
        {
            FriendMap newFriend = new FriendMap
            {
                User        = User,
                Friend      = Friend,
                FriendGroup = Group
            };

            return(newFriend.New());
        }
        // PUT api/friends/5
        public void Put(string userId, [FromBody] string @group)
        {
            FriendGroup friendGroup = _dao.CreateFriendGroupDao().GetByName(@group);
            User user = _dao.CreateUserDao().Get(userId);
            if (friendGroup == null)
                friendGroup = new FriendGroup
                {
                    Name = @group
                };

            friendGroup.Friends.Add(new Friend(user));
        }
Ejemplo n.º 32
0
        public static bool DeleteFriendGroup(FriendGroup group)
        {
            foreach (FriendGroup friendGroup in FriendGroups)
            {
                if (friendGroup == group)
                {
                    friendGroup.RemoveHotKeys();
                }
            }

            return(FriendGroups.Remove(group));
        }
Ejemplo n.º 33
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_GroupID = _Request.Get<int>("groupID", Method.Get, 0);

            if (m_GroupID <= 0)
                ShowError(new NotExistsFriendGroupError(m_GroupID));

            if (_Request.IsClick("shieldgroup"))
            {
                Shield();
            }

            m_Group = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID);
        }
Ejemplo n.º 34
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            //AddNavigationItem("好友", BbsRouter.GetUrl("my/friends"));
            AddNavigationItem("好友印象");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }

            m_GroupID = _Request.Get<int>("groupid", Method.Get);
            m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
            m_PageSize = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                    m_GroupID = null;
            }

            if (m_GroupID == null)
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);

            else
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers<Friend>(m_FriendList);

            List<int> userids = new List<int>();

            foreach(Friend firend in m_FriendList)
            {
                userids.Add(firend.UserID);
            }

            m_ImpressionData = ImpressionBO.Instance.GetTopImressionTypesForUsers(userids.ToArray(), 12);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }
Ejemplo n.º 35
0
        public override int AddFriendGroup(int userID, int? groupID, string friendGroupName, int maxGroupCount, out FriendGroup newGroup)
        {
            int result;
            newGroup = null;
            using (SqlQuery query = new SqlQuery())
            {
                query.CommandType = CommandType.StoredProcedure;
                query.CommandText = "bx_AddFriendGroup";

                query.CreateParameter<int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter<int?>("@GroupID", groupID, SqlDbType.Int);
                query.CreateParameter<string>("@GroupName", friendGroupName, SqlDbType.NVarChar, 50);
                query.CreateParameter<int>("@MaxGroupCount", maxGroupCount, SqlDbType.Int);
                query.CreateParameter<int>("@ReturnValue", SqlDbType.Int, ParameterDirection.ReturnValue);

                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    while (reader.Next)
                        newGroup = new FriendGroup(reader);
                }

                result = (int)query.Parameters["@ReturnValue"].Value;
            }
            return result;
        }
Ejemplo n.º 36
0
 void FriendBO_OnFriendGroupCreated(int userID, FriendGroup group)
 {
     CreateInstruct(userID, InstructType.Friend_GroupCreated, ProxyConverter.GetFriendGroupProxy(group));
 }
Ejemplo n.º 37
0
        public static MaxLabs.Passport.Proxy.FriendGroupProxy GetFriendGroupProxy(FriendGroup group)
        {
            if (group == null)
                return null;

            MaxLabs.Passport.Proxy.FriendGroupProxy friendGroupProxy = new MaxLabs.Passport.Proxy.FriendGroupProxy();
            friendGroupProxy.GroupID = group.GroupID;
            friendGroupProxy.Name = group.Name;
            friendGroupProxy.TotalFriends = group.TotalFriends;
            friendGroupProxy.IsShield = group.IsShield;
            friendGroupProxy.OwnerUserID = group.UserID;
            return friendGroupProxy;
        }
Ejemplo n.º 38
0
	protected void Page_Load(object sender, EventArgs e)
	{
		int? clubID = _Request.Get<int>("id");

		if (clubID.HasValue)
		{
			ClubMemberStatus? status = ClubBO.Instance.GetClubMemberStatus(clubID.Value, MyUserID);

			if (status == null || status.Value == ClubMemberStatus.Invited || status.Value == ClubMemberStatus.WaitForApprove)
				ShowError("不是群组成员");

			if (_Request.IsClick("send"))
			{
				using (ErrorScope es = new ErrorScope())
				{
					MessageDisplay md = CreateMessageDisplay();

					string[] ids = _Request.Get("uid", Method.Post, string.Empty).Split(',');

					if (ids.Length == 1 && ids[0] == string.Empty)
						md.AddError("请至少选择一个好友");
					else
					{
						int[] userIDs = new int[ids.Length];

						for (int i = 0; i < ids.Length; i++)
						{
							userIDs[i] = int.Parse(ids[i]);
						}

						if (ClubBO.Instance.InviteClubMembers(My, clubID.Value, userIDs))
						{
                            BbsRouter.JumpToCurrentUrl();// (BbsRouter.GetCurrentUrl());
						}
						else
						{
							es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
							{
								md.AddError(error);
							});
						}
					}
				}
			}

			m_GroupID = _Request.Get<int>("groupid", Method.Get);
			m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
			m_PageSize = MaxLabs.bbsMax.Consts.DefaultPageSize;
			
			if (m_GroupID != null)
			{
				m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

				if (m_CurrentGroup == null)
					m_GroupID = null;
			}

			if (m_GroupID == null)
				m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);
			else
				m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

			//填充FriendList的用户资料
			this.WaitForFillSimpleUsers<Friend>(m_FriendList);
		}
		else
		{
			ShowError("群组不存在");
		}
	}
Ejemplo n.º 39
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            AddNavigationItem("好友");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }
            else if (_Request.IsClick("addgroup"))
            {
                MessageDisplay msgDisplay = CreateMessageDisplay();

                string groupName = _Request.Get("groupName", Method.Post);//"!"号作为特殊标记

                //bool success = false;
                int newGroupID = 0;
                try
                {
                    using (ErrorScope es = new ErrorScope())
                    {
                        newGroupID = FriendBO.Instance.AddFriendGroup(MyUserID, groupName);

                        if (newGroupID == 0)
                        {
                            es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
                            {
                                AlertError(error.Message);
                                msgDisplay.AddError(error);
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    AlertError(ex.Message);
                    msgDisplay.AddException(ex);
                }
            }

            m_GroupID = _Request.Get<int>("groupid", Method.Get);
            m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
            m_PageSize = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                    m_GroupID = null;
            }

            if (m_GroupID == null)
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);

            else
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers<Friend>(m_FriendList);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }