OWF_ManagersNextTwoMonths
の返品タイプは、OWF_ManagerRelationshipViewModel
のコピーであり、その中のいくつかのコメントはコメントアウトされています。このメソッドは、戻り値の型としてOWF_ManagerRelationshipViewModel
を使用したオリジナルの修正バージョンです。目標は、プロキシクラスの1つを削除して、返されるレコードの数を減らすことです。このタイプがパラメータタイプに割り当てられないのはなぜですか?
return文の新しいOWF_ManagersNextTwoMonthsViewModel
〜automapper
に1つの違いがあります。
返品タイプのautomapper
には、managerListFinal.Add(item);
と(managerListFinal)
の商品の下に赤い波打ちがあります。
managerListFinal.Add(item);
の最初の赤い波線は言う:
は '引数の型Jupiter.Core.Model.OWF_ManagerRelationshipは、パラメータの型 Jupiter.Core.Model.OWF_ManagersNextTwoMonthsViewModelに代入 ではありません'。
(managerListFinal)
における第二赤い波線は言う:
は '引数の型Jupiter.Core.Model.OWF_ManagersNextTwoMonthsViewModel はタイプ Jupiter.Core.Model.OWF_ManagerRelationshipをパラメーターに割り当てません'。
私もautomapper
リターンの下managerListFinal
を返してみましたが、それはその上の最初の1のために行ったように同じことがautomapper
を使用していますというメッセージが出ます。
新しいOWF_ManagersNextTwoMonthsViewModel
は、これらのレコードを返さないように、ドキュメントリクエストリストを使用して作成されました。私はそれが元のOWF_ManagerRelationshipViewModel
と非常に似ているので動作すると思った。
私は正常に動作する場合は、私が必要なものを返すだろうと思うのですが、automapper
です。私はオンサイトの日付、ターゲットの日付、ユーザー名、マネージャの種類を取得しようとしています。ビュー名のグリッドにDisplayName、Manager Type、およびUsersが表示されている間、オンサイトおよびターゲットの日付が以下のメソッドで使用されます。
私はこれがviewmodelをコピーして、docリクエストリスト部分を排除するのと同じくらい簡単だと思いました。私はなぜコンパイラがこれを嫌いか、それを修正する方法を理解していない。
オリジナル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;
}
?'に良いことがあります完全な実際の質問を読むためにテキスト見出し以外に疑問がないことが分かります。あなたのテキストを再読して質問を編集することをお勧めします。 – grek40
少し読みやすくするために書式を少し編集しましたが、@ grek40は言ったように、この質問にもう一度触れ、あなたが求めていることを明確にしたいと思うかもしれません。 – levelonehuman