Esempio n. 1
0
        public void UpdateRole(CommunityManagementRole role)
        {
            switch (role)
            {
            case CommunityManagementRole.Moderator:
                this.Description = CommonResources.CommunityManager_Moderator;
                break;

            case CommunityManagementRole.Editor:
                this.Description = CommonResources.CommunityManager_Editor;
                break;

            case CommunityManagementRole.Administrator:
                this.Description = CommonResources.CommunityManager_Administrator;
                break;

            case CommunityManagementRole.Creator:
                this.Description = CommonResources.CommunityManager_Creator;
                break;

            default:
                this.Description = "";
                break;
            }
        }
Esempio n. 2
0
 public LinkHeader(User user, CommunityManagementRole currentUserRole, bool isManagement)
 {
     this.Id    = user.id;
     this.Photo = user.photo_max;
     this.Title = user.Name;
     this.User  = user;
     this.IsActionButtonEnabled  = isManagement && (user.Role == CommunityManagementRole.Unknown || currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator) && (user.id != AppGlobalStateManager.Current.LoggedInUserId || currentUserRole == CommunityManagementRole.Administrator) && user.Role != CommunityManagementRole.Creator;
     this.ActionButtonVisibility = this.IsActionButtonEnabled.ToVisiblity();
     base.NotifyPropertyChanged <bool>(() => this.IsActionButtonEnabled);
     base.NotifyPropertyChanged <Visibility>(() => this.ActionButtonVisibility);
     this.AddToManagersVisibility       = (user.Role == CommunityManagementRole.Unknown && (currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator)).ToVisiblity();
     this.EditVisibility                = (user.Role != CommunityManagementRole.Unknown && (currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator)).ToVisiblity();
     this.RemoveFromCommunityVisibility = (user.Role == CommunityManagementRole.Unknown || (currentUserRole == CommunityManagementRole.Administrator && user.id != AppGlobalStateManager.Current.LoggedInUserId) || currentUserRole == CommunityManagementRole.Creator).ToVisiblity();
     this.BlockVisibility               = (this.EditVisibility == Visibility.Collapsed).ToVisiblity();
     this.UpdateRole(user.Role);
 }
Esempio n. 3
0
        public void EditManager(long communityId, long userId, CommunityManagementRole role, bool isContact, string position, string email, string phone, Action <BackendResult <int, ResultCode> > callback)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>()
            {
                {
                    "group_id",
                    communityId.ToString()
                },
                {
                    "user_id",
                    userId.ToString()
                },
                {
                    "is_contact",
                    isContact ? "1" : "0"
                },
                {
                    "contact_position",
                    position
                },
                {
                    "contact_email",
                    email
                },
                {
                    "contact_phone",
                    phone
                }
            };

            switch (role)
            {
            case CommunityManagementRole.Moderator:
                parameters.Add("role", "moderator");
                break;

            case CommunityManagementRole.Editor:
                parameters.Add("role", "editor");
                break;

            case CommunityManagementRole.Administrator:
                parameters.Add("role", "administrator");
                break;
            }
            VKRequestsDispatcher.DispatchRequestToVK <int>("groups.editManager", parameters, callback, null, false, true, new CancellationToken?(), null);
        }
