public async override Task Initialize() { await base.Initialize(); if (NavigationParameter is Contribution contribution) { Contribution = contribution; CanBeEdited = Contribution != null && Contribution.StartDate.IsWithinCurrentAwardPeriod(); ((AsyncCommand)SecondaryCommand).RaiseCanExecuteChanged(); if (contribution.ContributionType.Id.HasValue) { ContributionTypeConfig = contribution.ContributionType.Id.Value.GetContributionTypeRequirements(); } } }
public override void Init(object initData) { base.Init(initData); if (initData is Contribution contribution) { Contribution = contribution; RaisePropertyChanged(nameof(CanBeEdited)); EditContributionCommand.RaiseCanExecuteChanged(); if (contribution.ContributionType.Id.HasValue) { ContributionTypeConfig = contribution.ContributionType.Id.Value.GetContributionTypeRequirements(); } } }
public async override Task Initialize() { await base.Initialize(); if (NavigationParameter is Contribution contribution) { Contribution = contribution; RaisePropertyChanged(nameof(CanBeEdited)); ((AsyncCommand)SecondaryCommand).RaiseCanExecuteChanged(); if (contribution.ContributionType.Id.HasValue) { ContributionTypeConfig = contribution.ContributionType.Id.Value.GetContributionTypeRequirements(); } } }
/// <summary> /// Retrieves contribution type information based on the provided Guid. /// </summary> public static ContributionTypeConfig GetContributionTypeRequirements(this Guid contributionType) { var config = new ContributionTypeConfig(); var guidString = contributionType.ToString(); switch (guidString) { case "e36464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Article" config.AnnualQuantityHeader = Translations.field_number_of_articles; config.AnnualReachHeader = Translations.field_number_of_views; config.HasAnnualReach = true; config.TypeColor = "red_light"; config.TextColor = "white"; break; case "df6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Blog/Website Post" config.AnnualQuantityHeader = Translations.field_number_of_posts; config.SecondAnnualQuantityHeader = Translations.field_number_of_subscribers; config.AnnualReachHeader = Translations.field_annual_unique_visitors; config.IsUrlRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; config.TypeColor = "orange_light"; config.TextColor = "white"; break; case "db6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Book (Author)" config.AnnualQuantityHeader = Translations.field_number_of_books; config.AnnualReachHeader = Translations.field_copies_sold; config.HasAnnualReach = true; config.TypeColor = "yellow_light"; config.TextColor = "black"; break; case "dd6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Book (Co-Author)" config.AnnualQuantityHeader = Translations.field_number_of_books; config.AnnualReachHeader = Translations.field_copies_sold; config.HasAnnualReach = true; config.TypeColor = "sand_light"; config.TextColor = "black"; break; case "f16464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Conference (Staffing)" config.AnnualQuantityHeader = Translations.field_number_of_conferences; config.AnnualReachHeader = Translations.field_number_of_visitors; config.HasAnnualReach = true; config.TypeColor = "navyblue_light"; config.TextColor = "white"; break; case "0ce0dc15-0304-e911-8171-3863bb2bca60": // "EnglishName": "Docs.Microsoft.com Contribution" config.AnnualQuantityHeader = Translations.field_prs_issues_submissions; config.TypeColor = "magenta_light"; config.TextColor = "white"; break; case "f96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Moderator" config.AnnualQuantityHeader = Translations.field_number_of_threads_moderated; config.TypeColor = "teal_light"; config.TextColor = "white"; break; case "d96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Participation (3rd Party forums)" config.AnnualQuantityHeader = Translations.field_number_of_answers; config.SecondAnnualQuantityHeader = Translations.field_number_of_posts; config.AnnualReachHeader = Translations.field_views_of_answers; config.IsUrlRequired = true; config.IsSecondAnnualQuantityRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; config.TypeColor = "skyblue_light"; config.TextColor = "white"; break; case "d76464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Participation (Microsoft Forums)" config.AnnualQuantityHeader = Translations.field_number_of_answers; config.SecondAnnualQuantityHeader = Translations.field_number_of_posts; config.AnnualReachHeader = Translations.field_views_of_answers; config.IsUrlRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; config.TypeColor = "green_light"; config.TextColor = "white"; break; case "f76464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Mentorship" config.AnnualQuantityHeader = Translations.field_number_of_mentorship_activity; config.AnnualReachHeader = Translations.field_number_of_mentees; config.HasAnnualReach = true; config.TypeColor = "black_light"; config.TextColor = "white"; break; case "d2d96407-0304-e911-8171-3863bb2bca60": // "EnglishName": "Microsoft Open Source Projects" config.AnnualQuantityHeader = Translations.field_number_of_projects; config.TypeColor = "mint_light"; config.TextColor = "white"; break; case "414bcf30-e889-e511-8110-c4346bac0abc": // "EnglishName": "Non-Microsoft Open Source Projects" config.AnnualQuantityHeader = Translations.field_projects; config.AnnualReachHeader = Translations.field_contributions; config.HasAnnualReach = true; config.TypeColor = "forestgreen_light"; config.TextColor = "white"; break; case "fd6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Organizer (User Group/Meetup/Local Events)" config.AnnualQuantityHeader = Translations.field_meetings; config.AnnualReachHeader = Translations.field_members; config.HasAnnualReach = true; config.TypeColor = "purple_light"; config.TextColor = "white"; break; case "ef6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Organizer of Conference" config.AnnualQuantityHeader = Translations.field_number_of_conferences; config.AnnualReachHeader = Translations.field_number_of_attendees; config.HasAnnualReach = true; config.TypeColor = "white_light"; config.TextColor = "black"; break; case "ff6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Other" config.AnnualQuantityHeader = Translations.field_annual_quantity; config.AnnualReachHeader = Translations.field_annual_reach; config.HasAnnualReach = true; config.TypeColor = "lime_light"; config.TextColor = "white"; break; case "016564de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Product Group Feedback (General)" config.AnnualQuantityHeader = Translations.field_number_of_events_participated; config.AnnualReachHeader = Translations.field_number_of_feedbacks_provided; config.HasAnnualReach = true; config.TypeColor = "pink_light"; config.TextColor = "white"; break; case "e96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Sample Code/Projects/Tools" config.AnnualQuantityHeader = Translations.field_number_of_samples; config.AnnualReachHeader = Translations.field_number_of_downloads; config.HasAnnualReach = true; config.IsUrlRequired = true; config.TypeColor = "maroon_light"; config.TextColor = "white"; break; case "fb6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Site Owner" config.AnnualQuantityHeader = Translations.field_number_of_sites; config.AnnualReachHeader = Translations.field_number_of_visitors; config.HasAnnualReach = true; config.TypeColor = "coffee_light"; config.TextColor = "white"; break; case "d16464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Speaking (Conference)" config.AnnualQuantityHeader = Translations.field_number_of_talks; config.SecondAnnualQuantityHeader = ""; config.AnnualReachHeader = Translations.field_attendees_of_talks; config.TypeColor = "powderblue_light"; config.TextColor = "black"; break; case "d56464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Speaking (User Group/Meetup/Local events)" config.AnnualQuantityHeader = Translations.field_number_of_talks; config.AnnualReachHeader = Translations.field_attendees_of_talks; config.HasAnnualReach = true; config.TypeColor = "blue_light"; config.TextColor = "white"; break; case "eb6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Technical Social Media (Twitter, Facebook, LinkedIn...)" config.AnnualQuantityHeader = Translations.field_number_of_talks; config.AnnualReachHeader = Translations.field_number_of_followers; config.HasAnnualReach = true; config.IsUrlRequired = true; config.TypeColor = "brown_light"; config.TextColor = "white"; break; case "056564de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Translation Review, Feedback and Editing" config.AnnualQuantityHeader = Translations.field_annual_quantity; config.TypeColor = "plum_light"; config.TextColor = "white"; break; case "e56464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Video/Webcast/Podcast" config.AnnualQuantityHeader = Translations.field_number_of_videos; config.AnnualReachHeader = Translations.field_number_of_views; config.HasAnnualReach = true; config.IsUrlRequired = true; config.TypeColor = "watermelon_light"; config.TextColor = "white"; break; case "0ee0dc15-0304-e911-8171-3863bb2bca60": // "EnglishName": "Workshop/Volunteer/Proctor" config.AnnualQuantityHeader = Translations.field_number_of_events; config.TypeColor = "gray_light"; config.TextColor = "white"; break; } return(config); }
public static ContributionTypeConfig GetContributionTypeRequirements(this Guid contributionType) { var config = new ContributionTypeConfig(); var guidString = contributionType.ToString(); switch (guidString) { case "e36464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Article" config.AnnualQuantityHeader = "Number of Articles"; config.AnnualReachHeader = "Number of Views"; config.HasAnnualReach = true; break; case "df6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Blog/Website Post" config.AnnualQuantityHeader = "Number of Posts"; config.SecondAnnualQuantityHeader = "Number of Subscribers"; config.AnnualReachHeader = "Annual Unique Visitors"; config.IsUrlRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; break; case "db6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Book (Author)" config.AnnualQuantityHeader = "Number of Books"; config.AnnualReachHeader = "Copies Sold"; config.HasAnnualReach = true; break; case "dd6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Book (Co-Author)" config.AnnualQuantityHeader = "Number of Books"; config.AnnualReachHeader = "Copies Sold"; config.HasAnnualReach = true; break; case "f16464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Conference (Staffing)" config.AnnualQuantityHeader = "Number of Conferences"; config.AnnualReachHeader = "Number of Visitors"; config.HasAnnualReach = true; break; case "0ce0dc15-0304-e911-8171-3863bb2bca60": // "EnglishName": "Docs.Microsoft.com Contribution" config.AnnualQuantityHeader = "Pull Requests/Issues/Submissions"; break; case "f96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Moderator" config.AnnualQuantityHeader = "Number of Threads moderated"; break; case "d96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Participation (3rd Party forums)" config.AnnualQuantityHeader = "Number of Answers"; config.SecondAnnualQuantityHeader = "Number of Posts"; config.AnnualReachHeader = "Views of Answers"; config.IsUrlRequired = true; config.IsSecondAnnualQuantityRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; break; case "d76464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Forum Participation (Microsoft Forums)" config.AnnualQuantityHeader = "Number of Answers"; config.SecondAnnualQuantityHeader = "Number of Posts"; config.AnnualReachHeader = "Views of Answers"; config.IsUrlRequired = true; config.HasAnnualReach = true; config.HasSecondAnnualQuantity = true; break; case "f76464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Mentorship" config.AnnualQuantityHeader = "Number of Mentorship Activity"; config.AnnualReachHeader = "Number of Mentees"; config.HasAnnualReach = true; break; case "d2d96407-0304-e911-8171-3863bb2bca60": // "EnglishName": "Microsoft Open Source Projects" config.AnnualQuantityHeader = "Number of Projects"; break; case "414bcf30-e889-e511-8110-c4346bac0abc": // "EnglishName": "Non-Microsoft Open Source Projects" config.AnnualQuantityHeader = "Project(s)"; config.AnnualReachHeader = "Contributions"; config.HasAnnualReach = true; break; case "fd6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Organizer (User Group/Meetup/Local Events)" config.AnnualQuantityHeader = "Meetings"; config.AnnualReachHeader = "Members"; config.HasAnnualReach = true; break; case "ef6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Organizer of Conference" config.AnnualQuantityHeader = "Number of Conferences"; config.AnnualReachHeader = "Number of Attendees"; config.HasAnnualReach = true; break; case "ff6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Other" config.AnnualQuantityHeader = "Annual Quantity"; config.AnnualReachHeader = "Annual Reach"; config.HasAnnualReach = true; break; case "016564de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Product Group Feedback (General)" config.AnnualQuantityHeader = "Number of Events Participated"; config.AnnualReachHeader = "Number of Feedbacks Provided"; config.HasAnnualReach = true; break; case "e96464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Sample Code/Projects/Tools" config.AnnualQuantityHeader = "Number of Samples"; config.AnnualReachHeader = "Number of Downloads"; config.HasAnnualReach = true; config.IsUrlRequired = true; break; case "fb6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Site Owner" config.AnnualQuantityHeader = "Number of Sites"; config.AnnualReachHeader = "Number of Visitors"; config.HasAnnualReach = true; break; case "d16464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Speaking (Conference)" config.AnnualQuantityHeader = "Number of Talks"; config.SecondAnnualQuantityHeader = ""; config.AnnualReachHeader = "Attendees of Talks"; break; case "d56464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Speaking (User Group/Meetup/Local events)" config.AnnualQuantityHeader = "Number of Talks"; config.AnnualReachHeader = "Attendees of Talks"; config.HasAnnualReach = true; break; case "eb6464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Technical Social Media (Twitter, Facebook, LinkedIn...)" config.AnnualQuantityHeader = "Number of Talks"; config.AnnualReachHeader = "Number of Followers"; config.HasAnnualReach = true; config.IsUrlRequired = true; break; case "056564de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Translation Review, Feedback and Editing" config.AnnualQuantityHeader = "Annual Quantity"; break; case "e56464de-179a-e411-bbc8-6c3be5a82b68": // "EnglishName": "Video/Webcast/Podcast" config.AnnualQuantityHeader = "Number of Videos"; config.AnnualReachHeader = "Number of Views"; config.HasAnnualReach = true; config.IsUrlRequired = true; break; case "0ee0dc15-0304-e911-8171-3863bb2bca60": // "EnglishName": "Workshop/Volunteer/Proctor" config.AnnualQuantityHeader = "Number of Events"; break; } return(config); }