2011-02-06 2 views
0

Я только начал использовать Auto Mapper и это является удивительным :)Как передавать значение Auto Mapper во время выполнения

я однако столкнулся некоторые проблемы со следующим сценарием. Мне нужно передать значение из моего контроллера (используя asp.net mvc) либо в пользовательский преобразователь, либо в форматтер. Мой контроллер берет строчную метку «День», «Неделя», «Месяц» и т. Д., Которая используется для получения отфильтрованного диапазона задач.

Как передать это значение своему резольверу?

Спасибо!

/// <summary> 
    /// Ajax Method for filtering tasks by Date Range 
    /// </summary> 
    /// <param name="dateFilter">The date filter label ["Day", "Week", "Month", "All", "Last 30 Days"]</param> 
    /// <returns>List of task objects</returns> 
    [HttpGet] 
    public JsonResult GetTasksByDateRange(DateFilters dateFilter) 
    { 
     List<Task> tasks = taskService.GetFilteredTasksByDate(dateFilter, "[email protected]"); 

     List<TaskTableViewModel> viewModelList = Mapper.Map<List<Task>, List<TaskTableViewModel>>(tasks); 

     return Json(viewModelList, JsonRequestBehavior.AllowGet); 
    } 

// В RegisterMaps файл

 Mapper.CreateMap<Task, TaskTableViewModel>().ForMember(dest => dest.DueDate, opt => opt.AddFormatter<DueDateFormatter>()); 

ответ

0

Только так я могу думать, чтобы сделать это через контейнер DI/IoC. Создайте объект контекста с параметром resolver, введите его в преобразователь и обновите его с контроллера перед выполнением Mapper.

Смежные вопросы