0
私はviewmodelsによっていくつかの情報を取るmvcウェブサイトを作成しています。 これは私のdb POCOAutomapper flag enum
public class ServiceTime : BaseEntity
{
public int IdRestaurant { get; set; }
public virtual Restaurant Restaurant { get; set; }
public Src.OrderStar.Entities.Day Day { get; set; }
public string StartTime { get; set; }
public string FinishTime { get; set; }
}
であり、これは私がautomapperによって相互にこれらのクラスを変換しています私の見解モデル
public class ServiceTimeModel
{
public int Id { get; set; }
public int IdRestaurant { get; set; }
public bool Monday { get; set; }
public bool Tuesday { get; set; }
public bool Wednesday { get; set; }
public bool Thursday { get; set; }
public bool Friday { get; set; }
public bool Saturday { get; set; }
public bool Sunday { get; set; }
public DateTime StartTime { get; set; }
public DateTime FinishTime { get; set; }
}
です。私は簡単に私が5つの異なる日をバインドしたい
ServiceTime
にServiceTimeModelをバインドする方法を解決することができませんでした意味、私はこれの逆にcouldntのこの構成cfg.CreateMap<ServiceTime, ServiceTimeModel>()
.ForMember(dest => dest.Monday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Monday)))
.ForMember(dest => dest.Tuesday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Tuesday)))
.ForMember(dest => dest.Wednesday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Wednesday)))
.ForMember(dest => dest.Thursday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Thursday)))
.ForMember(dest => dest.Friday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Friday)))
.ForMember(dest => dest.Saturday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Saturday)))
.ForMember(dest => dest.Sunday, opt => opt.MapFrom(src => src.Day.HasFlag(Day.Sunday)))
.IgnoreAllNonExisting();
富栄によってServiceTimeModelにServiceTimeを変換することができますフラグの列挙型
アイデア?
おそらく、カスタムマッピング関数を作成し、このようにそれを使用する必要があります。 '.ForMember(DEST => dest.Day、OPT => OPT。 MapFrom(src => GetDay(src))) '、このメソッドでは、どのフラグが' true'に設定されているかを確認し、適切な日を割り当てます –