Как передать значения в Auto Mapper во время выполнения - PullRequest
0 голосов
/ 07 февраля 2011

Я только начал использовать 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, "chobojunk@gmail.com");

        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>());

1 Ответ

0 голосов
/ 22 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...