public OtherTypeNotificationViewModel(NotificationInfo info, DateTime insertTime, string message, bool isError) : base(insertTime) { _model = info; _message = message; _isError = isError; }
async Task<NotificationViewModel> WrapViewModel(NotificationInfo item, DateTime insertTime) { NotificationViewModel itemVM = null; if ((int)(item.Type & (NotificationFlag.Mension | NotificationFlag.Response | NotificationFlag.Followup | NotificationFlag.PlusOne)) > 0) itemVM = await NotificationWithActivityViewModel.Create((NotificationInfoWithActivity)item, insertTime); else if ((int)(item.Type & NotificationFlag.CircleIn) > 0) itemVM = new NotificationWithProfileViewModel((NotificationInfoWithActor)item, insertTime); return itemVM; }
NotificationViewModel WrapViewModel(NotificationInfo item, DateTime insertTime) { if (item is NotificationInfoWithActivity) { var itemInf = (NotificationInfoWithActivity)item; var itemVm = new NotificationWithActivityViewModel(itemInf, new Activity(itemInf.Activity), insertTime); itemVm.Activate(); return itemVm; } else if (item is NotificationInfoWithActor) return new NotificationWithProfileViewModel((NotificationInfoWithActor)item, insertTime); else return new OtherTypeNotificationViewModel(item, insertTime, "未対応通知。ブラウザで確認して下さい。", false); throw new ArgumentException("引数itemに適用できるVMが存在しません。"); }