Ejemplo n.º 1
0
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            // setup the values
            GroupInfoView.DisplayView(GroupEntry, delegate
            {
                LayoutChanged( );
            });
        }
Ejemplo n.º 2
0
        public FullGroupView GetGroup(int id, int userId)
        {
            var currentGroup = _groupRepository.GetGroupById(id);

            if (currentGroup.GroupInfo.IsPrivate)
            {
                if (!currentGroup.IsMember(userId) & !currentGroup.IsTeacher(userId))
                {
                    throw new NotEnoughPermissionsException(userId);
                }
            }

            var members      = currentGroup.Members;
            var memberAmount = currentGroup.Members.Count;
            var votersAmount = currentGroup.Members.FindAll(m => m.CurriculumStatus == MemberCurriculumStatus.Accepted)
                               .Count;
            var groupInfo     = currentGroup.GroupInfo;
            var groupInfoView = new GroupInfoView(groupInfo.Id,
                                                  groupInfo.Title, groupInfo.Size,
                                                  memberAmount, groupInfo.Price, groupInfo.GroupType,
                                                  groupInfo.Tags, groupInfo.Description, groupInfo.Curriculum,
                                                  groupInfo.IsPrivate, groupInfo.IsActive,
                                                  currentGroup.Status, votersAmount);
            var reviewView = new List <ReviewView>();

            var membersInfo = new List <GroupMemberInfoView>();

            members.ForEach(m =>
            {
                var currentMember = _userRepository.GetUserById(m.UserId);
                membersInfo.Add(new GroupMemberInfoView(m.UserId, currentMember.UserProfile.Name,
                                                        currentMember.UserProfile.AvatarLink, m.MemberRole, m.Paid, m.CurriculumStatus));
            });
            if (currentGroup.Teacher != null)
            {
                var teacher = _userRepository.GetUserById(currentGroup.Teacher.Id);
                membersInfo.Add(new GroupMemberInfoView(currentGroup.Teacher.Id,
                                                        teacher.UserProfile.Name, teacher.UserProfile.AvatarLink,
                                                        MemberRole.Teacher, false, MemberCurriculumStatus.Unknown));
                teacher.TeacherProfile?.Reviews.Where(r => r.FromGroup == id).ToList()
                .ForEach(r => reviewView.Add(new ReviewView(r.FromUser, r.FromGroup,
                                                            r.Title, r.Text, r.Date)));
            }

            var responseView = new FullGroupView(groupInfoView, membersInfo, reviewView);

            return(responseView);
        }
Ejemplo n.º 3
0
                public override void OnResume()
                {
                    base.OnResume();

                    ParentTask.NavbarFragment.NavToolbar.SetBackButtonEnabled(true);
                    ParentTask.NavbarFragment.NavToolbar.SetCreateButtonEnabled(false, null);
                    ParentTask.NavbarFragment.NavToolbar.SetShareButtonEnabled(false, null);
                    ParentTask.NavbarFragment.NavToolbar.Reveal(false);

                    GroupInfoView.DisplayView(GroupEntry, delegate
                    {
                        LayoutChanged( );
                    });

                    LayoutChanged( );
                }
Ejemplo n.º 4
0
        public override void LayoutChanged( )
        {
            base.LayoutChanged( );

            // default the scrollview to match the screen
            ScrollView.Bounds      = View.Bounds;
            ScrollView.ContentSize = View.Bounds.Size;

            // now, let the actual view perform its layout
            RectangleF joinBounds = new RectangleF(0, 0, (float)View.Bounds.Width, (float)ScrollView.ContentSize.Height);

            GroupInfoView.LayoutChanged(joinBounds);

            // and finally update the scroll content
            nfloat controlBottom = GroupInfoView.GetControlBottom( ) + (View.Bounds.Height * .25f);

            ScrollView.ContentSize = new CGSize(0, (nfloat)Math.Max(controlBottom, View.Bounds.Height * 1.05f));
        }
Ejemplo n.º 5
0
                void LayoutChanged( )
                {
                    GroupInfoView.LayoutChanged(new System.Drawing.RectangleF(0, 0, NavbarFragment.GetCurrentContainerDisplayWidth( ), this.Resources.DisplayMetrics.HeightPixels));

                    ScrollViewLayout.LayoutParameters.Height = (int)(GroupInfoView.GetControlBottom( ) * 1.05f);
                }
Ejemplo n.º 6
0
                public override void OnDestroyView()
                {
                    base.OnDestroyView();

                    GroupInfoView.Destroy( );
                }