/// <summary> /// Creates a sort menu for contact requests. /// </summary> /// <returns>The flyout menu with the sort options.</returns> public static MenuFlyout CreateContactRequestsSortMenu(ContactRequestsListViewModel contactRequests) { MenuFlyout menuFlyout = new MenuFlyout(); menuFlyout.Items?.Add(new MenuFlyoutItem() { Text = ResourceService.UiResources.GetString("UI_SortOptionName"), Foreground = GetSortMenuItemForeground(contactRequests.CurrentOrder, ContactRerquestsSortOrderType.ORDER_NAME), Command = new RelayCommand(() => { contactRequests.CurrentOrder = ContactRerquestsSortOrderType.ORDER_NAME; contactRequests.SortBy(contactRequests.CurrentOrder, contactRequests.ItemCollection.CurrentOrderDirection); }) }); return(menuFlyout); }
public ContactRequestViewModel(MContactRequest contactRequest, ContactRequestsListViewModel contactRequestsList) { MegaContactRequest = contactRequest; Handle = contactRequest.getHandle(); SourceEmail = contactRequest.getSourceEmail(); SourceMessage = contactRequest.getSourceMessage(); TargetEmail = contactRequest.getTargetEmail(); CreationTime = contactRequest.getCreationTime(); ModificationTime = contactRequest.getModificationTime(); Status = contactRequest.getStatus(); IsOutgoing = contactRequest.isOutgoing(); AvatarColor = UiService.GetColorFromHex( SdkService.MegaSdk.getUserHandleAvatarColor(Handle.ToString())); this.ContactRequestsList = contactRequestsList; this.AcceptContactRequestCommand = new RelayCommand(AcceptContact); this.IgnoreContactRequestCommand = new RelayCommand(IgnoreContact); this.DeclineContactRequestCommand = new RelayCommand(DeclineContact); this.RemindContactRequestCommand = new RelayCommand(RemindContact); this.CancelContactRequestCommand = new RelayCommand(CancelContact); }