Esempio n. 4
0
        public LinkHeader(User user, CommunityManagementRole currentUserRole, bool isManagement)
        {
            //this.IsActionButtonEnabled = true;
            this._blockVisibility = Visibility.Visible;
            this.ActionButtonIcon = "/Resources/WallPost/CardActions.png";
            this.ActionButtonSize = 56.0;
            Action <FrameworkElement> arg_5E_1 = new Action <FrameworkElement>(e => { ContextMenuService.GetContextMenu(e).IsOpen = true; });

            this.ActionButtonAction = arg_5E_1;

            this.Id    = user.id;
            this.Photo = user.photo_max;
            this.Title = user.Name;
            this.User  = user;
            this.IsActionButtonEnabled  = isManagement && (user.Role == CommunityManagementRole.Unknown || currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator) && user.id != AppGlobalStateManager.Current.LoggedInUserId && user.Role != CommunityManagementRole.Creator;
            this.ActionButtonVisibility = this.IsActionButtonEnabled.ToVisiblity();
            this.NotifyPropertyChanged <bool>((System.Linq.Expressions.Expression <Func <bool> >)(() => this.IsActionButtonEnabled));
            this.NotifyPropertyChanged <Visibility>((System.Linq.Expressions.Expression <Func <Visibility> >)(() => this.ActionButtonVisibility));
            this.AddToManagersVisibility       = (user.Role == CommunityManagementRole.Unknown && (currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator)).ToVisiblity();
            this.EditVisibility                = (user.Role != CommunityManagementRole.Unknown && (currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator)).ToVisiblity();
            this.RemoveFromCommunityVisibility = (user.Role == CommunityManagementRole.Unknown || currentUserRole == CommunityManagementRole.Administrator || currentUserRole == CommunityManagementRole.Creator).ToVisiblity();
            this.BlockVisibility               = (this.EditVisibility == Visibility.Collapsed).ToVisiblity();
            this.UpdateRole(user.Role);
        }
        public void SaveChanges(bool isRemoving, NavigationService navigationService)
        {
            CommunityManagementRole role = CommunityManagementRole.Unknown;

            if (!isRemoving)
            {
                bool?moderatorSelected = this.IsModeratorSelected;
                bool flag1             = true;
                if ((moderatorSelected.GetValueOrDefault() == flag1 ? (moderatorSelected.HasValue ? 1 : 0) : 0) != 0)
                {
                    role = CommunityManagementRole.Moderator;
                }
                bool?isEditorSelected = this.IsEditorSelected;
                bool flag2            = true;
                if ((isEditorSelected.GetValueOrDefault() == flag2 ? (isEditorSelected.HasValue ? 1 : 0) : 0) != 0)
                {
                    role = CommunityManagementRole.Editor;
                }
                bool?administratorSelected = this.IsAdministratorSelected;
                bool flag3 = true;
                if ((administratorSelected.GetValueOrDefault() == flag3 ? (administratorSelected.HasValue ? 1 : 0) : 0) != 0)
                {
                    role = CommunityManagementRole.Administrator;
                }
            }
            EditingMode editingMode = this._isEditing ? EditingMode.Editing : EditingMode.Adding;

            if (isRemoving)
            {
                editingMode = EditingMode.Removing;
            }
            this.SetInProgress(true, "");
            this.IsFormEnabled = false;
            GroupsService current1    = GroupsService.Current;
            long          communityId = this._communityId;
            long          id          = this._manager.id;
            int           num1        = (int)role;
            bool?         isContact1  = this.IsContact;
            bool          flag4       = true;
            int           num2        = isContact1.GetValueOrDefault() == flag4 ? (isContact1.HasValue ? 1 : 0) : 0;
            string        position1   = this.Position;
            string        email1      = this.Email;
            string        phone1      = this.Phone;
            Action <BackendResult <int, ResultCode> > callback = (Action <BackendResult <int, ResultCode> >)(result => Execute.ExecuteOnUIThread((Action)(() =>
            {
                if (result.ResultCode == ResultCode.Succeeded)
                {
                    EventAggregator current2 = EventAggregator.Current;
                    CommunityManagerChanged communityManagerChanged = new CommunityManagerChanged();
                    communityManagerChanged.CommunityId = this._communityId;
                    communityManagerChanged.ManagerId = this._manager.id;
                    communityManagerChanged.EditingMode = editingMode;
                    communityManagerChanged.Role = role;
                    bool?isContact2 = this.IsContact;
                    bool flag1 = true;
                    int num3 = isContact2.GetValueOrDefault() == flag1 ? (isContact2.HasValue ? 1 : 0) : 0;
                    communityManagerChanged.IsContact = num3 != 0;
                    string position2 = this.Position;
                    communityManagerChanged.Position = position2;
                    string email2 = this.Email;
                    communityManagerChanged.Email = email2;
                    string phone2 = this.Phone;
                    communityManagerChanged.Phone = phone2;
                    User manager = this._manager;
                    communityManagerChanged.User = manager;
                    current2.Publish((object)communityManagerChanged);
                    if (!this._isEditing && this._fromPicker)
                    {
                        navigationService.RemoveBackEntry();
                    }
                    if (this._manager.id != VKClient.Common.Library.AppGlobalStateManager.Current.LoggedInUserId || role == CommunityManagementRole.Administrator)
                    {
                        Navigator.Current.GoBack();
                    }
                    else if (role != CommunityManagementRole.Unknown)
                    {
                        Navigator.Current.NavigateToCommunityManagement(this._communityId, this._communityType, false);
                        this._navigationService.RemoveBackEntry();
                        this._navigationService.RemoveBackEntry();
                        this._navigationService.RemoveBackEntry();
                    }
                    else
                    {
                        this._navigationService.RemoveBackEntry();
                        this._navigationService.RemoveBackEntry();
                        Navigator.Current.GoBack();
                    }
                }
                else
                {
                    this.SetInProgress(false, "");
                    this.IsFormEnabled = true;
                    VKClient.Common.UC.GenericInfoUC.ShowBasedOnResult((int)result.ResultCode, "", null);
                }
            })));

            current1.EditManager(communityId, id, (CommunityManagementRole)num1, num2 != 0, position1, email1, phone1, callback);
        }