OWF_ManagersNextTwoMonths
тип возврата - это копия OWF_ManagerRelationshipViewModel
пара вещей в нем закомментирована. Этот метод является модифицированной версией оригинала, которая использовала OWF_ManagerRelationshipViewModel
в качестве возвращаемого типа. Целью является исключение одного из прокси-классов для уменьшения количества возвращаемых записей.Почему этот тип не присваивается типу параметра?
Еще одно отличие заключается в следующем OWF_ManagersNextTwoMonthsViewModel
- automapper
в операторе возврата.
Я получаю красную кривую под товаром в managerListFinal.Add(item);
и (managerListFinal)
в automapper
часть типа возврата.
Первая красная закорючка в managerListFinal.Add(item);
говорит:
'Аргумент тип Jupiter.Core.Model.OWF_ManagerRelationship не присваиваемый параметр типа Jupiter.Core.Model.OWF_ManagersNextTwoMonthsViewModel.
Второй красный закорючка в (managerListFinal)
говорит:
'Аргумент типа Jupiter.Core.Model.OWF_ManagersNextTwoMonthsViewModel не может быть назначен для параметра типа Jupiter.Core.Model.OWF_ManagerRelationship.
Я попытался также возвращение managerListFinal
ниже automapper
возвращения, но получаю сообщение, что говорит то же самое, как это было для первого один выше, который использует automapper
.
Новый OWF_ManagersNextTwoMonthsViewModel
был создан без списка документов, чтобы не возвращать эти записи. Я думал, что это сработает, потому что это так похоже на оригинал OWF_ManagerRelationshipViewModel
.
Я думаю, что возвращение automapper
вернет то, что мне нужно, если оно сработает правильно. Я пытаюсь получить даты onsites, целевые даты, имена пользователей и типы менеджеров. Даты на месте и целевые даты используются в приведенном ниже методе, пока DisplayName, тип диспетчера и пользователи отображаются в сетке представления.
Я думал, что это будет так же просто, как скопировать режим просмотра и пропустить часть его списка запросов. Я не понимаю, почему компилятору это не нравится или как его исправить.
Оригинал OWF_ManagerRelationshipViewModel:
public class OWF_ManagerRelationshipViewModel
{
public OWF_ManagerRelationshipViewModel()
{
OWF_Onsites = new List<OWF_OnsitesViewModel>();
OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
Мой новый OWF_ManagersNextTwoMonthsViewModel:
public class OWF_ManagersNextTwoMonthsViewModel
{
public OWF_ManagersNextTwoMonthsViewModel()
{
//OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
OWF_Onsites = new List<OWF_OnsitesViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
//public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
Метод с красными каракулями:
public IEnumerable<OWF_ManagersNextTwoMonthsViewModel> GetAllExistingManagersByCurrentDate()
{
var managers = _relationshipRepo.GetAll();
var managerListFinal = new List<OWF_ManagersNextTwoMonthsViewModel>();
var year = DateTime.Now.Year;
var prevYear = DateTime.Now.AddYears(-1).Year;
foreach (var item in managers)
{
foreach (var onsite in item.OWF_Onsites.Where(x => x.OnsiteDate != null))
{
if (Convert.ToDateTime(onsite.OnsiteDate).Month == DateTime.Now.Month && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
onsite.TargetMonth == DateTime.Now.Month && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
onsite.TargetMonth == (DateTime.Now.Month + 1) && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
Convert.ToDateTime(onsite.OnsiteDate).Month == (DateTime.Now.Month + 1) && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
Convert.ToDateTime(onsite.OnsiteDate).Month == DateTime.Now.Month && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
onsite.TargetMonth == DateTime.Now.Month && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
onsite.TargetMonth == (DateTime.Now.Month + 1) && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
Convert.ToDateTime(onsite.OnsiteDate).Month == (DateTime.Now.Month + 1) && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear)
{
managerListFinal.Add(item);
}
}
}
//return Mapper.Map<IEnumerable<OWF_ManagerRelationship>, IEnumerable<OWF_ManagersNextTwoMonthsViewModel>>(managerListFinal);
return managerListFinal;
}
я был ленив, чтобы прочитать весь раздутый текст, поэтому я начал искать для questionmarks '?' В текст, чтобы прочитать полный фактический вопрос. Оказывается, нет другого вопроса, кроме заголовка. Я предлагаю вам перечитать текст и отредактировать вопрос. – grek40
Я сделал несколько (второстепенных) изменений для форматирования, чтобы сделать его немного легче читать, но, как сказал @ grek40, вы можете вернуться к этому вопросу и попытаться уточнить, о чем вы просите. – levelonehuman