/// <summary> /// Builds the common fields. /// </summary> /// <param name="member">The group.</param> /// <param name="parameters">The parameters.</param> /// <returns>A string containing the XAML that represents the common Group fields.</returns> private string BuildCommonFields(GroupMember member, Dictionary <string, string> parameters) { var sb = new StringBuilder(); sb.AppendLine(MobileHelper.GetReadOnlyFieldXaml("Name", member.Person.FullName)); if (AllowRoleChange) { var items = GroupTypeCache.Get(member.Group.GroupTypeId) .Roles .Select(a => new KeyValuePair <string, string>(a.Id.ToString(), a.Name)); sb.AppendLine(MobileHelper.GetSingleFieldXaml(MobileHelper.GetDropDownFieldXaml("role", "Role", member.GroupRoleId.ToString(), true, items))); parameters.Add("role", "SelectedValue"); } else { sb.AppendLine(MobileHelper.GetReadOnlyFieldXaml("Role", member.GroupRole.Name)); } if (AllowMemberStatusChange) { var items = Enum.GetNames(typeof(GroupMemberStatus)) .Select(a => new KeyValuePair <string, string>(a, a)); sb.AppendLine(MobileHelper.GetSingleFieldXaml(MobileHelper.GetDropDownFieldXaml("memberstatus", "Member Status", member.GroupMemberStatus.ToString(), true, items))); parameters.Add("memberstatus", "SelectedValue"); } else { sb.AppendLine(MobileHelper.GetReadOnlyFieldXaml("Member Status", member.GroupMemberStatus.ToString())); } if (AllowNoteEdit) { sb.AppendLine(MobileHelper.GetSingleFieldXaml(MobileHelper.GetTextEditFieldXaml("note", "Note", member.Note, false, true))); parameters.Add("note", "Text"); } else { sb.AppendLine(MobileHelper.GetReadOnlyFieldXaml("Note", member.Note)); } return(sb.ToString()); }
/// <summary> /// Builds the common fields. /// </summary> /// <param name="request">The prayer request.</param> /// <param name="parameters">The parameters.</param> /// <returns>A string containing the XAML that represents the common Group fields.</returns> private string BuildCommonFields(PrayerRequest request, Dictionary <string, string> parameters) { var sb = new StringBuilder(); string field; string firstName = request != null ? request.FirstName : RequestContext.CurrentPerson?.FirstName; string lastName = request != null ? request.LastName : RequestContext.CurrentPerson?.LastName; string email = request != null ? request.Email : RequestContext.CurrentPerson?.Email; field = MobileHelper.GetTextEditFieldXaml("firstName", "First Name", firstName, true); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("firstName", "Text"); field = MobileHelper.GetTextEditFieldXaml("lastName", "Last Name", lastName, RequireLastName); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("lastName", "Text"); field = MobileHelper.GetEmailEditFieldXaml("email", "Email", email, false); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("email", "Text"); if (ShowCampus && CampusCache.All().Where(a => a.IsActive ?? false).Count() > 1) { field = $"<Rock:CampusPicker x:Name=\"campus\" Label=\"Campus\" IsRequired=\"{RequireCampus}\" SelectedValue=\"{request?.Campus?.Guid.ToStringSafe()}\" />"; sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("campus", "SelectedValue"); } if (ShowCategory && ParentCategory.HasValue) { var items = CategoryCache.Get(ParentCategory.Value) .Categories .Select(a => new KeyValuePair <string, string>(a.Guid.ToString(), a.Name)); var categoryGuid = request?.Category?.Guid; if (!categoryGuid.HasValue && DefaultCategory.HasValue) { categoryGuid = CategoryCache.Get(DefaultCategory.Value).Guid; } field = MobileHelper.GetDropDownFieldXaml("category", "Category", categoryGuid.ToStringSafe(), true, items); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("category", "SelectedValue"); } field = MobileHelper.GetTextEditFieldXaml("request", "Request", request?.Text, true, true, CharacterLimit); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("request", "Text"); if (ShowPublicDisplayFlag) { field = MobileHelper.GetCheckBoxFieldXaml("allowPublication", "Allow Publication", request?.IsPublic ?? DefaultToPublic); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("allowPublication", "IsChecked"); } if (ShowUrgentFlag) { field = MobileHelper.GetCheckBoxFieldXaml("urgent", "Urgent", request?.IsUrgent ?? false); sb.AppendLine(MobileHelper.GetSingleFieldXaml(field)); parameters.Add("urgent", "IsChecked"); } return(sb.ToString()); }