https://github.com/tbertuzzi/automapperxamarinformsexemplo
Exemplo de AutoMapper com XamarinForms
https://github.com/tbertuzzi/automapperxamarinformsexemplo
Last synced: 6 months ago
JSON representation
Exemplo de AutoMapper com XamarinForms
- Host: GitHub
- URL: https://github.com/tbertuzzi/automapperxamarinformsexemplo
- Owner: TBertuzzi
- Created: 2020-02-28T13:31:46.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-19T19:45:04.000Z (about 5 years ago)
- Last Synced: 2025-02-16T14:33:49.100Z (8 months ago)
- Language: C#
- Homepage:
- Size: 392 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AutoMapperXamarinFormsExemplo
Exemplo de como utilizar AutoMapper com XamarinForms
Vamos ao Nuget Instalar o [AutoMapper](https://www.nuget.org/packages/AutoMapper/) em todos os projetos.
Em seguida existem algumas coisas q precisamos fazer. Antes de tudo para utilizar o AutoMapper precisamos configurar o arquivo do Linker em nossos projetos para que ele não remova algumas referencias importantes do AutoMapper :
Basta criar o arquivo Linker.xml nos projetos Android e iOS com o conteudo :
```xml
```
Agora no projeto iOS devemos editar o csproj e adicionar a seguinte referencia :
```c#
all
none
```
Pronto! Agora vamos criar uma classe para configurar o AutoMapper :
```c#
public static class AppBootstrapper
{
public static IMapper CreateMapper()
{
var mapperConfiguration = new MapperConfiguration(cfg =>
{
cfg.CreateMap()
.ForMember(vm => vm.ObterProximoPokemonCommand, opt => opt.Ignore());cfg.CreateMap();
});return mapperConfiguration.CreateMapper();
}
}```
Notem que na configuração eu especifico qual Model sera mapeada para ViewModel e vice e versa. Tambem estou ignorando o Command na viewModel, para que não exista problema no mapeamento.
Agora em Nossa ViewModel basta chamar o AutoMapper, para isso implementei um serviço que obtem um Pokemon e o AutoMapper ira mapear o resultado em nossa ViewModel :
```c#
IMapper _mapper;
public PokemonViewModel()
{
Titulo = "AutoMapper Exemplo";
_ApiService = new PokemonService();_mapper = AppBootstrapper.CreateMapper();
ObterProximoPokemonCommand = new Command(ExecuteObterProximoPokemonCommand);
}
private async Task CarregarPokemon(int id)
{
try
{
Ocupado = true;var pokemon = await _ApiService.GetPokemon(_cont);
_mapper.Map(pokemon, this);}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
finally
{Ocupado = false;
}
}```
Ao Executar temos o conteudo exibido na Tela.
Recomendo ler a documentação do [AutoMapper](https://automapper.org/) para ver tudo que é possivel fazer com ele.
E tambem o Mark ([Mark Allibone](https://mallibone.com/about)) escreveu um artigo bem
legal sobre isso, e você pode conferir [Clicando Aqui](https://mallibone.com/post/xamarin-automapper/)Caso fique a duvida este repositorio tem um exemplo da implementação completa.
Quer ver outros artigos sobre Xamarin ? [Clique aqui](https://github.com/TBertuzzi/XXamarin)
Espero ter ajudado!
Aquele abraço!