danielolorenz
asked on
I Am Getting an Error Value Supplied is of Type String Expected Suspense Data?
I need my string input to be of SuspenseData type.
Is there a way to map the correct data type?
Thanks,
Dan
Here is my code:
Automapper Code:
Is there a way to map the correct data type?
Thanks,
Dan
Here is my code:
class SuspenseTypeListResolver : ValueResolver<SuspenseType[], List<SuspenseData>>
{
protected override List<SuspenseData> ResolveCore(SuspenseType[] source)
{
if (source == null || source.Length == 0) return null;
return source.Select(Mapper.Map<SuspenseType, SuspenseData>).
Where(su => su != null).ToList();
}
}
SuspenseData.cs File:using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using BCA.ISS.DVS.Common;
using BCA.ISS.DVS.Model.Entities.Common;
namespace BCA.ISS.DVS.Model.Entities.Vehicle
{
[Serializable]
public class SuspenseData
{
public string SuspenseCode { get; set; }
public string SuspenseCodeText { get; set; }
public string SuspenseSatisfied { get; set; }
}
}
SuspenseType: /// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://bca-xml.x.state.mn.us/DVSServices/1.0")]
[System.Xml.Serialization.XmlRootAttribute("Suspense", Namespace="http://bca-xml.x.state.mn.us/DVSServices/1.0", IsNullable=false)]
public partial class SuspenseType {
private string suspenseCodeField;
private string suspenseCodeTextField;
private string suspenseSatisfiedField;
/// <remarks/>
public string SuspenseCode {
get {
return this.suspenseCodeField;
}
set {
this.suspenseCodeField = value;
}
}
/// <remarks/>
public string SuspenseCodeText {
get {
return this.suspenseCodeTextField;
}
set {
this.suspenseCodeTextField = value;
}
}
/// <remarks/>
public string SuspenseSatisfied {
get {
return this.suspenseSatisfiedField;
}
set {
this.suspenseSatisfiedField = value;
}
}
}
Automapper Code:
Mapper.CreateMap<SuspenseType, SuspenseData>()
.ForMember(sd => sd.SuspenseCode, m => m.ResolveUsing<SuspenseCodeResolver>().FromMember(s => s.SuspenseCode))
.ForMember(sd => sd.SuspenseCodeText, m => m.ResolveUsing<SuspenseCodeTextResolver>().FromMember(s => s.SuspenseCodeText))
.ForMember(sd => sd.SuspenseSatisfied, m => m.ResolveUsing<SuspenseSatisfiedResolver>().FromMember(s => s.SuspenseSatisfied))
;
Mapper.CreateMap<VehiclesType, VehicleDetail>()
.ForMember(vd => vd.Liens, m => m.ResolveUsing<LiensResolver>().FromMember(s => s.Liens))
.ForMember(vd => vd.Owners, m => m.ResolveUsing<VehicleOwnerResolver>().FromMember(s => s.OwnerInformation))
.ForMember(vd => vd.CompanyOwners, m => m.ResolveUsing<VehicleCompanyOwnerResolver>().FromMember(s => s.OwnerInformation))
.ForMember(vd => vd.Lessees, m => m.MapFrom(s => s.LesseeInformation))
.ForMember(vd => vd.PreviousOwners, m => m.ResolveUsing<PreviousOwnerListResolver>().FromMember(s => s.PreviousOwnerInformation))
.ForMember(vd => vd.SuspenseData, m => m.ResolveUsing<SuspenseTypeListResolver>().FromMember(s => s.SuspenseInformation))
;
Could you show how you call Resolve?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
My solution worked