PageRenderTime 42ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Gradebook/App_Start/MapperConfig.cs

https://bitbucket.org/academium/gradebook
C# | 49 lines | 43 code | 6 blank | 0 comment | 0 complexity | 5035e207a3245c87a12e1798bff86db7 MD5 | raw file
  1. using AutoMapper;
  2. using System.Linq;
  3. namespace Gradebook
  4. {
  5. public class MapperConfig
  6. {
  7. public static void Configure()
  8. {
  9. Mapper.Initialize(x => x.AddProfile<DtoProfile>());
  10. Mapper.AssertConfigurationIsValid();
  11. }
  12. }
  13. public class DtoProfile : Profile
  14. {
  15. protected override void Configure()
  16. {
  17. CreateMap<Model.Task, ViewModels.Task>()
  18. .ForMember(dm => dm.AssessmentName, mo => mo.MapFrom(sm => sm.Assessment.Name))
  19. .ForMember(dm => dm.TypeName, mo => mo.MapFrom(sm => sm.Type.Name))
  20. .ForMember(dm => dm.Average, mo => mo.Ignore())
  21. .ForMember(dm => dm.Status, mo => mo.Ignore());
  22. CreateMap<ViewModels.Task, Model.Task>()
  23. .ForMember(dm => dm.Assessment, mo => mo.Ignore())
  24. .ForMember(dm => dm.Code, mo => mo.Ignore())
  25. .ForMember(dm => dm.Grades, mo => mo.Ignore())
  26. .ForMember(dm => dm.Type, mo => mo.Ignore());
  27. CreateMap<Model.ClassCode, ViewModels.ClassSubject>()
  28. .ForMember(dm => dm.SubjectName, mo => mo.MapFrom(sm => sm.Subject.Name));
  29. CreateMap<Model.Grade, ViewModels.TaskResult>()
  30. .ForMember(dm => dm.Result, mo => mo.MapFrom(sm => sm.Value))
  31. .ForMember(dm => dm.TotalMarks, mo => mo.MapFrom(sm => sm.Task.TotalMarks))
  32. .ForMember(dm => dm.StudentName, mo => mo.MapFrom(sm => sm.Student.FullName))
  33. .ForMember(dm => dm.TaskTitle, mo => mo.MapFrom(sm => sm.Task.Title))
  34. .ForMember(dm => dm.TaskShortName, mo => mo.MapFrom(sm => sm.Task.ShortName))
  35. .ForMember(dm => dm.Rank, mo => mo.Ignore())
  36. .ForMember(dm => dm.Rate, mo => mo.Ignore());
  37. CreateMap<Model.Grade, ViewModels.Grade>();
  38. CreateMap<Model.TaskAssessment, ViewModels.TaskAssessment>();
  39. CreateMap<Model.TaskType, ViewModels.TaskType>();
  40. CreateMap<Model.Student, ViewModels.Student>();
  41. }
  42. }
  43. }