Esempio n. 1
0
        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();
                }
            }
        }
Esempio n. 2
0
        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();
                }
            }
        }
Esempio n. 3
0
        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();
                }
            }
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        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);
        }