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); }
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; } } } }
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}"); } } } }