Error with AutoMapper

0

I'm having trouble mapping child classes in automapper, which I do from viewModel to model. Has anyone ever had this kind of problem? thank you very much I'll post the classes

public class ViewModelToDomainMappingProfile : Profile
{
    public override string ProfileName
    {
        get { return "ViewModelToDomainMappings"; }
    }

    protected override void Configure()
    {
        Mapper.CreateMap<ClienteViewModel, Cliente>();
        Mapper.CreateMap<ClienteViewModel, Endereco>()
        .ForMember(dest => dest.Rua, m => m.MapFrom(a => a.Rua))
        .ForMember(dest => dest.Numero, m => m.MapFrom(a => a.Numero))
        .ForMember(dest => dest.CEP, m => m.MapFrom(a => a.Cep))
        .ForMember(dest => dest.Bairro, m => m.MapFrom(a => a.Bairro))
        .ForMember(dest => dest.CidadeId, m => m.MapFrom(a => a.CidadeId))
        .ForMember(dest => dest.Cidade, m => m.MapFrom(a => Mapper.Map<ClienteViewModel, Cidade>(a)))
        .ForMember(dest => dest.EstadoId, m => m.MapFrom(a => a.EstadoId))
        .ForMember(dest => dest.Estado, m => m.MapFrom(a => Mapper.Map<ClienteViewModel, Estado>(a)));           

   }
}

}

Domain classes

public class Cidade
{
    public Int64 CidadeId { get; set; }
    public String CidadeNome { get; set; }
    public Int64 EstadoId { get; set; }
    public virtual Estado Estado { get; set; }
}

public class Cliente
{
    public Int64 ClienteId { get; set; }
    public String Nome { get; set; }
    public String Email { get; set; }
    public String Cpf { get; set; }
    public String Rg { get; set; }
    public String TelFixo { get; set; }
    public String Celular { get; set; }
    public Int64 EnderecoId { get; set; }
    public virtual Endereco Endereco { get; set; }
}
//classe viewModel
public class ClienteViewModel
{
    [Key]
    public Int64 ClienteId { get; set; }

    [Required(ErrorMessage = "Nome do cliente é obrigatório ")]
    [MaxLength(150, ErrorMessage = "Máximo {0} caracteres")]
    public String Nome { get; set; }

    [Required(ErrorMessage = "CPF é obrigatório")]
    [MaxLength(12)]
    public String Cpf { get; set; }
    [MaxLength(11)]
    public String RG { get; set; }

    [EmailAddress(ErrorMessage = "Preencha um E-mail válido")]
    [DisplayName("E-mail")]
    public String Email { get; set; }
    public String Telefone { get; set; }
    public String Celular { get; set; }
    public Int64 EnderecoId { get; set; }
    public Int64 EstadoId { get; set; }
    public Int64 CidadeId { get; set; }
    public String Rua { get; set; }
    public String Cep { get; set; }
    [DisplayName("Cidade")]
    public String CidadeNome { get; set; }
    public String Bairro { get; set; }
    public String UF { get; set; }
    public String Numero { get; set; }
    public String Complemento { get; set; }

}
    
asked by anonymous 09.11.2016 / 01:37

0 answers