Example #1
0
        public static ContributionTechnology ToContributionTechnology(this ActivityTechnology technology)
        {
            var contributionTechnology = new ContributionTechnology
            {
                Id            = technology.Id,
                AwardCategory = technology.AwardCategory,
                AwardName     = technology.AwardName,
                Name          = technology.Name
            };

            return(contributionTechnology);
        }
Example #2
0
        public static ActivityTechnology ToActivityTechnology(this ContributionTechnology technology)
        {
            var areaContainer = ServiceLocator.Current.GetInstance <IContributionAreaContainer>();
            var areas         =
                areaContainer.GetAllAreas()
                .SelectMany(awardContribution => awardContribution.Areas)
                .GroupBy(x => x.AwardName)
                .Select(g => g.First())
                .SelectMany(a => a.Items)
                .ToList();

            return(areas.FirstOrDefault(x => x.Id == technology.Id));
        }
        private static async Task TestContributionAsync()
        {
            IEnumerable <ItemVisibility> visibilities;

            try
            {
                visibilities = await App.API.GetSharingPreferencesAsync();
            }
            catch (Exception ex)
            {
                await App.MessageDialogManager.ShowAsync(
                    "Error",
                    $"Error in {nameof(ApiClient.GetSharingPreferencesAsync)} method. Error: {ex}");

                return;
            }

            IEnumerable <AwardContribution> contributionAreas;

            try
            {
                contributionAreas = await App.API.GetContributionAreasAsync();
            }
            catch (Exception ex)
            {
                await App.MessageDialogManager.ShowAsync(
                    "Error",
                    $"Error in GetContributionAreasAsync method. Error: {ex}");

                return;
            }

            Contributions contributions;

            try
            {
                contributions = await App.API.GetContributionsAsync(0, 25);
            }
            catch (Exception ex)
            {
                await App.MessageDialogManager.ShowAsync(
                    "Error",
                    $"Error in GetContributionsAsync method. Error: {ex}");

                return;
            }

            if (contributions != null)
            {
                try
                {
                    Contribution ctb = contributions.Items.FirstOrDefault();

                    Contribution contribution = await App.API.GetContributionByIdAsync(ctb.Id.Value);
                }
                catch (Exception ex)
                {
                    await App.MessageDialogManager.ShowAsync(
                        "Error",
                        $"Error in GetContributionByIdAsync method. Error: {ex}");

                    return;
                }
            }

            IEnumerable <ContributionType> contributionTypes;

            try
            {
                contributionTypes = await App.API.GetContributionTypesAsync();
            }
            catch (Exception ex)
            {
                await App.MessageDialogManager.ShowAsync(
                    "Error",
                    $"Error in GetContributionTypesAsync method. Error: {ex}");

                return;
            }

            if (contributionTypes != null && contributionAreas != null)
            {
                ContributionType  contributionType  = contributionTypes.FirstOrDefault();
                AwardContribution awardContribution = contributionAreas.FirstOrDefault();
                ContributionArea  area = awardContribution.Areas.FirstOrDefault();

                var technology = new ContributionTechnology
                {
                    AwardCategory = awardContribution.AwardCategory,
                    AwardName     = area.AwardName,
                    Id            = area.Items.FirstOrDefault().Id,
                    Name          = area.Items.FirstOrDefault().Name
                };

                var newContribution = new Contribution
                {
                    Type         = contributionType,
                    TypeName     = contributionType.Name,
                    Technology   = technology,
                    StartDate    = DateTime.Now,
                    Title        = "MVP API Test",
                    ReferenceUrl =
                        "https://github.com/jamesmcroft/mvp-api-portable",
                    Visibility           = visibilities.FirstOrDefault(),
                    AnnualQuantity       = 0,
                    SecondAnnualQuantity = 0,
                    AnnualReach          = 0,
                    Description          = "Hello, World!"
                };

                Contribution submittedContribution;

                try
                {
                    submittedContribution = await App.API.AddContributionAsync(newContribution);
                }
                catch (Exception ex)
                {
                    await App.MessageDialogManager.ShowAsync(
                        "Error",
                        $"Error in AddContributionAsync method. Error: {ex}");

                    return;
                }

                if (submittedContribution != null)
                {
                    submittedContribution.Description = "This is a new description";

                    try
                    {
                        bool updated = await App.API.UpdateContributionAsync(submittedContribution);
                    }
                    catch (Exception ex)
                    {
                        await App.MessageDialogManager.ShowAsync(
                            "Error",
                            $"Error in UpdateContributionAsync method. Error: {ex}");

                        return;
                    }

                    try
                    {
                        bool deleted = await App.API.DeleteContributionAsync(submittedContribution.Id.Value);
                    }
                    catch (Exception ex)
                    {
                        await App.MessageDialogManager.ShowAsync(
                            "Error",
                            $"Error in DeleteContributionAsync method. Error: {ex}");

                        return;
                    }
                }
            }
        }
Example #4
0
        private static async Task TestContributionAsync()
        {
            IEnumerable <AwardContribution> contributionAreas = null;

            try
            {
                contributionAreas = await App.API.GetContributionAreasAsync();
            }
            catch (Exception ex)
            {
                await MessageDialogManager.Current.ShowAsync(
                    "Error",
                    $"Error in GetContributionAreasAsync method. Error: {ex}");
            }

            Contributions contributions = null;

            try
            {
                contributions = await App.API.GetContributionsAsync(0, 25);
            }
            catch (Exception ex)
            {
                await MessageDialogManager.Current.ShowAsync(
                    "Error",
                    $"Error in GetContributionsAsync method. Error: {ex}");
            }

            if (contributions != null)
            {
                try
                {
                    var ctb = contributions.Items.FirstOrDefault();

                    var contribution = await App.API.GetContributionByIdAsync(ctb.Id.Value);
                }
                catch (Exception ex)
                {
                    await MessageDialogManager.Current.ShowAsync(
                        "Error",
                        $"Error in GetContributionByIdAsync method. Error: {ex}");
                }
            }

            IEnumerable <ContributionType> contributionTypes = null;

            try
            {
                contributionTypes = await App.API.GetContributionTypesAsync();
            }
            catch (Exception ex)
            {
                await MessageDialogManager.Current.ShowAsync(
                    "Error",
                    $"Error in GetContributionTypesAsync method. Error: {ex}");
            }

            if (contributionTypes != null && contributionAreas != null)
            {
                var contributionType  = contributionTypes.FirstOrDefault();
                var awardContribution = contributionAreas.FirstOrDefault();
                var area = awardContribution.Areas.FirstOrDefault();

                var technology = new ContributionTechnology
                {
                    AwardCategory = awardContribution.AwardCategory,
                    AwardName     = area.AwardName,
                    Id            = area.Items.FirstOrDefault().Id,
                    Name          = area.Items.FirstOrDefault().Name
                };

                var newContribution = new Contribution
                {
                    Id           = 0,
                    Type         = contributionType,
                    TypeName     = contributionType.Name,
                    Technology   = technology,
                    StartDate    = DateTime.Now,
                    Title        = "MVP API Test",
                    ReferenceUrl =
                        "https://github.com/jamesmcroft/mvp-api-portable",
                    Visibility =
                        new ItemVisibility
                    {
                        Id          = 299600000,
                        Description = "Everyone",
                        LocalizeKey =
                            "PublicVisibilityText"
                    },
                    AnnualQuantity       = 0,
                    SecondAnnualQuantity = 0,
                    AnnualReach          = 0,
                    Description          = "Hello, World!"
                };

                Contribution submittedContribution = null;

                try
                {
                    submittedContribution = await App.API.AddContributionAsync(newContribution);
                }
                catch (Exception ex)
                {
                    await MessageDialogManager.Current.ShowAsync(
                        "Error",
                        $"Error in AddContributionAsync method. Error: {ex}");
                }

                if (submittedContribution != null)
                {
                    submittedContribution.Description = "This is a new description";

                    try
                    {
                        var updated = await App.API.UpdateContributionAsync(submittedContribution);
                    }
                    catch (Exception ex)
                    {
                        await MessageDialogManager.Current.ShowAsync(
                            "Error",
                            $"Error in UpdateContributionAsync method. Error: {ex}");
                    }

                    try
                    {
                        var deleted = await App.API.DeleteContributionAsync(submittedContribution.Id.Value);
                    }
                    catch (Exception ex)
                    {
                        await MessageDialogManager.Current.ShowAsync(
                            "Error",
                            $"Error in DeleteContributionAsync method. Error: {ex}");
                    }
                }
            }
        }